@leaflow/sdk 0.0.0-dev.101.g01ce843

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +34 -0
  2. package/dist/account/v1/index.d.ts +54 -0
  3. package/dist/account/v1/index.js +5 -0
  4. package/dist/account/v1/schema.d.ts +1157 -0
  5. package/dist/account/v1/schema.js +5 -0
  6. package/dist/assistant/v1/index.d.ts +108 -0
  7. package/dist/assistant/v1/index.js +5 -0
  8. package/dist/assistant/v1/schema.d.ts +2840 -0
  9. package/dist/assistant/v1/schema.js +5 -0
  10. package/dist/billing/v1/index.d.ts +74 -0
  11. package/dist/billing/v1/index.js +5 -0
  12. package/dist/billing/v1/schema.d.ts +2445 -0
  13. package/dist/billing/v1/schema.js +5 -0
  14. package/dist/canopy/v1/index.d.ts +48 -0
  15. package/dist/canopy/v1/index.js +5 -0
  16. package/dist/canopy/v1/schema.d.ts +1100 -0
  17. package/dist/canopy/v1/schema.js +5 -0
  18. package/dist/compute/v1/index.d.ts +246 -0
  19. package/dist/compute/v1/index.js +5 -0
  20. package/dist/compute/v1/schema.d.ts +4924 -0
  21. package/dist/compute/v1/schema.js +5 -0
  22. package/dist/dns/v1/index.d.ts +42 -0
  23. package/dist/dns/v1/index.js +5 -0
  24. package/dist/dns/v1/schema.d.ts +883 -0
  25. package/dist/dns/v1/schema.js +5 -0
  26. package/dist/iam/v1/index.d.ts +84 -0
  27. package/dist/iam/v1/index.js +5 -0
  28. package/dist/iam/v1/schema.d.ts +1658 -0
  29. package/dist/iam/v1/schema.js +5 -0
  30. package/dist/index.d.ts +11 -0
  31. package/dist/index.js +6 -0
  32. package/dist/monitoring/v1/index.d.ts +176 -0
  33. package/dist/monitoring/v1/index.js +5 -0
  34. package/dist/monitoring/v1/schema.d.ts +4181 -0
  35. package/dist/monitoring/v1/schema.js +5 -0
  36. package/dist/notification/v1/index.d.ts +76 -0
  37. package/dist/notification/v1/index.js +5 -0
  38. package/dist/notification/v1/schema.d.ts +2038 -0
  39. package/dist/notification/v1/schema.js +5 -0
  40. package/dist/support/v1/index.d.ts +50 -0
  41. package/dist/support/v1/index.js +5 -0
  42. package/dist/support/v1/schema.d.ts +1078 -0
  43. package/dist/support/v1/schema.js +5 -0
  44. package/dist/tunnel/v1/index.d.ts +16 -0
  45. package/dist/tunnel/v1/index.js +5 -0
  46. package/dist/tunnel/v1/schema.d.ts +401 -0
  47. package/dist/tunnel/v1/schema.js +5 -0
  48. package/package.json +74 -0
@@ -0,0 +1,4924 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/api/v1/backups": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ /** List backups */
14
+ get: operations["list-backups"];
15
+ put?: never;
16
+ /**
17
+ * Create a backup
18
+ * @description A backup is a complete copy of a disk held in separate storage: **it remains restorable after the source disk is deleted, and can be restored to another availability zone in the same region.** A snapshot offers neither capability, as it resides in the same storage as the source disk and prevents that disk from being deleted while it exists.
19
+ *
20
+ * Disks attached to a running instance, including system disks, can be backed up.
21
+ *
22
+ * The duration depends on the amount of data. The backup is not complete when this endpoint returns; poll the retrieve endpoint.
23
+ */
24
+ post: operations["create-backup"];
25
+ delete?: never;
26
+ options?: never;
27
+ head?: never;
28
+ patch?: never;
29
+ trace?: never;
30
+ };
31
+ "/api/v1/backups/{backupId}": {
32
+ parameters: {
33
+ query?: never;
34
+ header?: never;
35
+ path?: never;
36
+ cookie?: never;
37
+ };
38
+ /**
39
+ * Retrieve a backup
40
+ * @description Queries the current state of the backup, which makes it slower but more accurate than the list endpoint. Use it to poll creation progress.
41
+ */
42
+ get: operations["get-backup"];
43
+ put?: never;
44
+ post?: never;
45
+ /**
46
+ * Delete a backup
47
+ * @description Independent of the source disk: deletion succeeds whether or not that disk still exists.
48
+ */
49
+ delete: operations["delete-backup"];
50
+ options?: never;
51
+ head?: never;
52
+ /** Rename a backup */
53
+ patch: operations["rename-backup"];
54
+ trace?: never;
55
+ };
56
+ "/api/v1/backups/{backupId}/restore": {
57
+ parameters: {
58
+ query?: never;
59
+ header?: never;
60
+ path?: never;
61
+ cookie?: never;
62
+ };
63
+ get?: never;
64
+ put?: never;
65
+ /**
66
+ * Restore from a backup
67
+ * @description Restores onto a **newly created** disk. The source disk is unaffected and need not still exist.
68
+ *
69
+ * The target disk type may belong to another availability zone of the same region, and its capacity must not be smaller than the backup. The disk cannot be attached until the restore completes; poll the disk retrieve endpoint.
70
+ */
71
+ post: operations["restore-backup"];
72
+ delete?: never;
73
+ options?: never;
74
+ head?: never;
75
+ patch?: never;
76
+ trace?: never;
77
+ };
78
+ "/api/v1/disk-types": {
79
+ parameters: {
80
+ query?: never;
81
+ header?: never;
82
+ path?: never;
83
+ cookie?: never;
84
+ };
85
+ /** List disk types on sale */
86
+ get: operations["list-disk-types"];
87
+ put?: never;
88
+ post?: never;
89
+ delete?: never;
90
+ options?: never;
91
+ head?: never;
92
+ patch?: never;
93
+ trace?: never;
94
+ };
95
+ "/api/v1/images": {
96
+ parameters: {
97
+ query?: never;
98
+ header?: never;
99
+ path?: never;
100
+ cookie?: never;
101
+ };
102
+ /**
103
+ * List images on sale
104
+ * @description An image whose `min_ram_mb` exceeds the memory of the selected instance type cannot boot. Filter the options accordingly.
105
+ */
106
+ get: operations["list-images"];
107
+ put?: never;
108
+ post?: never;
109
+ delete?: never;
110
+ options?: never;
111
+ head?: never;
112
+ patch?: never;
113
+ trace?: never;
114
+ };
115
+ "/api/v1/instance-types": {
116
+ parameters: {
117
+ query?: never;
118
+ header?: never;
119
+ path?: never;
120
+ cookie?: never;
121
+ };
122
+ /** List instance types on sale */
123
+ get: operations["list-instance-types"];
124
+ put?: never;
125
+ post?: never;
126
+ delete?: never;
127
+ options?: never;
128
+ head?: never;
129
+ patch?: never;
130
+ trace?: never;
131
+ };
132
+ "/api/v1/regions": {
133
+ parameters: {
134
+ query?: never;
135
+ header?: never;
136
+ path?: never;
137
+ cookie?: never;
138
+ };
139
+ /** List available regions */
140
+ get: operations["list-regions"];
141
+ put?: never;
142
+ post?: never;
143
+ delete?: never;
144
+ options?: never;
145
+ head?: never;
146
+ patch?: never;
147
+ trace?: never;
148
+ };
149
+ "/api/v1/regions/{regionCode}/availability-zones": {
150
+ parameters: {
151
+ query?: never;
152
+ header?: never;
153
+ path?: never;
154
+ cookie?: never;
155
+ };
156
+ /**
157
+ * List the availability zones of a region
158
+ * @description A disk and an instance must reside in the same availability zone to be attached. Confirm the zone before creating either.
159
+ */
160
+ get: operations["list-availability-zones"];
161
+ put?: never;
162
+ post?: never;
163
+ delete?: never;
164
+ options?: never;
165
+ head?: never;
166
+ patch?: never;
167
+ trace?: never;
168
+ };
169
+ "/api/v1/disks": {
170
+ parameters: {
171
+ query?: never;
172
+ header?: never;
173
+ path?: never;
174
+ cookie?: never;
175
+ };
176
+ /**
177
+ * List disks
178
+ * @description When both `region_code` and `availability_zone` are supplied, only disks attachable to an instance at that location are returned.
179
+ */
180
+ get: operations["list-disks"];
181
+ put?: never;
182
+ /**
183
+ * Create a disk
184
+ * @description The disk is created in the availability zone of the selected disk type, and an instance must reside in the same zone to attach it. Choosing the disk type therefore determines the zone.
185
+ */
186
+ post: operations["create-disk"];
187
+ delete?: never;
188
+ options?: never;
189
+ head?: never;
190
+ patch?: never;
191
+ trace?: never;
192
+ };
193
+ "/api/v1/disks/{diskId}": {
194
+ parameters: {
195
+ query?: never;
196
+ header?: never;
197
+ path?: never;
198
+ cookie?: never;
199
+ };
200
+ /**
201
+ * Retrieve a disk
202
+ * @description Queries the current state of the disk, which makes it slower but more accurate than the list endpoint.
203
+ */
204
+ get: operations["get-disk"];
205
+ put?: never;
206
+ post?: never;
207
+ /**
208
+ * Delete a disk
209
+ * @description Deletion is rejected while the disk is attached, or while snapshots created from it still exist.
210
+ */
211
+ delete: operations["delete-disk"];
212
+ options?: never;
213
+ head?: never;
214
+ /**
215
+ * Rename a disk
216
+ * @description Changes the name only. Use the resize endpoint for capacity; type and availability zone are immutable.
217
+ */
218
+ patch: operations["rename-disk"];
219
+ trace?: never;
220
+ };
221
+ "/api/v1/disks/{diskId}/resize": {
222
+ parameters: {
223
+ query?: never;
224
+ header?: never;
225
+ path?: never;
226
+ cookie?: never;
227
+ };
228
+ get?: never;
229
+ put?: never;
230
+ /**
231
+ * Resize a disk
232
+ * @description Capacity can only be increased; shrinking is not supported. Extend the file system inside the instance once the resize completes.
233
+ */
234
+ post: operations["resize-disk"];
235
+ delete?: never;
236
+ options?: never;
237
+ head?: never;
238
+ patch?: never;
239
+ trace?: never;
240
+ };
241
+ "/api/v1/disks/{diskId}/revert": {
242
+ parameters: {
243
+ query?: never;
244
+ header?: never;
245
+ path?: never;
246
+ cookie?: never;
247
+ };
248
+ get?: never;
249
+ put?: never;
250
+ /**
251
+ * Revert to a snapshot
252
+ * @description Restores the contents of the disk to the moment the snapshot was taken. **All data written after that moment is lost and cannot be recovered.**
253
+ *
254
+ * Three restrictions apply: only the most recent snapshot of the disk can be reverted to; the disk must be detached from its instance first; and a disk resized since the snapshot was taken cannot be reverted. To return to an earlier point in time, or to keep the existing disk, create a new disk from the snapshot instead.
255
+ *
256
+ * The revert is not complete when this endpoint returns; poll the retrieve endpoint.
257
+ */
258
+ post: operations["revert-disk"];
259
+ delete?: never;
260
+ options?: never;
261
+ head?: never;
262
+ patch?: never;
263
+ trace?: never;
264
+ };
265
+ "/api/v1/floating-ips": {
266
+ parameters: {
267
+ query?: never;
268
+ header?: never;
269
+ path?: never;
270
+ cookie?: never;
271
+ };
272
+ /** List floating IPs */
273
+ get: operations["list-floating-ips"];
274
+ put?: never;
275
+ /**
276
+ * Allocate a floating IP
277
+ * @description If the private network is not yet connected to the internet, connectivity is established as part of this call.
278
+ *
279
+ * IPv6 is not requested through this endpoint. IPv6 addresses are assigned to instances by the private network; enable IPv6 on that network instead.
280
+ */
281
+ post: operations["allocate-floating-ip"];
282
+ delete?: never;
283
+ options?: never;
284
+ head?: never;
285
+ patch?: never;
286
+ trace?: never;
287
+ };
288
+ "/api/v1/floating-ips/{floatingIpId}": {
289
+ parameters: {
290
+ query?: never;
291
+ header?: never;
292
+ path?: never;
293
+ cookie?: never;
294
+ };
295
+ /** Retrieve a floating IP */
296
+ get: operations["get-floating-ip"];
297
+ put?: never;
298
+ post?: never;
299
+ /**
300
+ * Release a floating IP
301
+ * @description A released address enters a cooldown period before it is allocated again, so that DNS records and allow-lists still pointing at it do not break immediately. **The same address therefore cannot be re-allocated** for some time after release. Proceed with care.
302
+ */
303
+ delete: operations["release-floating-ip"];
304
+ options?: never;
305
+ head?: never;
306
+ patch?: never;
307
+ trace?: never;
308
+ };
309
+ "/api/v1/floating-ips/{floatingIpId}/bandwidth": {
310
+ parameters: {
311
+ query?: never;
312
+ header?: never;
313
+ path?: never;
314
+ cookie?: never;
315
+ };
316
+ get?: never;
317
+ /**
318
+ * Set the bandwidth limit
319
+ * @description Limits both directions at once. Limiting egress alone does not prevent ingress traffic from saturating the uplink.
320
+ */
321
+ put: operations["set-floating-ip-bandwidth"];
322
+ post?: never;
323
+ delete?: never;
324
+ options?: never;
325
+ head?: never;
326
+ patch?: never;
327
+ trace?: never;
328
+ };
329
+ "/api/v1/floating-ips/{floatingIpId}/binding": {
330
+ parameters: {
331
+ query?: never;
332
+ header?: never;
333
+ path?: never;
334
+ cookie?: never;
335
+ };
336
+ get?: never;
337
+ /** Bind a floating IP to a network interface */
338
+ put: operations["bind-floating-ip"];
339
+ post?: never;
340
+ /**
341
+ * Unbind a floating IP
342
+ * @description The address remains held by the project and simply no longer points at any network interface.
343
+ */
344
+ delete: operations["unbind-floating-ip"];
345
+ options?: never;
346
+ head?: never;
347
+ patch?: never;
348
+ trace?: never;
349
+ };
350
+ "/api/v1/instances": {
351
+ parameters: {
352
+ query?: never;
353
+ header?: never;
354
+ path?: never;
355
+ cookie?: never;
356
+ };
357
+ /**
358
+ * List instances
359
+ * @description Every instance in the project, newest first. This endpoint does not query backend state; for the accurate state of one instance, use the retrieve endpoint.
360
+ */
361
+ get: operations["list-instances"];
362
+ put?: never;
363
+ /**
364
+ * Create instances
365
+ * @description **A password must be set in the request.** The request is rejected otherwise, since the resulting instance would be unreachable. The platform can generate one, in which case it is returned only in this response.
366
+ *
367
+ * `count` creates several instances at once, 20 at most. Names are numbered `-1`, `-2` automatically and all instances share one password. **`instances` in the response is always an array**, including for a single instance.
368
+ *
369
+ * Instances are created one by one in order. If the sequence stops part way through, because of a quota limit for example, **the instances already created are kept** and `failure` states why it stopped. A failure on the first instance is treated as a failure of the whole request and no instance is created.
370
+ *
371
+ * Exactly one source must be given: `image_id` for a platform image, `private_image_id` for a private image, or `boot_disk_id` to boot a disk you already have. Supplying more than one, or none, is rejected.
372
+ *
373
+ * `boot_disk_id` recovers an instance that can no longer be repaired from the inside. Snapshot its disk, restore that snapshot into a new disk, attach the new disk to another instance and repair it there, then create an instance from it. That disk is not deleted when the instance is released; it is detached and returned to you.
374
+ *
375
+ * Instances are created in the availability zone of the instance type. Disks to be attached later must reside in the same zone.
376
+ *
377
+ * Creation is not complete when this endpoint returns and `status` is `provisioning`. Poll GET to observe the outcome.
378
+ */
379
+ post: operations["launch-instance"];
380
+ delete?: never;
381
+ options?: never;
382
+ head?: never;
383
+ patch?: never;
384
+ trace?: never;
385
+ };
386
+ "/api/v1/instances/{instanceId}": {
387
+ parameters: {
388
+ query?: never;
389
+ header?: never;
390
+ path?: never;
391
+ cookie?: never;
392
+ };
393
+ /**
394
+ * Retrieve an instance
395
+ * @description Queries the current state of the instance, which makes it slower but more accurate than the list endpoint. Use it to poll creation progress.
396
+ */
397
+ get: operations["get-instance"];
398
+ put?: never;
399
+ post?: never;
400
+ /**
401
+ * Release an instance
402
+ * @description The system disk is deleted with the instance, and **snapshots created from the system disk are deleted with it**. Data disks are detached and kept, and their snapshots and backups are unaffected. The primary network interface is released with the instance.
403
+ *
404
+ * An instance being captured as a private image cannot be released. Wait for the capture to finish, or delete that image first.
405
+ */
406
+ delete: operations["delete-instance"];
407
+ options?: never;
408
+ head?: never;
409
+ /**
410
+ * Rename an instance
411
+ * @description Changes the display name only. The hostname inside the instance is unchanged; it equals the instance id.
412
+ */
413
+ patch: operations["rename-instance"];
414
+ trace?: never;
415
+ };
416
+ "/api/v1/instances/{instanceId}/commands": {
417
+ parameters: {
418
+ query?: never;
419
+ header?: never;
420
+ path?: never;
421
+ cookie?: never;
422
+ };
423
+ get?: never;
424
+ put?: never;
425
+ /**
426
+ * Run a command on an instance
427
+ * @description Runs one command over SSH and returns what it wrote. **This is not a shell.** There is no terminal, no standard input and no way to answer a prompt: a command that waits for input produces nothing and is killed at the timeout. Chain steps with `&&`, or write a script and run that.
428
+ *
429
+ * **A command that fails is still a 200.** Its failure is its own result, not this endpoint's: read `exit_code` for what it exited with and `stderr` for what it said, and decide from those. A `grep` that matches nothing exits 1 and is a perfectly successful call.
430
+ *
431
+ * The status therefore answers a different question — did the command run at all. A non-2xx means it did not, and nothing about the instance was changed by this request: it was suspended, not running or had no floating IP; or it refused the platform key; or the connection could not be opened. Retrying is meaningful in those cases and is not for a non-zero `exit_code`.
432
+ *
433
+ * Three conditions must hold; the instance is unreachable otherwise:
434
+ *
435
+ * - it is `running`
436
+ * - a floating IP is bound to it, since this endpoint connects over the public internet
437
+ * - its security group permits inbound TCP 22
438
+ *
439
+ * Authentication uses the key the platform attaches to every instance at creation, so nothing has to be set up first. The instance must have applied that key at first boot, which images without a full cloud-init do not do.
440
+ *
441
+ * **Do not pass secrets in the command.** Read them from a file on the instance instead: neither the command nor its output is a confidential channel.
442
+ *
443
+ * Each stream is capped at 1 MiB. Beyond that the rest is discarded and `truncated` is true.
444
+ */
445
+ post: operations["run-instance-command"];
446
+ delete?: never;
447
+ options?: never;
448
+ head?: never;
449
+ patch?: never;
450
+ trace?: never;
451
+ };
452
+ "/api/v1/instances/{instanceId}/console": {
453
+ parameters: {
454
+ query?: never;
455
+ header?: never;
456
+ path?: never;
457
+ cookie?: never;
458
+ };
459
+ get?: never;
460
+ put?: never;
461
+ /**
462
+ * Open a remote console
463
+ * @description Operates the instance directly from a browser and does not require the instance to be reachable over the network, which makes it usable when a network misconfiguration prevents login.
464
+ *
465
+ * The returned address is single-use and expires within minutes. **Do not cache it**; request a new one before each use.
466
+ */
467
+ post: operations["open-instance-console"];
468
+ delete?: never;
469
+ options?: never;
470
+ head?: never;
471
+ patch?: never;
472
+ trace?: never;
473
+ };
474
+ "/api/v1/instances/{instanceId}/console-output": {
475
+ parameters: {
476
+ query?: never;
477
+ header?: never;
478
+ path?: never;
479
+ cookie?: never;
480
+ };
481
+ /**
482
+ * Read the console output
483
+ * @description The raw text produced by the instance during boot and by the kernel. Consult it first when login fails or the remote console shows no output: it reveals where boot stopped, whether the system disk was mounted, and whether initialisation reported errors.
484
+ *
485
+ * Instances in an error state, and instances suspended by the platform, can be read as well.
486
+ */
487
+ get: operations["get-instance-console-output"];
488
+ put?: never;
489
+ post?: never;
490
+ delete?: never;
491
+ options?: never;
492
+ head?: never;
493
+ patch?: never;
494
+ trace?: never;
495
+ };
496
+ "/api/v1/instances/{instanceId}/labels": {
497
+ parameters: {
498
+ query?: never;
499
+ header?: never;
500
+ path?: never;
501
+ cookie?: never;
502
+ };
503
+ get?: never;
504
+ /**
505
+ * Replace an instance's labels
506
+ * @description Records what this instance is for, as key-value pairs. Nothing on the platform reads them.
507
+ *
508
+ * **The whole set is replaced**: whatever is absent from the request is removed.
509
+ *
510
+ * Do not put credentials here. Labels are visible to platform operators.
511
+ */
512
+ put: operations["set-instance-labels"];
513
+ post?: never;
514
+ delete?: never;
515
+ options?: never;
516
+ head?: never;
517
+ patch?: never;
518
+ trace?: never;
519
+ };
520
+ "/api/v1/instances/{instanceId}/notes": {
521
+ parameters: {
522
+ query?: never;
523
+ header?: never;
524
+ path?: never;
525
+ cookie?: never;
526
+ };
527
+ get?: never;
528
+ /**
529
+ * Replace an instance's note
530
+ * @description A free-text note about this instance — what it runs, and what to be careful about before touching it.
531
+ *
532
+ * **The whole note is replaced**; send an empty string to clear it.
533
+ *
534
+ * Do not put credentials here. The note is visible to platform operators.
535
+ */
536
+ put: operations["set-instance-notes"];
537
+ post?: never;
538
+ delete?: never;
539
+ options?: never;
540
+ head?: never;
541
+ patch?: never;
542
+ trace?: never;
543
+ };
544
+ "/api/v1/instances/{instanceId}/password": {
545
+ parameters: {
546
+ query?: never;
547
+ header?: never;
548
+ path?: never;
549
+ cookie?: never;
550
+ };
551
+ get?: never;
552
+ put?: never;
553
+ /**
554
+ * Reset the login password
555
+ * @description Changes the root password without a reboot. The instance must be running.
556
+ *
557
+ * **Not every image supports this.** Images whose `supports_password_reset` is false cannot, and a new password can then only be set by rebuilding the instance, which erases all data on the system disk.
558
+ *
559
+ * The request is also rejected when the image is marked as supported but the corresponding component has been removed or stopped inside the instance.
560
+ */
561
+ post: operations["reset-instance-password"];
562
+ delete?: never;
563
+ options?: never;
564
+ head?: never;
565
+ patch?: never;
566
+ trace?: never;
567
+ };
568
+ "/api/v1/instances/{instanceId}/reboot": {
569
+ parameters: {
570
+ query?: never;
571
+ header?: never;
572
+ path?: never;
573
+ cookie?: never;
574
+ };
575
+ get?: never;
576
+ put?: never;
577
+ /**
578
+ * Reboot an instance
579
+ * @description A reboot defaults to soft, in which the operating system shuts down normally before starting again.
580
+ *
581
+ * A soft reboot has no effect once the system is unresponsive. Set `force` to reboot forcibly: a forced reboot does not wait for the operating system to shut down, so **unwritten data is lost**.
582
+ *
583
+ * A forced reboot is accepted while the instance is already `rebooting`, which is the way out of a soft reboot the instance never carried out. Every other endpoint refuses an instance in a transient state, and a second soft reboot is refused as well.
584
+ *
585
+ * An instance suspended by the platform must be unsuspended first.
586
+ *
587
+ * This endpoint returns immediately and the `status` it returns is the transient `rebooting`. Poll the instance until it settles at `running`.
588
+ */
589
+ post: operations["reboot-instance"];
590
+ delete?: never;
591
+ options?: never;
592
+ head?: never;
593
+ patch?: never;
594
+ trace?: never;
595
+ };
596
+ "/api/v1/instances/{instanceId}/rebuild": {
597
+ parameters: {
598
+ query?: never;
599
+ header?: never;
600
+ path?: never;
601
+ cookie?: never;
602
+ };
603
+ get?: never;
604
+ put?: never;
605
+ /**
606
+ * Rebuild an instance
607
+ * @description **All data on the system disk is erased and cannot be recovered.** Attached data disks are unaffected.
608
+ */
609
+ post: operations["rebuild-instance"];
610
+ delete?: never;
611
+ options?: never;
612
+ head?: never;
613
+ patch?: never;
614
+ trace?: never;
615
+ };
616
+ "/api/v1/instances/{instanceId}/resize": {
617
+ parameters: {
618
+ query?: never;
619
+ header?: never;
620
+ path?: never;
621
+ cookie?: never;
622
+ };
623
+ get?: never;
624
+ put?: never;
625
+ /**
626
+ * Resize an instance
627
+ * @description Only an instance type in the same region and availability zone can be selected, as attached disks cannot follow the instance elsewhere.
628
+ *
629
+ * A resize has two steps. This endpoint restarts the instance on the new size and the status becomes `resize_verifying`, at which point the confirm or revert endpoint **must** be called. Until confirmation the target type is recorded in `pending_instance_type_id`, while `instance_type_id` remains the type in effect and billed.
630
+ *
631
+ * **Both sizes hold resources while the resize is unconfirmed.** Confirm promptly once the status becomes `resize_verifying`.
632
+ */
633
+ post: operations["resize-instance"];
634
+ delete?: never;
635
+ options?: never;
636
+ head?: never;
637
+ patch?: never;
638
+ trace?: never;
639
+ };
640
+ "/api/v1/instances/{instanceId}/resize/confirm": {
641
+ parameters: {
642
+ query?: never;
643
+ header?: never;
644
+ path?: never;
645
+ cookie?: never;
646
+ };
647
+ get?: never;
648
+ put?: never;
649
+ /**
650
+ * Confirm a resize
651
+ * @description Releases the resources held by the previous size. `pending_instance_type_id` becomes the type in effect and is billed from then on.
652
+ */
653
+ post: operations["confirm-instance-resize"];
654
+ delete?: never;
655
+ options?: never;
656
+ head?: never;
657
+ patch?: never;
658
+ trace?: never;
659
+ };
660
+ "/api/v1/instances/{instanceId}/resize/revert": {
661
+ parameters: {
662
+ query?: never;
663
+ header?: never;
664
+ path?: never;
665
+ cookie?: never;
666
+ };
667
+ get?: never;
668
+ put?: never;
669
+ /**
670
+ * Revert a resize
671
+ * @description The instance returns to its previous size, `pending_instance_type_id` is discarded, and billing is unaffected by the resize.
672
+ */
673
+ post: operations["revert-instance-resize"];
674
+ delete?: never;
675
+ options?: never;
676
+ head?: never;
677
+ patch?: never;
678
+ trace?: never;
679
+ };
680
+ "/api/v1/instances/{instanceId}/start": {
681
+ parameters: {
682
+ query?: never;
683
+ header?: never;
684
+ path?: never;
685
+ cookie?: never;
686
+ };
687
+ get?: never;
688
+ put?: never;
689
+ /**
690
+ * Start an instance
691
+ * @description An instance suspended by the platform must be unsuspended first.
692
+ *
693
+ * This endpoint returns immediately and the `status` it returns is the transient `starting`. Poll the instance until it settles at `running`.
694
+ */
695
+ post: operations["start-instance"];
696
+ delete?: never;
697
+ options?: never;
698
+ head?: never;
699
+ patch?: never;
700
+ trace?: never;
701
+ };
702
+ "/api/v1/instances/{instanceId}/stop": {
703
+ parameters: {
704
+ query?: never;
705
+ header?: never;
706
+ path?: never;
707
+ cookie?: never;
708
+ };
709
+ get?: never;
710
+ put?: never;
711
+ /**
712
+ * Stop an instance
713
+ * @description The operating system is asked to shut down and is powered off once it does, or once it stops responding for long enough. Stopping does not release the instance: it keeps its disks, its addresses and its name, and starts again where it left off.
714
+ *
715
+ * An instance suspended by the platform must be unsuspended first.
716
+ *
717
+ * This endpoint returns immediately and the `status` it returns is the transient `stopping`. Poll the instance until it settles at `stopped`.
718
+ */
719
+ post: operations["stop-instance"];
720
+ delete?: never;
721
+ options?: never;
722
+ head?: never;
723
+ patch?: never;
724
+ trace?: never;
725
+ };
726
+ "/api/v1/instances/{instanceId}/disks": {
727
+ parameters: {
728
+ query?: never;
729
+ header?: never;
730
+ path?: never;
731
+ cookie?: never;
732
+ };
733
+ /** List the disks attached to an instance */
734
+ get: operations["list-instance-disks"];
735
+ put?: never;
736
+ /**
737
+ * Attach a disk
738
+ * @description The disk must be in the same region and availability zone as the instance. Partition it and mount the file system inside the instance once it is attached.
739
+ */
740
+ post: operations["attach-disk"];
741
+ delete?: never;
742
+ options?: never;
743
+ head?: never;
744
+ patch?: never;
745
+ trace?: never;
746
+ };
747
+ "/api/v1/instances/{instanceId}/disks/{diskId}": {
748
+ parameters: {
749
+ query?: never;
750
+ header?: never;
751
+ path?: never;
752
+ cookie?: never;
753
+ };
754
+ get?: never;
755
+ put?: never;
756
+ post?: never;
757
+ /**
758
+ * Detach a disk
759
+ * @description Unmount the device inside the instance before calling this endpoint. Forcibly detaching a file system that is being written to corrupts data.
760
+ */
761
+ delete: operations["detach-disk"];
762
+ options?: never;
763
+ head?: never;
764
+ patch?: never;
765
+ trace?: never;
766
+ };
767
+ "/api/v1/instances/{instanceId}/floating-ips": {
768
+ parameters: {
769
+ query?: never;
770
+ header?: never;
771
+ path?: never;
772
+ cookie?: never;
773
+ };
774
+ get?: never;
775
+ put?: never;
776
+ /**
777
+ * Bind a floating IP to an instance
778
+ * @description The floating IP is bound to the primary network interface of the instance.
779
+ */
780
+ post: operations["attach-instance-floating-ip"];
781
+ delete?: never;
782
+ options?: never;
783
+ head?: never;
784
+ patch?: never;
785
+ trace?: never;
786
+ };
787
+ "/api/v1/instances/{instanceId}/floating-ips/{floatingIpId}": {
788
+ parameters: {
789
+ query?: never;
790
+ header?: never;
791
+ path?: never;
792
+ cookie?: never;
793
+ };
794
+ get?: never;
795
+ put?: never;
796
+ post?: never;
797
+ /** Unbind the floating IP of an instance */
798
+ delete: operations["detach-instance-floating-ip"];
799
+ options?: never;
800
+ head?: never;
801
+ patch?: never;
802
+ trace?: never;
803
+ };
804
+ "/api/v1/instances/{instanceId}/ports": {
805
+ parameters: {
806
+ query?: never;
807
+ header?: never;
808
+ path?: never;
809
+ cookie?: never;
810
+ };
811
+ /** List the network interfaces of an instance */
812
+ get: operations["list-instance-ports"];
813
+ put?: never;
814
+ /** Attach a network interface */
815
+ post: operations["attach-port"];
816
+ delete?: never;
817
+ options?: never;
818
+ head?: never;
819
+ patch?: never;
820
+ trace?: never;
821
+ };
822
+ "/api/v1/instances/{instanceId}/ports/{portId}": {
823
+ parameters: {
824
+ query?: never;
825
+ header?: never;
826
+ path?: never;
827
+ cookie?: never;
828
+ };
829
+ get?: never;
830
+ put?: never;
831
+ post?: never;
832
+ /**
833
+ * Detach a network interface
834
+ * @description The primary network interface cannot be detached; the instance would lose its network address.
835
+ */
836
+ delete: operations["detach-port"];
837
+ options?: never;
838
+ head?: never;
839
+ patch?: never;
840
+ trace?: never;
841
+ };
842
+ "/api/v1/operation-logs": {
843
+ parameters: {
844
+ query?: never;
845
+ header?: never;
846
+ path?: never;
847
+ cookie?: never;
848
+ };
849
+ /**
850
+ * List the operation log of the project
851
+ * @description Records every write operation in the project: who performed it, when, on what, and whether it succeeded. Read operations are not recorded.
852
+ *
853
+ * **Operations performed by the platform are included, but the individual operator is not disclosed** and `by_platform` is true. Suspension for non-payment and bans for abuse are examples: the time at which an instance was stopped by the platform is needed, whereas the operator is internal information.
854
+ *
855
+ * Fields such as passwords are replaced with a placeholder as the record is written and never appear in `payload`.
856
+ */
857
+ get: operations["list-operation-logs"];
858
+ put?: never;
859
+ post?: never;
860
+ delete?: never;
861
+ options?: never;
862
+ head?: never;
863
+ patch?: never;
864
+ trace?: never;
865
+ };
866
+ "/api/v1/ports": {
867
+ parameters: {
868
+ query?: never;
869
+ header?: never;
870
+ path?: never;
871
+ cookie?: never;
872
+ };
873
+ /** List network interfaces */
874
+ get: operations["list-ports"];
875
+ put?: never;
876
+ /**
877
+ * Create a network interface
878
+ * @description The new network interface is not attached to any instance. Primary network interfaces are not created here; they are created with the instance.
879
+ */
880
+ post: operations["create-port"];
881
+ delete?: never;
882
+ options?: never;
883
+ head?: never;
884
+ patch?: never;
885
+ trace?: never;
886
+ };
887
+ "/api/v1/ports/{portId}": {
888
+ parameters: {
889
+ query?: never;
890
+ header?: never;
891
+ path?: never;
892
+ cookie?: never;
893
+ };
894
+ get?: never;
895
+ put?: never;
896
+ post?: never;
897
+ /**
898
+ * Delete a network interface
899
+ * @description The primary network interface cannot be deleted on its own, as it is released with the instance. A network interface still attached to an instance cannot be deleted either.
900
+ */
901
+ delete: operations["delete-port"];
902
+ options?: never;
903
+ head?: never;
904
+ patch?: never;
905
+ trace?: never;
906
+ };
907
+ "/api/v1/private-images": {
908
+ parameters: {
909
+ query?: never;
910
+ header?: never;
911
+ path?: never;
912
+ cookie?: never;
913
+ };
914
+ /** List private images */
915
+ get: operations["list-private-images"];
916
+ put?: never;
917
+ /**
918
+ * Capture an instance as a private image
919
+ * @description Captured from the system disk of the instance; data disks are not included. The resulting image can create instances and rebuild them, and remains usable after the source instance is released.
920
+ *
921
+ * **The image reflects the moment the capture started. Later changes to the instance are not included.**
922
+ *
923
+ * The capture has two phases. Poll the retrieve endpoint:
924
+ *
925
+ * - `provisioning` — the system disk is being read, usually for tens of seconds. The instance remains usable during this phase, although stopping it first is recommended for consistency.
926
+ * - `uploading` — no longer tied to the system disk. **The instance may be started at this point; there is no need to wait for the capture to finish.** The duration of this phase is proportional to the size of the system disk, roughly 3 minutes for 20 GB.
927
+ *
928
+ * The file system of a running instance may be captured mid-write, in which case the image is equivalent to the disk contents after a power loss. Where consistency matters, stop the instance before starting the capture and start it again once the status becomes `uploading`.
929
+ *
930
+ * The instance can be started, stopped and used normally during the capture, but cannot be released.
931
+ */
932
+ post: operations["create-private-image"];
933
+ delete?: never;
934
+ options?: never;
935
+ head?: never;
936
+ patch?: never;
937
+ trace?: never;
938
+ };
939
+ "/api/v1/private-images/{privateImageId}": {
940
+ parameters: {
941
+ query?: never;
942
+ header?: never;
943
+ path?: never;
944
+ cookie?: never;
945
+ };
946
+ /**
947
+ * Retrieve a private image
948
+ * @description Use this endpoint to poll capture progress. When `status` is `error`, `failure` states the reason.
949
+ */
950
+ get: operations["get-private-image"];
951
+ put?: never;
952
+ post?: never;
953
+ /**
954
+ * Delete a private image
955
+ * @description Deletion is rejected while instances created from the image still exist, as they need it in order to be rebuilt.
956
+ *
957
+ * An image whose capture has not finished can be deleted; the capture is aborted.
958
+ */
959
+ delete: operations["delete-private-image"];
960
+ options?: never;
961
+ head?: never;
962
+ /** Rename a private image */
963
+ patch: operations["rename-private-image"];
964
+ trace?: never;
965
+ };
966
+ "/api/v1/private-networks": {
967
+ parameters: {
968
+ query?: never;
969
+ header?: never;
970
+ path?: never;
971
+ cookie?: never;
972
+ };
973
+ /** List private networks */
974
+ get: operations["list-private-networks"];
975
+ put?: never;
976
+ /**
977
+ * Create a private network
978
+ * @description Creates a network, a router and a default security group in one call. The default security group denies all inbound traffic and permits all outbound traffic.
979
+ */
980
+ post: operations["create-private-network"];
981
+ delete?: never;
982
+ options?: never;
983
+ head?: never;
984
+ patch?: never;
985
+ trace?: never;
986
+ };
987
+ "/api/v1/private-networks/{privateNetworkId}": {
988
+ parameters: {
989
+ query?: never;
990
+ header?: never;
991
+ path?: never;
992
+ cookie?: never;
993
+ };
994
+ /** Retrieve a private network */
995
+ get: operations["get-private-network"];
996
+ put?: never;
997
+ post?: never;
998
+ /**
999
+ * Release a private network
1000
+ * @description Release is rejected while instances or network interfaces remain in the network. IPv6, the router and the security groups are released with it.
1001
+ */
1002
+ delete: operations["delete-private-network"];
1003
+ options?: never;
1004
+ head?: never;
1005
+ /**
1006
+ * Rename a private network
1007
+ * @description Changes the display name only. The CIDR, the routes and the internet gateway are immutable.
1008
+ */
1009
+ patch: operations["rename-private-network"];
1010
+ trace?: never;
1011
+ };
1012
+ "/api/v1/private-networks/{privateNetworkId}/ipv6": {
1013
+ parameters: {
1014
+ query?: never;
1015
+ header?: never;
1016
+ path?: never;
1017
+ cookie?: never;
1018
+ };
1019
+ /** Retrieve the IPv6 configuration of a private network */
1020
+ get: operations["get-private-network-ipv6"];
1021
+ put?: never;
1022
+ /**
1023
+ * Enable IPv6 on a private network
1024
+ * @description Allocates an IPv6 prefix to the private network. Addresses are assigned to instances by the network itself, can be neither requested nor released individually, and consume no public IPv4 address.
1025
+ *
1026
+ * If the private network is not yet connected to the internet, connectivity is established as part of this call.
1027
+ */
1028
+ post: operations["enable-private-network-ipv6"];
1029
+ /**
1030
+ * Disable IPv6 on a private network
1031
+ * @description A released prefix is not re-allocated immediately.
1032
+ */
1033
+ delete: operations["disable-private-network-ipv6"];
1034
+ options?: never;
1035
+ head?: never;
1036
+ patch?: never;
1037
+ trace?: never;
1038
+ };
1039
+ "/api/v1/private-networks/{privateNetworkId}/routes": {
1040
+ parameters: {
1041
+ query?: never;
1042
+ header?: never;
1043
+ path?: never;
1044
+ cookie?: never;
1045
+ };
1046
+ /** List static routes */
1047
+ get: operations["list-routes"];
1048
+ put?: never;
1049
+ /**
1050
+ * Create a static route
1051
+ * @description Three forms that would sever connectivity are rejected: a destination of `0.0.0.0/0`, which overrides the default route and takes every floating IP offline immediately; a destination equal to the CIDR of a subnet, which overrides its directly connected route; and a next hop equal to the gateway of a subnet, which points back at the router itself.
1052
+ */
1053
+ post: operations["create-route"];
1054
+ delete?: never;
1055
+ options?: never;
1056
+ head?: never;
1057
+ patch?: never;
1058
+ trace?: never;
1059
+ };
1060
+ "/api/v1/private-networks/{privateNetworkId}/routes/{routeId}": {
1061
+ parameters: {
1062
+ query?: never;
1063
+ header?: never;
1064
+ path?: never;
1065
+ cookie?: never;
1066
+ };
1067
+ get?: never;
1068
+ put?: never;
1069
+ post?: never;
1070
+ /** Delete a static route */
1071
+ delete: operations["delete-route"];
1072
+ options?: never;
1073
+ head?: never;
1074
+ patch?: never;
1075
+ trace?: never;
1076
+ };
1077
+ "/api/v1/private-networks/{privateNetworkId}/subnets": {
1078
+ parameters: {
1079
+ query?: never;
1080
+ header?: never;
1081
+ path?: never;
1082
+ cookie?: never;
1083
+ };
1084
+ /**
1085
+ * List subnets
1086
+ * @description IPv6 subnets are included, with `ip_version` 6. They are created when IPv6 is enabled and cannot be deleted individually.
1087
+ */
1088
+ get: operations["list-subnets"];
1089
+ put?: never;
1090
+ /** Create a subnet */
1091
+ post: operations["create-subnet"];
1092
+ delete?: never;
1093
+ options?: never;
1094
+ head?: never;
1095
+ patch?: never;
1096
+ trace?: never;
1097
+ };
1098
+ "/api/v1/private-networks/{privateNetworkId}/subnets/next-free-cidr": {
1099
+ parameters: {
1100
+ query?: never;
1101
+ header?: never;
1102
+ path?: never;
1103
+ cookie?: never;
1104
+ };
1105
+ /**
1106
+ * Suggest the next free CIDR
1107
+ * @description The returned value is a suggestion and is validated again when the subnet is created. It exists to avoid errors when computing the next free CIDR by hand.
1108
+ */
1109
+ get: operations["suggest-subnet-cidr"];
1110
+ put?: never;
1111
+ post?: never;
1112
+ delete?: never;
1113
+ options?: never;
1114
+ head?: never;
1115
+ patch?: never;
1116
+ trace?: never;
1117
+ };
1118
+ "/api/v1/private-networks/{privateNetworkId}/subnets/{subnetId}": {
1119
+ parameters: {
1120
+ query?: never;
1121
+ header?: never;
1122
+ path?: never;
1123
+ cookie?: never;
1124
+ };
1125
+ get?: never;
1126
+ put?: never;
1127
+ post?: never;
1128
+ /**
1129
+ * Delete a subnet
1130
+ * @description Deletion is rejected while network interfaces remain in the subnet, or while a static route has a next hop inside its CIDR.
1131
+ */
1132
+ delete: operations["delete-subnet"];
1133
+ options?: never;
1134
+ head?: never;
1135
+ patch?: never;
1136
+ trace?: never;
1137
+ };
1138
+ "/api/v1/security-groups": {
1139
+ parameters: {
1140
+ query?: never;
1141
+ header?: never;
1142
+ path?: never;
1143
+ cookie?: never;
1144
+ };
1145
+ /** List security groups */
1146
+ get: operations["list-security-groups"];
1147
+ put?: never;
1148
+ /**
1149
+ * Create a security group
1150
+ * @description A new security group carries one rule, permitting ICMP fragmentation-needed messages (type 3, code 4). Without it path MTU discovery fails, which presents as connections that establish and then stall on large packets.
1151
+ */
1152
+ post: operations["create-security-group"];
1153
+ delete?: never;
1154
+ options?: never;
1155
+ head?: never;
1156
+ patch?: never;
1157
+ trace?: never;
1158
+ };
1159
+ "/api/v1/security-groups/{securityGroupId}": {
1160
+ parameters: {
1161
+ query?: never;
1162
+ header?: never;
1163
+ path?: never;
1164
+ cookie?: never;
1165
+ };
1166
+ /** Retrieve a security group */
1167
+ get: operations["get-security-group"];
1168
+ put?: never;
1169
+ post?: never;
1170
+ /**
1171
+ * Delete a security group
1172
+ * @description The default security group cannot be deleted, as it is released with the private network. A security group still referenced by a network interface cannot be deleted either.
1173
+ */
1174
+ delete: operations["delete-security-group"];
1175
+ options?: never;
1176
+ head?: never;
1177
+ /**
1178
+ * Rename a security group
1179
+ * @description Changes the name only. Use the rule endpoints to change rules.
1180
+ */
1181
+ patch: operations["rename-security-group"];
1182
+ trace?: never;
1183
+ };
1184
+ "/api/v1/security-groups/{securityGroupId}/rules": {
1185
+ parameters: {
1186
+ query?: never;
1187
+ header?: never;
1188
+ path?: never;
1189
+ cookie?: never;
1190
+ };
1191
+ /** List security group rules */
1192
+ get: operations["list-security-group-rules"];
1193
+ put?: never;
1194
+ /**
1195
+ * Create a security group rule
1196
+ * @description Adding an identical rule twice is rejected. For that comparison `0.0.0.0/0`, `::/0` and an omitted value are treated as equivalent.
1197
+ */
1198
+ post: operations["create-security-group-rule"];
1199
+ delete?: never;
1200
+ options?: never;
1201
+ head?: never;
1202
+ patch?: never;
1203
+ trace?: never;
1204
+ };
1205
+ "/api/v1/security-groups/{securityGroupId}/rules/{ruleId}": {
1206
+ parameters: {
1207
+ query?: never;
1208
+ header?: never;
1209
+ path?: never;
1210
+ cookie?: never;
1211
+ };
1212
+ get?: never;
1213
+ put?: never;
1214
+ post?: never;
1215
+ /** Delete a security group rule */
1216
+ delete: operations["delete-security-group-rule"];
1217
+ options?: never;
1218
+ head?: never;
1219
+ patch?: never;
1220
+ trace?: never;
1221
+ };
1222
+ "/api/v1/snapshots": {
1223
+ parameters: {
1224
+ query?: never;
1225
+ header?: never;
1226
+ path?: never;
1227
+ cookie?: never;
1228
+ };
1229
+ /** List snapshots */
1230
+ get: operations["list-snapshots"];
1231
+ put?: never;
1232
+ /**
1233
+ * Create a snapshot
1234
+ * @description Disks attached to a running instance can be snapshotted. A snapshot records the state of the block device at a point in time and may be inconsistent at the file-system level, so run `sync` inside the instance first where the data matters.
1235
+ *
1236
+ * **A snapshot of a system disk cannot be used to revert that system disk**: reverting requires the disk to be detached, and a system disk cannot be detached. It can be used to create a new data disk. To preserve and restore an entire system, use a private image; for a copy that crosses availability zones and survives deletion of the disk, use a backup.
1237
+ */
1238
+ post: operations["create-snapshot"];
1239
+ delete?: never;
1240
+ options?: never;
1241
+ head?: never;
1242
+ patch?: never;
1243
+ trace?: never;
1244
+ };
1245
+ "/api/v1/snapshots/{snapshotId}": {
1246
+ parameters: {
1247
+ query?: never;
1248
+ header?: never;
1249
+ path?: never;
1250
+ cookie?: never;
1251
+ };
1252
+ /** Retrieve a snapshot */
1253
+ get: operations["get-snapshot"];
1254
+ put?: never;
1255
+ post?: never;
1256
+ /** Delete a snapshot */
1257
+ delete: operations["delete-snapshot"];
1258
+ options?: never;
1259
+ head?: never;
1260
+ /** Rename a snapshot */
1261
+ patch: operations["rename-snapshot"];
1262
+ trace?: never;
1263
+ };
1264
+ }
1265
+ export type webhooks = Record<string, never>;
1266
+ export interface components {
1267
+ schemas: {
1268
+ Error: {
1269
+ code?: string;
1270
+ message: string;
1271
+ meta?: {
1272
+ [key: string]: unknown;
1273
+ };
1274
+ /** Format: int64 */
1275
+ status: number;
1276
+ };
1277
+ BackupResource: {
1278
+ /** @description Availability zone of the source disk. A restore may target another zone in the same region */
1279
+ availability_zone: string;
1280
+ /** Format: date-time */
1281
+ created_at: string;
1282
+ /** Format: uuid */
1283
+ id: string;
1284
+ name: string;
1285
+ region_code: string;
1286
+ /**
1287
+ * Format: int64
1288
+ * @description Capacity of the source disk when the backup was created. A restored disk cannot be smaller than this
1289
+ */
1290
+ size_gb: number;
1291
+ /**
1292
+ * Format: uuid
1293
+ * @description The disk this backup was taken from. The backup remains usable after that disk is deleted
1294
+ */
1295
+ source_disk_id: string;
1296
+ /** @enum {string} */
1297
+ status: "provisioning" | "available" | "restoring" | "deleting" | "error";
1298
+ };
1299
+ BackupListResponseBody: {
1300
+ items: components["schemas"]["BackupResource"][] | null;
1301
+ };
1302
+ CreateBackupRequestBody: {
1303
+ /** Format: uuid */
1304
+ disk_id: string;
1305
+ name: string;
1306
+ };
1307
+ RenameBackupRequestBody: {
1308
+ name: string;
1309
+ };
1310
+ RestoreBackupRequestBody: {
1311
+ /**
1312
+ * Format: uuid
1313
+ * @description May differ from the availability zone of the source disk, but must be in the same region
1314
+ */
1315
+ disk_type_id: string;
1316
+ name: string;
1317
+ /**
1318
+ * Format: int64
1319
+ * @description Matches the size of the backup when omitted. When given, it must not be smaller than the backup
1320
+ */
1321
+ size_gb?: number;
1322
+ };
1323
+ DiskResource: {
1324
+ attached_instance_id: string | null;
1325
+ /** @description Availability zone the disk actually resides in. An instance must be in the same zone to attach it */
1326
+ availability_zone: string;
1327
+ /** Format: date-time */
1328
+ created_at: string;
1329
+ /** @description Device name assigned by the system, as seen inside the instance */
1330
+ device: string | null;
1331
+ /** Format: uuid */
1332
+ disk_type_id: string;
1333
+ /** Format: uuid */
1334
+ id: string;
1335
+ /** @description A system disk is released with its instance and can be neither detached nor deleted individually */
1336
+ is_system: boolean;
1337
+ name: string;
1338
+ region_code: string;
1339
+ /** Format: int64 */
1340
+ size_gb: number;
1341
+ /** @enum {string} */
1342
+ status: "provisioning" | "available" | "attaching" | "in_use" | "detaching" | "resizing" | "reverting" | "restoring" | "releasing" | "deleting" | "error";
1343
+ };
1344
+ DiskTypeResource: {
1345
+ availability_zone_code: string;
1346
+ /** Format: uuid */
1347
+ id: string;
1348
+ iops_display: string;
1349
+ /** Format: int64 */
1350
+ max_size_gb: number;
1351
+ /** @enum {string} */
1352
+ media: "ssd" | "hdd" | "nvme";
1353
+ /** Format: int64 */
1354
+ min_size_gb: number;
1355
+ name: string;
1356
+ region_code: string;
1357
+ /** Format: int64 */
1358
+ step_gb: number;
1359
+ throughput_display: string;
1360
+ };
1361
+ DiskTypeListResponseBody: {
1362
+ items: components["schemas"]["DiskTypeResource"][] | null;
1363
+ };
1364
+ ImageResource: {
1365
+ architecture: string;
1366
+ /** Format: uuid */
1367
+ id: string;
1368
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
1369
+ login_username: string;
1370
+ /** Format: int64 */
1371
+ min_disk_gb: number;
1372
+ /** Format: int64 */
1373
+ min_ram_mb: number;
1374
+ name: string;
1375
+ os_family: string;
1376
+ os_version: string;
1377
+ region_code: string;
1378
+ /** @description False means a new password can only be set by rebuilding an instance created from this image */
1379
+ supports_password_reset: boolean;
1380
+ };
1381
+ ImageListResponseBody: {
1382
+ items: components["schemas"]["ImageResource"][] | null;
1383
+ };
1384
+ PrepaidPrice: {
1385
+ /**
1386
+ * @description An ISO 8601 duration (P1M, P1Y). A duration rather than a number of months: months are not
1387
+ * the same length, and storing a number leaves whoever reads it to decide what it means.
1388
+ */
1389
+ term: string;
1390
+ /**
1391
+ * @description A decimal string, not a float. Money that survives a round trip through binary floating
1392
+ * point is money that stops adding up.
1393
+ */
1394
+ amount: string;
1395
+ currency: string;
1396
+ };
1397
+ InstanceTypeResource: {
1398
+ /** @description Availability zone of this instance type. A disk must be in the same zone to be attached */
1399
+ availability_zone_code: string;
1400
+ /** Format: uuid */
1401
+ id: string;
1402
+ /** Format: int64 */
1403
+ max_bandwidth_mbps: number;
1404
+ /** Format: int64 */
1405
+ max_floating_ips: number;
1406
+ /** Format: int64 */
1407
+ max_ports: number;
1408
+ name: string;
1409
+ /** Format: int64 */
1410
+ ram_mb: number;
1411
+ region_code: string;
1412
+ /** Format: int64 */
1413
+ vcpus: number;
1414
+ /**
1415
+ * @description Whether this type can be ordered right now.
1416
+ *
1417
+ * It reflects a limit set by operations, not what the cloud can physically schedule — raising
1418
+ * the limit does not create capacity that is not there, and a type that is not sold out can
1419
+ * still fail to start if the zone is full.
1420
+ *
1421
+ * It is advisory: it is read when the list is built, and the last one can be taken between
1422
+ * that read and the order. The order is what actually refuses.
1423
+ */
1424
+ sold_out: boolean;
1425
+ /**
1426
+ * Format: int64
1427
+ * @description How many more may be created. Absent when this type is not limited at all.
1428
+ *
1429
+ * Absent is not zero and not "unknown": a type with no limit simply has no number to show.
1430
+ * Reporting it as a number would need a sentinel, and any sentinel eventually gets compared
1431
+ * against a real count.
1432
+ */
1433
+ remaining?: number;
1434
+ /**
1435
+ * @description What buying this type outright costs, per term. Empty means this type is only sold by the
1436
+ * hour.
1437
+ *
1438
+ * The hourly price is not here and is not missing: it is made of finer parts than the type
1439
+ * (cores and memory are priced separately, and the type itself does not appear in the rate
1440
+ * card at all), so there is no single number to show. A term price is one number because a
1441
+ * term is one purchase.
1442
+ *
1443
+ * Advisory, like `sold_out`: it is read when the list is built. The order is what fixes the
1444
+ * price, and it refuses rather than falling back to hourly if the term is not sold.
1445
+ */
1446
+ prepaid_prices?: components["schemas"]["PrepaidPrice"][];
1447
+ };
1448
+ InstanceTypeListResponseBody: {
1449
+ items: components["schemas"]["InstanceTypeResource"][] | null;
1450
+ };
1451
+ RegionResource: {
1452
+ code: string;
1453
+ country_code: string;
1454
+ name: string;
1455
+ };
1456
+ RegionListResponseBody: {
1457
+ items: components["schemas"]["RegionResource"][] | null;
1458
+ };
1459
+ ZoneResource: {
1460
+ code: string;
1461
+ name: string;
1462
+ };
1463
+ ZoneListResponseBody: {
1464
+ items: components["schemas"]["ZoneResource"][] | null;
1465
+ };
1466
+ DiskListResponseBody: {
1467
+ items: components["schemas"]["DiskResource"][] | null;
1468
+ };
1469
+ CreateDiskRequestBody: {
1470
+ /** Format: uuid */
1471
+ disk_type_id: string;
1472
+ name: string;
1473
+ /** Format: int64 */
1474
+ size_gb: number;
1475
+ /**
1476
+ * Format: uuid
1477
+ * @description Restore from this snapshot. When given, the capacity need only be no smaller than the snapshot
1478
+ */
1479
+ snapshot_id?: string;
1480
+ };
1481
+ RenameDiskRequestBody: {
1482
+ name: string;
1483
+ };
1484
+ ResizeDiskRequestBody: {
1485
+ /**
1486
+ * Format: int64
1487
+ * @description Must be larger than the current capacity
1488
+ */
1489
+ size_gb: number;
1490
+ };
1491
+ RevertDiskRequestBody: {
1492
+ /**
1493
+ * Format: uuid
1494
+ * @description Must be the most recent snapshot of the disk
1495
+ */
1496
+ snapshot_id: string;
1497
+ };
1498
+ FloatingIPResource: {
1499
+ address: string;
1500
+ attached_fixed_ip: string | null;
1501
+ attached_port_id: string | null;
1502
+ /** Format: int64 */
1503
+ bandwidth_mbps: number | null;
1504
+ /** Format: date-time */
1505
+ created_at: string;
1506
+ /** Format: date-time */
1507
+ detached_at: string | null;
1508
+ /** Format: uuid */
1509
+ id: string;
1510
+ region_code: string;
1511
+ /**
1512
+ * @description `idle` means the address is not bound to a network interface
1513
+ * @enum {string}
1514
+ */
1515
+ status: "idle" | "bound";
1516
+ };
1517
+ FloatingIPListResponseBody: {
1518
+ items: components["schemas"]["FloatingIPResource"][] | null;
1519
+ };
1520
+ AllocateFloatingIPRequestBody: {
1521
+ /** @description The address to allocate. Allocated by the platform when omitted */
1522
+ address?: string;
1523
+ /** Format: uuid */
1524
+ private_network_id: string;
1525
+ };
1526
+ SetBandwidthRequestBody: {
1527
+ /**
1528
+ * Format: int64
1529
+ * @description Applied to both directions
1530
+ */
1531
+ mbps: number;
1532
+ };
1533
+ BindFloatingIPRequestBody: {
1534
+ /** Format: uuid */
1535
+ port_id: string;
1536
+ };
1537
+ InstanceResource: {
1538
+ availability_zone: string;
1539
+ /** Format: date-time */
1540
+ created_at: string;
1541
+ /** @description Hostname inside the instance; equals the instance id */
1542
+ hostname: string;
1543
+ /** Format: uuid */
1544
+ id: string;
1545
+ /**
1546
+ * Format: uuid
1547
+ * @description Non-empty when the instance was created from a disk you already had, instead of from an image
1548
+ */
1549
+ boot_disk_id: string | null;
1550
+ /**
1551
+ * Format: uuid
1552
+ * @description Non-empty when the instance was created from a platform image
1553
+ */
1554
+ image_id: string | null;
1555
+ /**
1556
+ * Format: uuid
1557
+ * @description The instance type in effect, and the basis for billing
1558
+ */
1559
+ instance_type_id: string;
1560
+ /** @description IPv6 address of the primary network interface. Assigned automatically once IPv6 is enabled on the private network */
1561
+ ipv6_address: string | null;
1562
+ /** @description Your own classification of this instance, as key-value pairs. Empty when never set */
1563
+ labels: {
1564
+ [key: string]: string;
1565
+ };
1566
+ /** @description The account to log in as over SSH. The password set at creation belongs to this account */
1567
+ login_username: string;
1568
+ name: string;
1569
+ /** @description A free-text note about this instance. Empty when never set */
1570
+ notes: string;
1571
+ /**
1572
+ * Format: uuid
1573
+ * @description Non-empty while a resize awaits confirmation. Confirming puts this type into effect, reverting discards it
1574
+ */
1575
+ pending_instance_type_id: string | null;
1576
+ /**
1577
+ * Format: uuid
1578
+ * @description Non-empty when the instance was created from a private image
1579
+ */
1580
+ private_image_id: string | null;
1581
+ /** @description Private address of the instance */
1582
+ private_ip: string | null;
1583
+ /** @description Private network of the primary network interface */
1584
+ private_network_id: string | null;
1585
+ /** @description Floating IPv4 addresses bound to the primary network interface; an empty array when none are bound */
1586
+ public_ips: string[] | null;
1587
+ region_code: string;
1588
+ /**
1589
+ * @description Only `running` and `stopped` accept commands. Every other value means the instance is changing, and start, stop, reboot, resize, rebuild and password reset are all rejected.
1590
+ *
1591
+ * `transitioning` is the fallback for a change that falls into none of the categories above. It does not indicate an error; keep polling.
1592
+ *
1593
+ * `resize_verifying` is not transient: the instance is running on the new size and stays there until the resize is confirmed or reverted, with both sizes billed in the meantime.
1594
+ * @enum {string}
1595
+ */
1596
+ status: "provisioning" | "running" | "stopped" | "starting" | "stopping" | "rebooting" | "transitioning" | "resizing" | "resize_verifying" | "error" | "deleting" | "suspended";
1597
+ /** @description Subnet of the primary network interface */
1598
+ subnet_id: string | null;
1599
+ /**
1600
+ * Format: date-time
1601
+ * @description Non-empty once the platform has suspended the instance, which must be lifted before any operation
1602
+ */
1603
+ suspended_at: string | null;
1604
+ /** Format: date-time */
1605
+ updated_at: string;
1606
+ };
1607
+ InstanceListResponseBody: {
1608
+ items: components["schemas"]["InstanceResource"][] | null;
1609
+ };
1610
+ LaunchInstanceRequestBody: {
1611
+ /**
1612
+ * Format: int64
1613
+ * @description Number of instances to create; 1 when omitted. Names are numbered automatically for several
1614
+ */
1615
+ count?: number;
1616
+ /** @description Have the platform generate a random password, returned only in this response */
1617
+ generate_password?: boolean;
1618
+ /**
1619
+ * Format: uuid
1620
+ * @description Boot a disk you already have instead of installing an image. The disk must be available, unattached, and in the same availability zone as the instance type. Exactly one of this, `image_id` and `private_image_id`
1621
+ */
1622
+ boot_disk_id?: string;
1623
+ /**
1624
+ * Format: uuid
1625
+ * @description A platform image. Exactly one of this, `private_image_id` and `boot_disk_id`
1626
+ */
1627
+ image_id?: string;
1628
+ /** Format: uuid */
1629
+ instance_type_id: string;
1630
+ /** @description The account the disk lets you log in as. Required with `boot_disk_id`, and rejected without it since an image states its own */
1631
+ login_username?: string;
1632
+ name: string;
1633
+ /** @description The password to set, on the login account and on root. Only the SSH public keys of the project are used when omitted */
1634
+ password?: string;
1635
+ /**
1636
+ * Format: uuid
1637
+ * @description Use an existing network interface, which may already have a floating IP bound. Exactly one of this and `subnet_id`; only one instance can be created when it is used
1638
+ */
1639
+ port_id?: string;
1640
+ /**
1641
+ * Format: uuid
1642
+ * @description A private image. Exactly one of this, `image_id` and `boot_disk_id`
1643
+ */
1644
+ private_image_id?: string;
1645
+ /**
1646
+ * @description Buy the instance outright for this long, as an ISO 8601 duration (P1M, P1Y). Billed by the
1647
+ * hour when omitted.
1648
+ *
1649
+ * The money is taken from the balance when the order is placed, at the price the catalogue
1650
+ * reported for this type and term. If that term is not on sale for this type the request is
1651
+ * refused — it is never quietly sold by the hour instead, because the customer who asked for
1652
+ * a year would find out only from the bill.
1653
+ *
1654
+ * The system disk is bought for the same term: it is the same purchase, and one order cannot
1655
+ * be half outright and half hourly. A term is therefore refused together with `boot_disk_id`,
1656
+ * where the disk already exists and is already billed its own way.
1657
+ *
1658
+ * When the term runs out the instance is stopped, not deleted, and starts again once it is
1659
+ * renewed. Renewal lives in the billing console, across every product, because what a
1660
+ * customer needs to see is everything expiring this month rather than one product at a time.
1661
+ */
1662
+ term?: string;
1663
+ /**
1664
+ * Format: int64
1665
+ * @description System disk capacity in GB. Chosen automatically from the requirement of the image and the platform minimum when omitted. Ignored with `boot_disk_id`, since that disk already has its capacity
1666
+ */
1667
+ root_disk_gb?: number;
1668
+ /** @description Required when a primary network interface is created, at least one; the default security group is not applied automatically. Ignored together with `port_id`, as the security groups of that interface were fixed when it was created */
1669
+ security_group_ids?: string[] | null;
1670
+ /**
1671
+ * Format: uuid
1672
+ * @description Create the primary network interface in this subnet. Exactly one of this and `port_id`
1673
+ */
1674
+ subnet_id?: string;
1675
+ };
1676
+ LaunchInstanceResponseBody: {
1677
+ /** @description Non-empty when only some of the instances were created, stating why the sequence stopped */
1678
+ failure: string | null;
1679
+ /** @description Returned in request order; an array even for a single instance */
1680
+ instances: components["schemas"]["InstanceResource"][] | null;
1681
+ /** @description Returned only in this response; store it immediately. All instances of a batch share it */
1682
+ password: string;
1683
+ };
1684
+ SetInstanceLabelsRequestBody: {
1685
+ /** @description The complete set of labels. Whatever is absent here is removed; send an empty object to clear them all. A key may not contain a colon, whitespace or control characters */
1686
+ labels: {
1687
+ [key: string]: string;
1688
+ };
1689
+ };
1690
+ SetInstanceNotesRequestBody: {
1691
+ /** @description The complete note. Send an empty string to clear it */
1692
+ notes: string;
1693
+ };
1694
+ RenameInstanceRequestBody: {
1695
+ name: string;
1696
+ };
1697
+ RebootInstanceRequestBody: {
1698
+ /** @description A forced reboot does not wait for the operating system to shut down and unwritten data is lost; use it when the system is unresponsive. False when omitted */
1699
+ force?: boolean;
1700
+ };
1701
+ RunCommandRequestBody: {
1702
+ /** @description Run by the login shell, so pipes, redirection and `&&` work. It cannot read standard input */
1703
+ command: string;
1704
+ /**
1705
+ * Format: int64
1706
+ * @description Kill the command after this long. 60 when omitted
1707
+ */
1708
+ timeout_seconds?: number;
1709
+ };
1710
+ CommandResultResponseBody: {
1711
+ /**
1712
+ * Format: int64
1713
+ * @description What the command exited with, 0 being success. Any other value is the command's own verdict and still arrives as a 200. Null when it was killed rather than exiting on its own, which includes the timeout — null is the absence of a verdict, not a successful one
1714
+ */
1715
+ exit_code: number | null;
1716
+ stderr: string;
1717
+ stdout: string;
1718
+ /** @description True when the command was still running at the timeout and was killed */
1719
+ timed_out: boolean;
1720
+ /** @description True when either stream hit the 1 MiB cap and the rest was discarded */
1721
+ truncated: boolean;
1722
+ };
1723
+ ConsoleResponseBody: {
1724
+ /** @description Connection address of the remote console; single-use and expires within minutes */
1725
+ console_url: string;
1726
+ };
1727
+ ConsoleOutputResponseBody: {
1728
+ /** @description Raw text of the console output, in the same line order as inside the instance */
1729
+ output: string;
1730
+ };
1731
+ ResetPasswordRequestBody: {
1732
+ /** @description Have the platform generate a random password, returned only in this response */
1733
+ generate_password?: boolean;
1734
+ /** @description New root password. Exactly one of this and `generate_password` */
1735
+ password?: string;
1736
+ };
1737
+ ResetPasswordResponseBody: {
1738
+ /** @description The password generated by the platform, returned only in this response. Empty when the password was supplied in the request */
1739
+ password: string;
1740
+ };
1741
+ RebuildInstanceRequestBody: {
1742
+ generate_password?: boolean;
1743
+ /**
1744
+ * Format: uuid
1745
+ * @description A platform image. Exactly one of this and `private_image_id`
1746
+ */
1747
+ image_id?: string;
1748
+ password?: string;
1749
+ /**
1750
+ * Format: uuid
1751
+ * @description A private image. Exactly one of this and `image_id`
1752
+ */
1753
+ private_image_id?: string;
1754
+ };
1755
+ RebuildInstanceResponseBody: {
1756
+ instance: components["schemas"]["InstanceResource"];
1757
+ /** @description Returned only in this response; store it immediately */
1758
+ password: string;
1759
+ };
1760
+ ResizeInstanceRequestBody: {
1761
+ /**
1762
+ * Format: uuid
1763
+ * @description Must be in the same region and availability zone as the current instance type
1764
+ */
1765
+ instance_type_id: string;
1766
+ };
1767
+ AttachDiskRequestBody: {
1768
+ /** Format: uuid */
1769
+ disk_id: string;
1770
+ };
1771
+ AttachFloatingIPRequestBody: {
1772
+ /** Format: uuid */
1773
+ floating_ip_id: string;
1774
+ };
1775
+ PortResource: {
1776
+ attached_instance_id: string | null;
1777
+ /** Format: uuid */
1778
+ id: string;
1779
+ ipv6_address: string | null;
1780
+ /** @description A primary network interface is created and released with its instance and cannot be detached individually */
1781
+ is_primary: boolean;
1782
+ mac: string | null;
1783
+ name: string;
1784
+ private_ip: string | null;
1785
+ /** Format: uuid */
1786
+ private_network_id: string;
1787
+ /** @description Floating IPv4 addresses bound to this network interface; an empty array when none are bound */
1788
+ public_ips: string[] | null;
1789
+ /** Format: uuid */
1790
+ subnet_id: string;
1791
+ };
1792
+ PortListResponseBody: {
1793
+ items: components["schemas"]["PortResource"][] | null;
1794
+ };
1795
+ AttachPortRequestBody: {
1796
+ /** Format: uuid */
1797
+ port_id: string;
1798
+ };
1799
+ OperationLogResource: {
1800
+ /** @description Name of the operation; matches the operation id of the endpoint */
1801
+ action: string;
1802
+ /** @description The user who initiated the operation. Empty when the platform performed it */
1803
+ actor: string | null;
1804
+ /**
1805
+ * @description The name this user went by at the time of the operation, recorded alongside the operation itself. It is not refreshed afterwards: the record states who acted then, and a name read today is a statement about a different moment.
1806
+ *
1807
+ * Null on entries recorded before this field existed, and on entries performed by the platform. An empty string means the account had no name recorded.
1808
+ */
1809
+ actor_name: string | null;
1810
+ /** @description True when the operation was performed by the platform */
1811
+ by_platform: boolean;
1812
+ /** Format: date-time */
1813
+ created_at: string;
1814
+ /** @description Brief reason for the failure */
1815
+ failure: string | null;
1816
+ /** Format: uuid */
1817
+ id: string;
1818
+ /** @description Path and query parameters of the request. Fields such as passwords are redacted */
1819
+ payload: {
1820
+ [key: string]: unknown;
1821
+ };
1822
+ region_code: string | null;
1823
+ /** @description Empty for create operations: the id of the new resource is in the response, not in the request path */
1824
+ subject_id: string;
1825
+ subject_type: string;
1826
+ succeeded: boolean;
1827
+ };
1828
+ OperationLogListResponseBody: {
1829
+ items: components["schemas"]["OperationLogResource"][] | null;
1830
+ /** Format: int64 */
1831
+ total: number;
1832
+ };
1833
+ CreatePortRequestBody: {
1834
+ name?: string;
1835
+ /** @description The private address to assign. Allocated automatically when omitted */
1836
+ private_ip?: string;
1837
+ /** @description At least one, and all must belong to the same private network */
1838
+ security_group_ids: string[] | null;
1839
+ /** Format: uuid */
1840
+ subnet_id: string;
1841
+ };
1842
+ PrivateImageResource: {
1843
+ architecture: string;
1844
+ /** Format: date-time */
1845
+ created_at: string;
1846
+ /** @description Reason the capture failed; non-empty only when `status` is `error` */
1847
+ failure: string | null;
1848
+ /** Format: uuid */
1849
+ id: string;
1850
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
1851
+ login_username: string;
1852
+ /**
1853
+ * Format: int64
1854
+ * @description The system disk of an instance created from this image cannot be smaller than this
1855
+ */
1856
+ min_disk_gb: number;
1857
+ /**
1858
+ * Format: int64
1859
+ * @description The instance type of an instance created from this image must have at least this much memory
1860
+ */
1861
+ min_ram_mb: number;
1862
+ name: string;
1863
+ os_family: string;
1864
+ os_version: string;
1865
+ /** @description An image can only be used in the region that holds it */
1866
+ region_code: string;
1867
+ /**
1868
+ * Format: int64
1869
+ * @description Storage occupied by the image; 0 until the capture completes
1870
+ */
1871
+ size_bytes: number;
1872
+ /**
1873
+ * Format: uuid
1874
+ * @description The instance this image was captured from. The image remains usable after that instance is released
1875
+ */
1876
+ source_instance_id: string | null;
1877
+ /** @enum {string} */
1878
+ status: "provisioning" | "uploading" | "available" | "deleting" | "error";
1879
+ /** @description False means a new password can only be set by rebuilding an instance created from this image */
1880
+ supports_password_reset: boolean;
1881
+ };
1882
+ PrivateImageListResponseBody: {
1883
+ items: components["schemas"]["PrivateImageResource"][] | null;
1884
+ };
1885
+ CreatePrivateImageRequestBody: {
1886
+ /**
1887
+ * Format: uuid
1888
+ * @description Captured from the system disk of this instance; data disks are not included
1889
+ */
1890
+ instance_id: string;
1891
+ name: string;
1892
+ };
1893
+ RenamePrivateImageRequestBody: {
1894
+ name: string;
1895
+ };
1896
+ PrivateNetworkResource: {
1897
+ cidr: string;
1898
+ /** Format: date-time */
1899
+ created_at: string;
1900
+ has_internet_gateway: boolean;
1901
+ /** Format: uuid */
1902
+ id: string;
1903
+ name: string;
1904
+ region_code: string;
1905
+ /** @enum {string} */
1906
+ status: "available" | "error";
1907
+ /** Format: date-time */
1908
+ updated_at: string;
1909
+ };
1910
+ PrivateNetworkListResponseBody: {
1911
+ items: components["schemas"]["PrivateNetworkResource"][] | null;
1912
+ };
1913
+ CreatePrivateNetworkRequestBody: {
1914
+ /** @description Must be an RFC 1918 private CIDR with a prefix length between /8 and /24, for example `10.0.0.0/16` */
1915
+ cidr: string;
1916
+ name: string;
1917
+ region_code: string;
1918
+ };
1919
+ RenamePrivateNetworkRequestBody: {
1920
+ name: string;
1921
+ };
1922
+ IPv6ResponseBody: {
1923
+ /** @description The allocated /64 prefix; empty while IPv6 is disabled */
1924
+ cidr: string;
1925
+ enabled: boolean;
1926
+ /**
1927
+ * @description `active` means IPv6 is fully available
1928
+ * @enum {string}
1929
+ */
1930
+ status: "pending" | "active" | "draining";
1931
+ };
1932
+ RouteResource: {
1933
+ /** Format: date-time */
1934
+ created_at: string;
1935
+ description: string;
1936
+ destination: string;
1937
+ /** Format: uuid */
1938
+ id: string;
1939
+ nexthop: string;
1940
+ };
1941
+ RouteListResponseBody: {
1942
+ items: components["schemas"]["RouteResource"][] | null;
1943
+ };
1944
+ CreateRouteRequestBody: {
1945
+ description?: string;
1946
+ /** @description Destination CIDR. It cannot be `0.0.0.0/0`, nor the CIDR of a subnet of this network */
1947
+ destination: string;
1948
+ /** @description Private address of an instance; must fall inside a subnet of this private network */
1949
+ nexthop: string;
1950
+ };
1951
+ SubnetResource: {
1952
+ cidr: string;
1953
+ gateway_ip: string | null;
1954
+ /** Format: uuid */
1955
+ id: string;
1956
+ /**
1957
+ * Format: int64
1958
+ * @enum {integer}
1959
+ */
1960
+ ip_version: 4 | 6;
1961
+ name: string;
1962
+ /** Format: uuid */
1963
+ private_network_id: string;
1964
+ };
1965
+ SubnetListResponseBody: {
1966
+ items: components["schemas"]["SubnetResource"][] | null;
1967
+ };
1968
+ CreateSubnetRequestBody: {
1969
+ /** @description Must fall inside the CIDR of the private network and must not overlap an existing subnet */
1970
+ cidr: string;
1971
+ name: string;
1972
+ };
1973
+ NextFreeCidrResponseBody: {
1974
+ /** @description Empty when the private network has no free CIDR left for that prefix length */
1975
+ cidr: string;
1976
+ };
1977
+ SecurityGroupResource: {
1978
+ /** Format: date-time */
1979
+ created_at: string;
1980
+ description: string;
1981
+ /** Format: uuid */
1982
+ id: string;
1983
+ /** @description The default security group is released with its private network and cannot be deleted individually */
1984
+ is_default: boolean;
1985
+ name: string;
1986
+ /** Format: uuid */
1987
+ private_network_id: string;
1988
+ };
1989
+ SecurityGroupListResponseBody: {
1990
+ items: components["schemas"]["SecurityGroupResource"][] | null;
1991
+ };
1992
+ CreateSecurityGroupRequestBody: {
1993
+ description?: string;
1994
+ name: string;
1995
+ /** Format: uuid */
1996
+ private_network_id: string;
1997
+ };
1998
+ SecurityRuleResource: {
1999
+ /** Format: date-time */
2000
+ created_at: string;
2001
+ description: string;
2002
+ /** @enum {string} */
2003
+ direction: "ingress" | "egress";
2004
+ /** @enum {string} */
2005
+ ethertype: "IPv4" | "IPv6";
2006
+ /** Format: uuid */
2007
+ id: string;
2008
+ /**
2009
+ * Format: int64
2010
+ * @description Denotes the ICMP code rather than a port when the protocol is ICMP
2011
+ */
2012
+ port_range_max: number | null;
2013
+ /**
2014
+ * Format: int64
2015
+ * @description Denotes the ICMP type rather than a port when the protocol is ICMP
2016
+ */
2017
+ port_range_min: number | null;
2018
+ protocol: string | null;
2019
+ remote_ip_prefix: string | null;
2020
+ };
2021
+ SecurityRuleListResponseBody: {
2022
+ items: components["schemas"]["SecurityRuleResource"][] | null;
2023
+ };
2024
+ CreateSecurityRuleRequestBody: {
2025
+ description?: string;
2026
+ /** @enum {string} */
2027
+ direction: "ingress" | "egress";
2028
+ /** @enum {string} */
2029
+ ethertype: "IPv4" | "IPv6";
2030
+ /**
2031
+ * Format: int64
2032
+ * @description Denotes the ICMP code (0–255) rather than a port when the protocol is ICMP
2033
+ */
2034
+ port_range_max?: number | null;
2035
+ /**
2036
+ * Format: int64
2037
+ * @description Denotes the ICMP type (0–255) rather than a port when the protocol is ICMP
2038
+ */
2039
+ port_range_min?: number | null;
2040
+ /** @description For example `tcp`, `udp`, `icmp` or `ipv6-icmp`. All protocols when omitted */
2041
+ protocol?: string;
2042
+ /** @description Equivalent to `0.0.0.0/0` or `::/0` when omitted */
2043
+ remote_ip_prefix?: string;
2044
+ };
2045
+ SnapshotResource: {
2046
+ /** @description A disk restored from this snapshot must reside in this availability zone */
2047
+ availability_zone: string;
2048
+ /** Format: date-time */
2049
+ created_at: string;
2050
+ /** Format: uuid */
2051
+ disk_id: string;
2052
+ /** Format: uuid */
2053
+ id: string;
2054
+ name: string;
2055
+ region_code: string;
2056
+ /**
2057
+ * Format: int64
2058
+ * @description Capacity of the source disk when the snapshot was created. A disk restored from it cannot be smaller
2059
+ */
2060
+ size_gb: number;
2061
+ /** @enum {string} */
2062
+ status: "provisioning" | "available" | "restoring" | "deleting" | "error";
2063
+ };
2064
+ SnapshotListResponseBody: {
2065
+ items: components["schemas"]["SnapshotResource"][] | null;
2066
+ };
2067
+ CreateSnapshotRequestBody: {
2068
+ /** Format: uuid */
2069
+ disk_id: string;
2070
+ name: string;
2071
+ };
2072
+ RenameSecurityGroupRequestBody: {
2073
+ name: string;
2074
+ };
2075
+ RenameSnapshotRequestBody: {
2076
+ name: string;
2077
+ };
2078
+ };
2079
+ responses: never;
2080
+ parameters: never;
2081
+ requestBodies: never;
2082
+ headers: never;
2083
+ pathItems: never;
2084
+ }
2085
+ export type $defs = Record<string, never>;
2086
+ export interface operations {
2087
+ "list-backups": {
2088
+ parameters: {
2089
+ query?: {
2090
+ /** @description Return only the backups of this disk */
2091
+ disk_id?: string;
2092
+ };
2093
+ header?: never;
2094
+ path?: never;
2095
+ cookie?: never;
2096
+ };
2097
+ requestBody?: never;
2098
+ responses: {
2099
+ /** @description OK */
2100
+ 200: {
2101
+ headers: {
2102
+ [name: string]: unknown;
2103
+ };
2104
+ content: {
2105
+ "application/json": components["schemas"]["BackupListResponseBody"];
2106
+ };
2107
+ };
2108
+ /** @description Error */
2109
+ default: {
2110
+ headers: {
2111
+ [name: string]: unknown;
2112
+ };
2113
+ content: {
2114
+ "application/json": components["schemas"]["Error"];
2115
+ };
2116
+ };
2117
+ };
2118
+ };
2119
+ "create-backup": {
2120
+ parameters: {
2121
+ query?: never;
2122
+ header?: never;
2123
+ path?: never;
2124
+ cookie?: never;
2125
+ };
2126
+ requestBody: {
2127
+ content: {
2128
+ "application/json": components["schemas"]["CreateBackupRequestBody"];
2129
+ };
2130
+ };
2131
+ responses: {
2132
+ /** @description Created */
2133
+ 201: {
2134
+ headers: {
2135
+ [name: string]: unknown;
2136
+ };
2137
+ content: {
2138
+ "application/json": components["schemas"]["BackupResource"];
2139
+ };
2140
+ };
2141
+ /** @description Error */
2142
+ default: {
2143
+ headers: {
2144
+ [name: string]: unknown;
2145
+ };
2146
+ content: {
2147
+ "application/json": components["schemas"]["Error"];
2148
+ };
2149
+ };
2150
+ };
2151
+ };
2152
+ "get-backup": {
2153
+ parameters: {
2154
+ query?: never;
2155
+ header?: never;
2156
+ path: {
2157
+ backupId: string;
2158
+ };
2159
+ cookie?: never;
2160
+ };
2161
+ requestBody?: never;
2162
+ responses: {
2163
+ /** @description OK */
2164
+ 200: {
2165
+ headers: {
2166
+ [name: string]: unknown;
2167
+ };
2168
+ content: {
2169
+ "application/json": components["schemas"]["BackupResource"];
2170
+ };
2171
+ };
2172
+ /** @description Error */
2173
+ default: {
2174
+ headers: {
2175
+ [name: string]: unknown;
2176
+ };
2177
+ content: {
2178
+ "application/json": components["schemas"]["Error"];
2179
+ };
2180
+ };
2181
+ };
2182
+ };
2183
+ "delete-backup": {
2184
+ parameters: {
2185
+ query?: never;
2186
+ header?: never;
2187
+ path: {
2188
+ backupId: string;
2189
+ };
2190
+ cookie?: never;
2191
+ };
2192
+ requestBody?: never;
2193
+ responses: {
2194
+ /** @description No Content */
2195
+ 204: {
2196
+ headers: {
2197
+ [name: string]: unknown;
2198
+ };
2199
+ content?: never;
2200
+ };
2201
+ /** @description Error */
2202
+ default: {
2203
+ headers: {
2204
+ [name: string]: unknown;
2205
+ };
2206
+ content: {
2207
+ "application/json": components["schemas"]["Error"];
2208
+ };
2209
+ };
2210
+ };
2211
+ };
2212
+ "rename-backup": {
2213
+ parameters: {
2214
+ query?: never;
2215
+ header?: never;
2216
+ path: {
2217
+ backupId: string;
2218
+ };
2219
+ cookie?: never;
2220
+ };
2221
+ requestBody: {
2222
+ content: {
2223
+ "application/json": components["schemas"]["RenameBackupRequestBody"];
2224
+ };
2225
+ };
2226
+ responses: {
2227
+ /** @description OK */
2228
+ 200: {
2229
+ headers: {
2230
+ [name: string]: unknown;
2231
+ };
2232
+ content: {
2233
+ "application/json": components["schemas"]["BackupResource"];
2234
+ };
2235
+ };
2236
+ /** @description Error */
2237
+ default: {
2238
+ headers: {
2239
+ [name: string]: unknown;
2240
+ };
2241
+ content: {
2242
+ "application/json": components["schemas"]["Error"];
2243
+ };
2244
+ };
2245
+ };
2246
+ };
2247
+ "restore-backup": {
2248
+ parameters: {
2249
+ query?: never;
2250
+ header?: never;
2251
+ path: {
2252
+ backupId: string;
2253
+ };
2254
+ cookie?: never;
2255
+ };
2256
+ requestBody: {
2257
+ content: {
2258
+ "application/json": components["schemas"]["RestoreBackupRequestBody"];
2259
+ };
2260
+ };
2261
+ responses: {
2262
+ /** @description Created */
2263
+ 201: {
2264
+ headers: {
2265
+ [name: string]: unknown;
2266
+ };
2267
+ content: {
2268
+ "application/json": components["schemas"]["DiskResource"];
2269
+ };
2270
+ };
2271
+ /** @description Error */
2272
+ default: {
2273
+ headers: {
2274
+ [name: string]: unknown;
2275
+ };
2276
+ content: {
2277
+ "application/json": components["schemas"]["Error"];
2278
+ };
2279
+ };
2280
+ };
2281
+ };
2282
+ "list-disk-types": {
2283
+ parameters: {
2284
+ query: {
2285
+ region_code: string;
2286
+ };
2287
+ header?: never;
2288
+ path?: never;
2289
+ cookie?: never;
2290
+ };
2291
+ requestBody?: never;
2292
+ responses: {
2293
+ /** @description OK */
2294
+ 200: {
2295
+ headers: {
2296
+ [name: string]: unknown;
2297
+ };
2298
+ content: {
2299
+ "application/json": components["schemas"]["DiskTypeListResponseBody"];
2300
+ };
2301
+ };
2302
+ /** @description Error */
2303
+ default: {
2304
+ headers: {
2305
+ [name: string]: unknown;
2306
+ };
2307
+ content: {
2308
+ "application/json": components["schemas"]["Error"];
2309
+ };
2310
+ };
2311
+ };
2312
+ };
2313
+ "list-images": {
2314
+ parameters: {
2315
+ query: {
2316
+ region_code: string;
2317
+ };
2318
+ header?: never;
2319
+ path?: never;
2320
+ cookie?: never;
2321
+ };
2322
+ requestBody?: never;
2323
+ responses: {
2324
+ /** @description OK */
2325
+ 200: {
2326
+ headers: {
2327
+ [name: string]: unknown;
2328
+ };
2329
+ content: {
2330
+ "application/json": components["schemas"]["ImageListResponseBody"];
2331
+ };
2332
+ };
2333
+ /** @description Error */
2334
+ default: {
2335
+ headers: {
2336
+ [name: string]: unknown;
2337
+ };
2338
+ content: {
2339
+ "application/json": components["schemas"]["Error"];
2340
+ };
2341
+ };
2342
+ };
2343
+ };
2344
+ "list-instance-types": {
2345
+ parameters: {
2346
+ query: {
2347
+ region_code: string;
2348
+ };
2349
+ header?: never;
2350
+ path?: never;
2351
+ cookie?: never;
2352
+ };
2353
+ requestBody?: never;
2354
+ responses: {
2355
+ /** @description OK */
2356
+ 200: {
2357
+ headers: {
2358
+ [name: string]: unknown;
2359
+ };
2360
+ content: {
2361
+ "application/json": components["schemas"]["InstanceTypeListResponseBody"];
2362
+ };
2363
+ };
2364
+ /** @description Error */
2365
+ default: {
2366
+ headers: {
2367
+ [name: string]: unknown;
2368
+ };
2369
+ content: {
2370
+ "application/json": components["schemas"]["Error"];
2371
+ };
2372
+ };
2373
+ };
2374
+ };
2375
+ "list-regions": {
2376
+ parameters: {
2377
+ query?: never;
2378
+ header?: never;
2379
+ path?: never;
2380
+ cookie?: never;
2381
+ };
2382
+ requestBody?: never;
2383
+ responses: {
2384
+ /** @description OK */
2385
+ 200: {
2386
+ headers: {
2387
+ [name: string]: unknown;
2388
+ };
2389
+ content: {
2390
+ "application/json": components["schemas"]["RegionListResponseBody"];
2391
+ };
2392
+ };
2393
+ /** @description Error */
2394
+ default: {
2395
+ headers: {
2396
+ [name: string]: unknown;
2397
+ };
2398
+ content: {
2399
+ "application/json": components["schemas"]["Error"];
2400
+ };
2401
+ };
2402
+ };
2403
+ };
2404
+ "list-availability-zones": {
2405
+ parameters: {
2406
+ query?: never;
2407
+ header?: never;
2408
+ path: {
2409
+ regionCode: string;
2410
+ };
2411
+ cookie?: never;
2412
+ };
2413
+ requestBody?: never;
2414
+ responses: {
2415
+ /** @description OK */
2416
+ 200: {
2417
+ headers: {
2418
+ [name: string]: unknown;
2419
+ };
2420
+ content: {
2421
+ "application/json": components["schemas"]["ZoneListResponseBody"];
2422
+ };
2423
+ };
2424
+ /** @description Error */
2425
+ default: {
2426
+ headers: {
2427
+ [name: string]: unknown;
2428
+ };
2429
+ content: {
2430
+ "application/json": components["schemas"]["Error"];
2431
+ };
2432
+ };
2433
+ };
2434
+ };
2435
+ "list-disks": {
2436
+ parameters: {
2437
+ query?: {
2438
+ region_code?: string;
2439
+ /** @description Supplied together with `region_code` to filter attachable disks */
2440
+ availability_zone?: string;
2441
+ };
2442
+ header?: never;
2443
+ path?: never;
2444
+ cookie?: never;
2445
+ };
2446
+ requestBody?: never;
2447
+ responses: {
2448
+ /** @description OK */
2449
+ 200: {
2450
+ headers: {
2451
+ [name: string]: unknown;
2452
+ };
2453
+ content: {
2454
+ "application/json": components["schemas"]["DiskListResponseBody"];
2455
+ };
2456
+ };
2457
+ /** @description Error */
2458
+ default: {
2459
+ headers: {
2460
+ [name: string]: unknown;
2461
+ };
2462
+ content: {
2463
+ "application/json": components["schemas"]["Error"];
2464
+ };
2465
+ };
2466
+ };
2467
+ };
2468
+ "create-disk": {
2469
+ parameters: {
2470
+ query?: never;
2471
+ header?: never;
2472
+ path?: never;
2473
+ cookie?: never;
2474
+ };
2475
+ requestBody: {
2476
+ content: {
2477
+ "application/json": components["schemas"]["CreateDiskRequestBody"];
2478
+ };
2479
+ };
2480
+ responses: {
2481
+ /** @description Created */
2482
+ 201: {
2483
+ headers: {
2484
+ [name: string]: unknown;
2485
+ };
2486
+ content: {
2487
+ "application/json": components["schemas"]["DiskResource"];
2488
+ };
2489
+ };
2490
+ /** @description Error */
2491
+ default: {
2492
+ headers: {
2493
+ [name: string]: unknown;
2494
+ };
2495
+ content: {
2496
+ "application/json": components["schemas"]["Error"];
2497
+ };
2498
+ };
2499
+ };
2500
+ };
2501
+ "get-disk": {
2502
+ parameters: {
2503
+ query?: never;
2504
+ header?: never;
2505
+ path: {
2506
+ diskId: string;
2507
+ };
2508
+ cookie?: never;
2509
+ };
2510
+ requestBody?: never;
2511
+ responses: {
2512
+ /** @description OK */
2513
+ 200: {
2514
+ headers: {
2515
+ [name: string]: unknown;
2516
+ };
2517
+ content: {
2518
+ "application/json": components["schemas"]["DiskResource"];
2519
+ };
2520
+ };
2521
+ /** @description Error */
2522
+ default: {
2523
+ headers: {
2524
+ [name: string]: unknown;
2525
+ };
2526
+ content: {
2527
+ "application/json": components["schemas"]["Error"];
2528
+ };
2529
+ };
2530
+ };
2531
+ };
2532
+ "delete-disk": {
2533
+ parameters: {
2534
+ query?: never;
2535
+ header?: never;
2536
+ path: {
2537
+ diskId: string;
2538
+ };
2539
+ cookie?: never;
2540
+ };
2541
+ requestBody?: never;
2542
+ responses: {
2543
+ /** @description No Content */
2544
+ 204: {
2545
+ headers: {
2546
+ [name: string]: unknown;
2547
+ };
2548
+ content?: never;
2549
+ };
2550
+ /** @description Error */
2551
+ default: {
2552
+ headers: {
2553
+ [name: string]: unknown;
2554
+ };
2555
+ content: {
2556
+ "application/json": components["schemas"]["Error"];
2557
+ };
2558
+ };
2559
+ };
2560
+ };
2561
+ "rename-disk": {
2562
+ parameters: {
2563
+ query?: never;
2564
+ header?: never;
2565
+ path: {
2566
+ diskId: string;
2567
+ };
2568
+ cookie?: never;
2569
+ };
2570
+ requestBody: {
2571
+ content: {
2572
+ "application/json": components["schemas"]["RenameDiskRequestBody"];
2573
+ };
2574
+ };
2575
+ responses: {
2576
+ /** @description OK */
2577
+ 200: {
2578
+ headers: {
2579
+ [name: string]: unknown;
2580
+ };
2581
+ content: {
2582
+ "application/json": components["schemas"]["DiskResource"];
2583
+ };
2584
+ };
2585
+ /** @description Error */
2586
+ default: {
2587
+ headers: {
2588
+ [name: string]: unknown;
2589
+ };
2590
+ content: {
2591
+ "application/json": components["schemas"]["Error"];
2592
+ };
2593
+ };
2594
+ };
2595
+ };
2596
+ "resize-disk": {
2597
+ parameters: {
2598
+ query?: never;
2599
+ header?: never;
2600
+ path: {
2601
+ diskId: string;
2602
+ };
2603
+ cookie?: never;
2604
+ };
2605
+ requestBody: {
2606
+ content: {
2607
+ "application/json": components["schemas"]["ResizeDiskRequestBody"];
2608
+ };
2609
+ };
2610
+ responses: {
2611
+ /** @description OK */
2612
+ 200: {
2613
+ headers: {
2614
+ [name: string]: unknown;
2615
+ };
2616
+ content: {
2617
+ "application/json": components["schemas"]["DiskResource"];
2618
+ };
2619
+ };
2620
+ /** @description Error */
2621
+ default: {
2622
+ headers: {
2623
+ [name: string]: unknown;
2624
+ };
2625
+ content: {
2626
+ "application/json": components["schemas"]["Error"];
2627
+ };
2628
+ };
2629
+ };
2630
+ };
2631
+ "revert-disk": {
2632
+ parameters: {
2633
+ query?: never;
2634
+ header?: never;
2635
+ path: {
2636
+ diskId: string;
2637
+ };
2638
+ cookie?: never;
2639
+ };
2640
+ requestBody: {
2641
+ content: {
2642
+ "application/json": components["schemas"]["RevertDiskRequestBody"];
2643
+ };
2644
+ };
2645
+ responses: {
2646
+ /** @description OK */
2647
+ 200: {
2648
+ headers: {
2649
+ [name: string]: unknown;
2650
+ };
2651
+ content: {
2652
+ "application/json": components["schemas"]["DiskResource"];
2653
+ };
2654
+ };
2655
+ /** @description Error */
2656
+ default: {
2657
+ headers: {
2658
+ [name: string]: unknown;
2659
+ };
2660
+ content: {
2661
+ "application/json": components["schemas"]["Error"];
2662
+ };
2663
+ };
2664
+ };
2665
+ };
2666
+ "list-floating-ips": {
2667
+ parameters: {
2668
+ query?: never;
2669
+ header?: never;
2670
+ path?: never;
2671
+ cookie?: never;
2672
+ };
2673
+ requestBody?: never;
2674
+ responses: {
2675
+ /** @description OK */
2676
+ 200: {
2677
+ headers: {
2678
+ [name: string]: unknown;
2679
+ };
2680
+ content: {
2681
+ "application/json": components["schemas"]["FloatingIPListResponseBody"];
2682
+ };
2683
+ };
2684
+ /** @description Error */
2685
+ default: {
2686
+ headers: {
2687
+ [name: string]: unknown;
2688
+ };
2689
+ content: {
2690
+ "application/json": components["schemas"]["Error"];
2691
+ };
2692
+ };
2693
+ };
2694
+ };
2695
+ "allocate-floating-ip": {
2696
+ parameters: {
2697
+ query?: never;
2698
+ header?: never;
2699
+ path?: never;
2700
+ cookie?: never;
2701
+ };
2702
+ requestBody: {
2703
+ content: {
2704
+ "application/json": components["schemas"]["AllocateFloatingIPRequestBody"];
2705
+ };
2706
+ };
2707
+ responses: {
2708
+ /** @description Created */
2709
+ 201: {
2710
+ headers: {
2711
+ [name: string]: unknown;
2712
+ };
2713
+ content: {
2714
+ "application/json": components["schemas"]["FloatingIPResource"];
2715
+ };
2716
+ };
2717
+ /** @description Error */
2718
+ default: {
2719
+ headers: {
2720
+ [name: string]: unknown;
2721
+ };
2722
+ content: {
2723
+ "application/json": components["schemas"]["Error"];
2724
+ };
2725
+ };
2726
+ };
2727
+ };
2728
+ "get-floating-ip": {
2729
+ parameters: {
2730
+ query?: never;
2731
+ header?: never;
2732
+ path: {
2733
+ floatingIpId: string;
2734
+ };
2735
+ cookie?: never;
2736
+ };
2737
+ requestBody?: never;
2738
+ responses: {
2739
+ /** @description OK */
2740
+ 200: {
2741
+ headers: {
2742
+ [name: string]: unknown;
2743
+ };
2744
+ content: {
2745
+ "application/json": components["schemas"]["FloatingIPResource"];
2746
+ };
2747
+ };
2748
+ /** @description Error */
2749
+ default: {
2750
+ headers: {
2751
+ [name: string]: unknown;
2752
+ };
2753
+ content: {
2754
+ "application/json": components["schemas"]["Error"];
2755
+ };
2756
+ };
2757
+ };
2758
+ };
2759
+ "release-floating-ip": {
2760
+ parameters: {
2761
+ query?: never;
2762
+ header?: never;
2763
+ path: {
2764
+ floatingIpId: string;
2765
+ };
2766
+ cookie?: never;
2767
+ };
2768
+ requestBody?: never;
2769
+ responses: {
2770
+ /** @description No Content */
2771
+ 204: {
2772
+ headers: {
2773
+ [name: string]: unknown;
2774
+ };
2775
+ content?: never;
2776
+ };
2777
+ /** @description Error */
2778
+ default: {
2779
+ headers: {
2780
+ [name: string]: unknown;
2781
+ };
2782
+ content: {
2783
+ "application/json": components["schemas"]["Error"];
2784
+ };
2785
+ };
2786
+ };
2787
+ };
2788
+ "set-floating-ip-bandwidth": {
2789
+ parameters: {
2790
+ query?: never;
2791
+ header?: never;
2792
+ path: {
2793
+ floatingIpId: string;
2794
+ };
2795
+ cookie?: never;
2796
+ };
2797
+ requestBody: {
2798
+ content: {
2799
+ "application/json": components["schemas"]["SetBandwidthRequestBody"];
2800
+ };
2801
+ };
2802
+ responses: {
2803
+ /** @description OK */
2804
+ 200: {
2805
+ headers: {
2806
+ [name: string]: unknown;
2807
+ };
2808
+ content: {
2809
+ "application/json": components["schemas"]["FloatingIPResource"];
2810
+ };
2811
+ };
2812
+ /** @description Error */
2813
+ default: {
2814
+ headers: {
2815
+ [name: string]: unknown;
2816
+ };
2817
+ content: {
2818
+ "application/json": components["schemas"]["Error"];
2819
+ };
2820
+ };
2821
+ };
2822
+ };
2823
+ "bind-floating-ip": {
2824
+ parameters: {
2825
+ query?: never;
2826
+ header?: never;
2827
+ path: {
2828
+ floatingIpId: string;
2829
+ };
2830
+ cookie?: never;
2831
+ };
2832
+ requestBody: {
2833
+ content: {
2834
+ "application/json": components["schemas"]["BindFloatingIPRequestBody"];
2835
+ };
2836
+ };
2837
+ responses: {
2838
+ /** @description OK */
2839
+ 200: {
2840
+ headers: {
2841
+ [name: string]: unknown;
2842
+ };
2843
+ content: {
2844
+ "application/json": components["schemas"]["FloatingIPResource"];
2845
+ };
2846
+ };
2847
+ /** @description Error */
2848
+ default: {
2849
+ headers: {
2850
+ [name: string]: unknown;
2851
+ };
2852
+ content: {
2853
+ "application/json": components["schemas"]["Error"];
2854
+ };
2855
+ };
2856
+ };
2857
+ };
2858
+ "unbind-floating-ip": {
2859
+ parameters: {
2860
+ query?: never;
2861
+ header?: never;
2862
+ path: {
2863
+ floatingIpId: string;
2864
+ };
2865
+ cookie?: never;
2866
+ };
2867
+ requestBody?: never;
2868
+ responses: {
2869
+ /** @description OK */
2870
+ 200: {
2871
+ headers: {
2872
+ [name: string]: unknown;
2873
+ };
2874
+ content: {
2875
+ "application/json": components["schemas"]["FloatingIPResource"];
2876
+ };
2877
+ };
2878
+ /** @description Error */
2879
+ default: {
2880
+ headers: {
2881
+ [name: string]: unknown;
2882
+ };
2883
+ content: {
2884
+ "application/json": components["schemas"]["Error"];
2885
+ };
2886
+ };
2887
+ };
2888
+ };
2889
+ "list-instances": {
2890
+ parameters: {
2891
+ query?: {
2892
+ /** @description Only instances carrying this label, written as `key:value` — for example `env:prod`. Both halves are matched exactly */
2893
+ label?: string;
2894
+ };
2895
+ header?: never;
2896
+ path?: never;
2897
+ cookie?: never;
2898
+ };
2899
+ requestBody?: never;
2900
+ responses: {
2901
+ /** @description OK */
2902
+ 200: {
2903
+ headers: {
2904
+ [name: string]: unknown;
2905
+ };
2906
+ content: {
2907
+ "application/json": components["schemas"]["InstanceListResponseBody"];
2908
+ };
2909
+ };
2910
+ /** @description Error */
2911
+ default: {
2912
+ headers: {
2913
+ [name: string]: unknown;
2914
+ };
2915
+ content: {
2916
+ "application/json": components["schemas"]["Error"];
2917
+ };
2918
+ };
2919
+ };
2920
+ };
2921
+ "launch-instance": {
2922
+ parameters: {
2923
+ query?: never;
2924
+ header?: never;
2925
+ path?: never;
2926
+ cookie?: never;
2927
+ };
2928
+ requestBody: {
2929
+ content: {
2930
+ "application/json": components["schemas"]["LaunchInstanceRequestBody"];
2931
+ };
2932
+ };
2933
+ responses: {
2934
+ /** @description Created */
2935
+ 201: {
2936
+ headers: {
2937
+ [name: string]: unknown;
2938
+ };
2939
+ content: {
2940
+ "application/json": components["schemas"]["LaunchInstanceResponseBody"];
2941
+ };
2942
+ };
2943
+ /** @description Error */
2944
+ default: {
2945
+ headers: {
2946
+ [name: string]: unknown;
2947
+ };
2948
+ content: {
2949
+ "application/json": components["schemas"]["Error"];
2950
+ };
2951
+ };
2952
+ };
2953
+ };
2954
+ "get-instance": {
2955
+ parameters: {
2956
+ query?: never;
2957
+ header?: never;
2958
+ path: {
2959
+ instanceId: string;
2960
+ };
2961
+ cookie?: never;
2962
+ };
2963
+ requestBody?: never;
2964
+ responses: {
2965
+ /** @description OK */
2966
+ 200: {
2967
+ headers: {
2968
+ [name: string]: unknown;
2969
+ };
2970
+ content: {
2971
+ "application/json": components["schemas"]["InstanceResource"];
2972
+ };
2973
+ };
2974
+ /** @description Error */
2975
+ default: {
2976
+ headers: {
2977
+ [name: string]: unknown;
2978
+ };
2979
+ content: {
2980
+ "application/json": components["schemas"]["Error"];
2981
+ };
2982
+ };
2983
+ };
2984
+ };
2985
+ "delete-instance": {
2986
+ parameters: {
2987
+ query?: never;
2988
+ header?: never;
2989
+ path: {
2990
+ instanceId: string;
2991
+ };
2992
+ cookie?: never;
2993
+ };
2994
+ requestBody?: never;
2995
+ responses: {
2996
+ /** @description No Content */
2997
+ 204: {
2998
+ headers: {
2999
+ [name: string]: unknown;
3000
+ };
3001
+ content?: never;
3002
+ };
3003
+ /** @description Error */
3004
+ default: {
3005
+ headers: {
3006
+ [name: string]: unknown;
3007
+ };
3008
+ content: {
3009
+ "application/json": components["schemas"]["Error"];
3010
+ };
3011
+ };
3012
+ };
3013
+ };
3014
+ "rename-instance": {
3015
+ parameters: {
3016
+ query?: never;
3017
+ header?: never;
3018
+ path: {
3019
+ instanceId: string;
3020
+ };
3021
+ cookie?: never;
3022
+ };
3023
+ requestBody: {
3024
+ content: {
3025
+ "application/json": components["schemas"]["RenameInstanceRequestBody"];
3026
+ };
3027
+ };
3028
+ responses: {
3029
+ /** @description OK */
3030
+ 200: {
3031
+ headers: {
3032
+ [name: string]: unknown;
3033
+ };
3034
+ content: {
3035
+ "application/json": components["schemas"]["InstanceResource"];
3036
+ };
3037
+ };
3038
+ /** @description Error */
3039
+ default: {
3040
+ headers: {
3041
+ [name: string]: unknown;
3042
+ };
3043
+ content: {
3044
+ "application/json": components["schemas"]["Error"];
3045
+ };
3046
+ };
3047
+ };
3048
+ };
3049
+ "run-instance-command": {
3050
+ parameters: {
3051
+ query?: never;
3052
+ header?: never;
3053
+ path: {
3054
+ instanceId: string;
3055
+ };
3056
+ cookie?: never;
3057
+ };
3058
+ requestBody: {
3059
+ content: {
3060
+ "application/json": components["schemas"]["RunCommandRequestBody"];
3061
+ };
3062
+ };
3063
+ responses: {
3064
+ /** @description OK */
3065
+ 200: {
3066
+ headers: {
3067
+ [name: string]: unknown;
3068
+ };
3069
+ content: {
3070
+ "application/json": components["schemas"]["CommandResultResponseBody"];
3071
+ };
3072
+ };
3073
+ /** @description Error */
3074
+ default: {
3075
+ headers: {
3076
+ [name: string]: unknown;
3077
+ };
3078
+ content: {
3079
+ "application/json": components["schemas"]["Error"];
3080
+ };
3081
+ };
3082
+ };
3083
+ };
3084
+ "open-instance-console": {
3085
+ parameters: {
3086
+ query?: never;
3087
+ header?: never;
3088
+ path: {
3089
+ instanceId: string;
3090
+ };
3091
+ cookie?: never;
3092
+ };
3093
+ requestBody?: never;
3094
+ responses: {
3095
+ /** @description OK */
3096
+ 200: {
3097
+ headers: {
3098
+ [name: string]: unknown;
3099
+ };
3100
+ content: {
3101
+ "application/json": components["schemas"]["ConsoleResponseBody"];
3102
+ };
3103
+ };
3104
+ /** @description Error */
3105
+ default: {
3106
+ headers: {
3107
+ [name: string]: unknown;
3108
+ };
3109
+ content: {
3110
+ "application/json": components["schemas"]["Error"];
3111
+ };
3112
+ };
3113
+ };
3114
+ };
3115
+ "get-instance-console-output": {
3116
+ parameters: {
3117
+ query?: {
3118
+ /** @description Number of trailing lines to return; 0 returns the entire output */
3119
+ lines?: number;
3120
+ };
3121
+ header?: never;
3122
+ path: {
3123
+ instanceId: string;
3124
+ };
3125
+ cookie?: never;
3126
+ };
3127
+ requestBody?: never;
3128
+ responses: {
3129
+ /** @description OK */
3130
+ 200: {
3131
+ headers: {
3132
+ [name: string]: unknown;
3133
+ };
3134
+ content: {
3135
+ "application/json": components["schemas"]["ConsoleOutputResponseBody"];
3136
+ };
3137
+ };
3138
+ /** @description Error */
3139
+ default: {
3140
+ headers: {
3141
+ [name: string]: unknown;
3142
+ };
3143
+ content: {
3144
+ "application/json": components["schemas"]["Error"];
3145
+ };
3146
+ };
3147
+ };
3148
+ };
3149
+ "set-instance-labels": {
3150
+ parameters: {
3151
+ query?: never;
3152
+ header?: never;
3153
+ path: {
3154
+ instanceId: string;
3155
+ };
3156
+ cookie?: never;
3157
+ };
3158
+ requestBody: {
3159
+ content: {
3160
+ "application/json": components["schemas"]["SetInstanceLabelsRequestBody"];
3161
+ };
3162
+ };
3163
+ responses: {
3164
+ /** @description OK */
3165
+ 200: {
3166
+ headers: {
3167
+ [name: string]: unknown;
3168
+ };
3169
+ content: {
3170
+ "application/json": components["schemas"]["InstanceResource"];
3171
+ };
3172
+ };
3173
+ /** @description Error */
3174
+ default: {
3175
+ headers: {
3176
+ [name: string]: unknown;
3177
+ };
3178
+ content: {
3179
+ "application/json": components["schemas"]["Error"];
3180
+ };
3181
+ };
3182
+ };
3183
+ };
3184
+ "set-instance-notes": {
3185
+ parameters: {
3186
+ query?: never;
3187
+ header?: never;
3188
+ path: {
3189
+ instanceId: string;
3190
+ };
3191
+ cookie?: never;
3192
+ };
3193
+ requestBody: {
3194
+ content: {
3195
+ "application/json": components["schemas"]["SetInstanceNotesRequestBody"];
3196
+ };
3197
+ };
3198
+ responses: {
3199
+ /** @description OK */
3200
+ 200: {
3201
+ headers: {
3202
+ [name: string]: unknown;
3203
+ };
3204
+ content: {
3205
+ "application/json": components["schemas"]["InstanceResource"];
3206
+ };
3207
+ };
3208
+ /** @description Error */
3209
+ default: {
3210
+ headers: {
3211
+ [name: string]: unknown;
3212
+ };
3213
+ content: {
3214
+ "application/json": components["schemas"]["Error"];
3215
+ };
3216
+ };
3217
+ };
3218
+ };
3219
+ "reset-instance-password": {
3220
+ parameters: {
3221
+ query?: never;
3222
+ header?: never;
3223
+ path: {
3224
+ instanceId: string;
3225
+ };
3226
+ cookie?: never;
3227
+ };
3228
+ requestBody: {
3229
+ content: {
3230
+ "application/json": components["schemas"]["ResetPasswordRequestBody"];
3231
+ };
3232
+ };
3233
+ responses: {
3234
+ /** @description OK */
3235
+ 200: {
3236
+ headers: {
3237
+ [name: string]: unknown;
3238
+ };
3239
+ content: {
3240
+ "application/json": components["schemas"]["ResetPasswordResponseBody"];
3241
+ };
3242
+ };
3243
+ /** @description Error */
3244
+ default: {
3245
+ headers: {
3246
+ [name: string]: unknown;
3247
+ };
3248
+ content: {
3249
+ "application/json": components["schemas"]["Error"];
3250
+ };
3251
+ };
3252
+ };
3253
+ };
3254
+ "reboot-instance": {
3255
+ parameters: {
3256
+ query?: never;
3257
+ header?: never;
3258
+ path: {
3259
+ instanceId: string;
3260
+ };
3261
+ cookie?: never;
3262
+ };
3263
+ requestBody: {
3264
+ content: {
3265
+ "application/json": components["schemas"]["RebootInstanceRequestBody"];
3266
+ };
3267
+ };
3268
+ responses: {
3269
+ /** @description OK */
3270
+ 200: {
3271
+ headers: {
3272
+ [name: string]: unknown;
3273
+ };
3274
+ content: {
3275
+ "application/json": components["schemas"]["InstanceResource"];
3276
+ };
3277
+ };
3278
+ /** @description Error */
3279
+ default: {
3280
+ headers: {
3281
+ [name: string]: unknown;
3282
+ };
3283
+ content: {
3284
+ "application/json": components["schemas"]["Error"];
3285
+ };
3286
+ };
3287
+ };
3288
+ };
3289
+ "rebuild-instance": {
3290
+ parameters: {
3291
+ query?: never;
3292
+ header?: never;
3293
+ path: {
3294
+ instanceId: string;
3295
+ };
3296
+ cookie?: never;
3297
+ };
3298
+ requestBody: {
3299
+ content: {
3300
+ "application/json": components["schemas"]["RebuildInstanceRequestBody"];
3301
+ };
3302
+ };
3303
+ responses: {
3304
+ /** @description OK */
3305
+ 200: {
3306
+ headers: {
3307
+ [name: string]: unknown;
3308
+ };
3309
+ content: {
3310
+ "application/json": components["schemas"]["RebuildInstanceResponseBody"];
3311
+ };
3312
+ };
3313
+ /** @description Error */
3314
+ default: {
3315
+ headers: {
3316
+ [name: string]: unknown;
3317
+ };
3318
+ content: {
3319
+ "application/json": components["schemas"]["Error"];
3320
+ };
3321
+ };
3322
+ };
3323
+ };
3324
+ "resize-instance": {
3325
+ parameters: {
3326
+ query?: never;
3327
+ header?: never;
3328
+ path: {
3329
+ instanceId: string;
3330
+ };
3331
+ cookie?: never;
3332
+ };
3333
+ requestBody: {
3334
+ content: {
3335
+ "application/json": components["schemas"]["ResizeInstanceRequestBody"];
3336
+ };
3337
+ };
3338
+ responses: {
3339
+ /** @description OK */
3340
+ 200: {
3341
+ headers: {
3342
+ [name: string]: unknown;
3343
+ };
3344
+ content: {
3345
+ "application/json": components["schemas"]["InstanceResource"];
3346
+ };
3347
+ };
3348
+ /** @description Error */
3349
+ default: {
3350
+ headers: {
3351
+ [name: string]: unknown;
3352
+ };
3353
+ content: {
3354
+ "application/json": components["schemas"]["Error"];
3355
+ };
3356
+ };
3357
+ };
3358
+ };
3359
+ "confirm-instance-resize": {
3360
+ parameters: {
3361
+ query?: never;
3362
+ header?: never;
3363
+ path: {
3364
+ instanceId: string;
3365
+ };
3366
+ cookie?: never;
3367
+ };
3368
+ requestBody?: never;
3369
+ responses: {
3370
+ /** @description OK */
3371
+ 200: {
3372
+ headers: {
3373
+ [name: string]: unknown;
3374
+ };
3375
+ content: {
3376
+ "application/json": components["schemas"]["InstanceResource"];
3377
+ };
3378
+ };
3379
+ /** @description Error */
3380
+ default: {
3381
+ headers: {
3382
+ [name: string]: unknown;
3383
+ };
3384
+ content: {
3385
+ "application/json": components["schemas"]["Error"];
3386
+ };
3387
+ };
3388
+ };
3389
+ };
3390
+ "revert-instance-resize": {
3391
+ parameters: {
3392
+ query?: never;
3393
+ header?: never;
3394
+ path: {
3395
+ instanceId: string;
3396
+ };
3397
+ cookie?: never;
3398
+ };
3399
+ requestBody?: never;
3400
+ responses: {
3401
+ /** @description OK */
3402
+ 200: {
3403
+ headers: {
3404
+ [name: string]: unknown;
3405
+ };
3406
+ content: {
3407
+ "application/json": components["schemas"]["InstanceResource"];
3408
+ };
3409
+ };
3410
+ /** @description Error */
3411
+ default: {
3412
+ headers: {
3413
+ [name: string]: unknown;
3414
+ };
3415
+ content: {
3416
+ "application/json": components["schemas"]["Error"];
3417
+ };
3418
+ };
3419
+ };
3420
+ };
3421
+ "start-instance": {
3422
+ parameters: {
3423
+ query?: never;
3424
+ header?: never;
3425
+ path: {
3426
+ instanceId: string;
3427
+ };
3428
+ cookie?: never;
3429
+ };
3430
+ requestBody?: never;
3431
+ responses: {
3432
+ /** @description OK */
3433
+ 200: {
3434
+ headers: {
3435
+ [name: string]: unknown;
3436
+ };
3437
+ content: {
3438
+ "application/json": components["schemas"]["InstanceResource"];
3439
+ };
3440
+ };
3441
+ /** @description Error */
3442
+ default: {
3443
+ headers: {
3444
+ [name: string]: unknown;
3445
+ };
3446
+ content: {
3447
+ "application/json": components["schemas"]["Error"];
3448
+ };
3449
+ };
3450
+ };
3451
+ };
3452
+ "stop-instance": {
3453
+ parameters: {
3454
+ query?: never;
3455
+ header?: never;
3456
+ path: {
3457
+ instanceId: string;
3458
+ };
3459
+ cookie?: never;
3460
+ };
3461
+ requestBody?: never;
3462
+ responses: {
3463
+ /** @description OK */
3464
+ 200: {
3465
+ headers: {
3466
+ [name: string]: unknown;
3467
+ };
3468
+ content: {
3469
+ "application/json": components["schemas"]["InstanceResource"];
3470
+ };
3471
+ };
3472
+ /** @description Error */
3473
+ default: {
3474
+ headers: {
3475
+ [name: string]: unknown;
3476
+ };
3477
+ content: {
3478
+ "application/json": components["schemas"]["Error"];
3479
+ };
3480
+ };
3481
+ };
3482
+ };
3483
+ "list-instance-disks": {
3484
+ parameters: {
3485
+ query?: never;
3486
+ header?: never;
3487
+ path: {
3488
+ instanceId: string;
3489
+ };
3490
+ cookie?: never;
3491
+ };
3492
+ requestBody?: never;
3493
+ responses: {
3494
+ /** @description OK */
3495
+ 200: {
3496
+ headers: {
3497
+ [name: string]: unknown;
3498
+ };
3499
+ content: {
3500
+ "application/json": components["schemas"]["DiskListResponseBody"];
3501
+ };
3502
+ };
3503
+ /** @description Error */
3504
+ default: {
3505
+ headers: {
3506
+ [name: string]: unknown;
3507
+ };
3508
+ content: {
3509
+ "application/json": components["schemas"]["Error"];
3510
+ };
3511
+ };
3512
+ };
3513
+ };
3514
+ "attach-disk": {
3515
+ parameters: {
3516
+ query?: never;
3517
+ header?: never;
3518
+ path: {
3519
+ instanceId: string;
3520
+ };
3521
+ cookie?: never;
3522
+ };
3523
+ requestBody: {
3524
+ content: {
3525
+ "application/json": components["schemas"]["AttachDiskRequestBody"];
3526
+ };
3527
+ };
3528
+ responses: {
3529
+ /** @description OK */
3530
+ 200: {
3531
+ headers: {
3532
+ [name: string]: unknown;
3533
+ };
3534
+ content: {
3535
+ "application/json": components["schemas"]["DiskResource"];
3536
+ };
3537
+ };
3538
+ /** @description Error */
3539
+ default: {
3540
+ headers: {
3541
+ [name: string]: unknown;
3542
+ };
3543
+ content: {
3544
+ "application/json": components["schemas"]["Error"];
3545
+ };
3546
+ };
3547
+ };
3548
+ };
3549
+ "detach-disk": {
3550
+ parameters: {
3551
+ query?: never;
3552
+ header?: never;
3553
+ path: {
3554
+ instanceId: string;
3555
+ diskId: string;
3556
+ };
3557
+ cookie?: never;
3558
+ };
3559
+ requestBody?: never;
3560
+ responses: {
3561
+ /** @description OK */
3562
+ 200: {
3563
+ headers: {
3564
+ [name: string]: unknown;
3565
+ };
3566
+ content: {
3567
+ "application/json": components["schemas"]["DiskResource"];
3568
+ };
3569
+ };
3570
+ /** @description Error */
3571
+ default: {
3572
+ headers: {
3573
+ [name: string]: unknown;
3574
+ };
3575
+ content: {
3576
+ "application/json": components["schemas"]["Error"];
3577
+ };
3578
+ };
3579
+ };
3580
+ };
3581
+ "attach-instance-floating-ip": {
3582
+ parameters: {
3583
+ query?: never;
3584
+ header?: never;
3585
+ path: {
3586
+ instanceId: string;
3587
+ };
3588
+ cookie?: never;
3589
+ };
3590
+ requestBody: {
3591
+ content: {
3592
+ "application/json": components["schemas"]["AttachFloatingIPRequestBody"];
3593
+ };
3594
+ };
3595
+ responses: {
3596
+ /** @description OK */
3597
+ 200: {
3598
+ headers: {
3599
+ [name: string]: unknown;
3600
+ };
3601
+ content: {
3602
+ "application/json": components["schemas"]["FloatingIPResource"];
3603
+ };
3604
+ };
3605
+ /** @description Error */
3606
+ default: {
3607
+ headers: {
3608
+ [name: string]: unknown;
3609
+ };
3610
+ content: {
3611
+ "application/json": components["schemas"]["Error"];
3612
+ };
3613
+ };
3614
+ };
3615
+ };
3616
+ "detach-instance-floating-ip": {
3617
+ parameters: {
3618
+ query?: never;
3619
+ header?: never;
3620
+ path: {
3621
+ instanceId: string;
3622
+ floatingIpId: string;
3623
+ };
3624
+ cookie?: never;
3625
+ };
3626
+ requestBody?: never;
3627
+ responses: {
3628
+ /** @description OK */
3629
+ 200: {
3630
+ headers: {
3631
+ [name: string]: unknown;
3632
+ };
3633
+ content: {
3634
+ "application/json": components["schemas"]["FloatingIPResource"];
3635
+ };
3636
+ };
3637
+ /** @description Error */
3638
+ default: {
3639
+ headers: {
3640
+ [name: string]: unknown;
3641
+ };
3642
+ content: {
3643
+ "application/json": components["schemas"]["Error"];
3644
+ };
3645
+ };
3646
+ };
3647
+ };
3648
+ "list-instance-ports": {
3649
+ parameters: {
3650
+ query?: never;
3651
+ header?: never;
3652
+ path: {
3653
+ instanceId: string;
3654
+ };
3655
+ cookie?: never;
3656
+ };
3657
+ requestBody?: never;
3658
+ responses: {
3659
+ /** @description OK */
3660
+ 200: {
3661
+ headers: {
3662
+ [name: string]: unknown;
3663
+ };
3664
+ content: {
3665
+ "application/json": components["schemas"]["PortListResponseBody"];
3666
+ };
3667
+ };
3668
+ /** @description Error */
3669
+ default: {
3670
+ headers: {
3671
+ [name: string]: unknown;
3672
+ };
3673
+ content: {
3674
+ "application/json": components["schemas"]["Error"];
3675
+ };
3676
+ };
3677
+ };
3678
+ };
3679
+ "attach-port": {
3680
+ parameters: {
3681
+ query?: never;
3682
+ header?: never;
3683
+ path: {
3684
+ instanceId: string;
3685
+ };
3686
+ cookie?: never;
3687
+ };
3688
+ requestBody: {
3689
+ content: {
3690
+ "application/json": components["schemas"]["AttachPortRequestBody"];
3691
+ };
3692
+ };
3693
+ responses: {
3694
+ /** @description OK */
3695
+ 200: {
3696
+ headers: {
3697
+ [name: string]: unknown;
3698
+ };
3699
+ content: {
3700
+ "application/json": components["schemas"]["PortResource"];
3701
+ };
3702
+ };
3703
+ /** @description Error */
3704
+ default: {
3705
+ headers: {
3706
+ [name: string]: unknown;
3707
+ };
3708
+ content: {
3709
+ "application/json": components["schemas"]["Error"];
3710
+ };
3711
+ };
3712
+ };
3713
+ };
3714
+ "detach-port": {
3715
+ parameters: {
3716
+ query?: never;
3717
+ header?: never;
3718
+ path: {
3719
+ instanceId: string;
3720
+ portId: string;
3721
+ };
3722
+ cookie?: never;
3723
+ };
3724
+ requestBody?: never;
3725
+ responses: {
3726
+ /** @description OK */
3727
+ 200: {
3728
+ headers: {
3729
+ [name: string]: unknown;
3730
+ };
3731
+ content: {
3732
+ "application/json": components["schemas"]["PortResource"];
3733
+ };
3734
+ };
3735
+ /** @description Error */
3736
+ default: {
3737
+ headers: {
3738
+ [name: string]: unknown;
3739
+ };
3740
+ content: {
3741
+ "application/json": components["schemas"]["Error"];
3742
+ };
3743
+ };
3744
+ };
3745
+ };
3746
+ "list-operation-logs": {
3747
+ parameters: {
3748
+ query?: {
3749
+ /** @description Return a single kind of operation; the value matches the operation id of the endpoint */
3750
+ action?: string;
3751
+ limit?: number;
3752
+ offset?: number;
3753
+ };
3754
+ header?: never;
3755
+ path?: never;
3756
+ cookie?: never;
3757
+ };
3758
+ requestBody?: never;
3759
+ responses: {
3760
+ /** @description OK */
3761
+ 200: {
3762
+ headers: {
3763
+ [name: string]: unknown;
3764
+ };
3765
+ content: {
3766
+ "application/json": components["schemas"]["OperationLogListResponseBody"];
3767
+ };
3768
+ };
3769
+ /** @description Error */
3770
+ default: {
3771
+ headers: {
3772
+ [name: string]: unknown;
3773
+ };
3774
+ content: {
3775
+ "application/json": components["schemas"]["Error"];
3776
+ };
3777
+ };
3778
+ };
3779
+ };
3780
+ "list-ports": {
3781
+ parameters: {
3782
+ query?: never;
3783
+ header?: never;
3784
+ path?: never;
3785
+ cookie?: never;
3786
+ };
3787
+ requestBody?: never;
3788
+ responses: {
3789
+ /** @description OK */
3790
+ 200: {
3791
+ headers: {
3792
+ [name: string]: unknown;
3793
+ };
3794
+ content: {
3795
+ "application/json": components["schemas"]["PortListResponseBody"];
3796
+ };
3797
+ };
3798
+ /** @description Error */
3799
+ default: {
3800
+ headers: {
3801
+ [name: string]: unknown;
3802
+ };
3803
+ content: {
3804
+ "application/json": components["schemas"]["Error"];
3805
+ };
3806
+ };
3807
+ };
3808
+ };
3809
+ "create-port": {
3810
+ parameters: {
3811
+ query?: never;
3812
+ header?: never;
3813
+ path?: never;
3814
+ cookie?: never;
3815
+ };
3816
+ requestBody: {
3817
+ content: {
3818
+ "application/json": components["schemas"]["CreatePortRequestBody"];
3819
+ };
3820
+ };
3821
+ responses: {
3822
+ /** @description Created */
3823
+ 201: {
3824
+ headers: {
3825
+ [name: string]: unknown;
3826
+ };
3827
+ content: {
3828
+ "application/json": components["schemas"]["PortResource"];
3829
+ };
3830
+ };
3831
+ /** @description Error */
3832
+ default: {
3833
+ headers: {
3834
+ [name: string]: unknown;
3835
+ };
3836
+ content: {
3837
+ "application/json": components["schemas"]["Error"];
3838
+ };
3839
+ };
3840
+ };
3841
+ };
3842
+ "delete-port": {
3843
+ parameters: {
3844
+ query?: never;
3845
+ header?: never;
3846
+ path: {
3847
+ portId: string;
3848
+ };
3849
+ cookie?: never;
3850
+ };
3851
+ requestBody?: never;
3852
+ responses: {
3853
+ /** @description No Content */
3854
+ 204: {
3855
+ headers: {
3856
+ [name: string]: unknown;
3857
+ };
3858
+ content?: never;
3859
+ };
3860
+ /** @description Error */
3861
+ default: {
3862
+ headers: {
3863
+ [name: string]: unknown;
3864
+ };
3865
+ content: {
3866
+ "application/json": components["schemas"]["Error"];
3867
+ };
3868
+ };
3869
+ };
3870
+ };
3871
+ "list-private-images": {
3872
+ parameters: {
3873
+ query?: {
3874
+ /** @description Return only the images of this region. An image can only be used in the region that holds it */
3875
+ region_code?: string;
3876
+ };
3877
+ header?: never;
3878
+ path?: never;
3879
+ cookie?: never;
3880
+ };
3881
+ requestBody?: never;
3882
+ responses: {
3883
+ /** @description OK */
3884
+ 200: {
3885
+ headers: {
3886
+ [name: string]: unknown;
3887
+ };
3888
+ content: {
3889
+ "application/json": components["schemas"]["PrivateImageListResponseBody"];
3890
+ };
3891
+ };
3892
+ /** @description Error */
3893
+ default: {
3894
+ headers: {
3895
+ [name: string]: unknown;
3896
+ };
3897
+ content: {
3898
+ "application/json": components["schemas"]["Error"];
3899
+ };
3900
+ };
3901
+ };
3902
+ };
3903
+ "create-private-image": {
3904
+ parameters: {
3905
+ query?: never;
3906
+ header?: never;
3907
+ path?: never;
3908
+ cookie?: never;
3909
+ };
3910
+ requestBody: {
3911
+ content: {
3912
+ "application/json": components["schemas"]["CreatePrivateImageRequestBody"];
3913
+ };
3914
+ };
3915
+ responses: {
3916
+ /** @description Created */
3917
+ 201: {
3918
+ headers: {
3919
+ [name: string]: unknown;
3920
+ };
3921
+ content: {
3922
+ "application/json": components["schemas"]["PrivateImageResource"];
3923
+ };
3924
+ };
3925
+ /** @description Error */
3926
+ default: {
3927
+ headers: {
3928
+ [name: string]: unknown;
3929
+ };
3930
+ content: {
3931
+ "application/json": components["schemas"]["Error"];
3932
+ };
3933
+ };
3934
+ };
3935
+ };
3936
+ "get-private-image": {
3937
+ parameters: {
3938
+ query?: never;
3939
+ header?: never;
3940
+ path: {
3941
+ privateImageId: string;
3942
+ };
3943
+ cookie?: never;
3944
+ };
3945
+ requestBody?: never;
3946
+ responses: {
3947
+ /** @description OK */
3948
+ 200: {
3949
+ headers: {
3950
+ [name: string]: unknown;
3951
+ };
3952
+ content: {
3953
+ "application/json": components["schemas"]["PrivateImageResource"];
3954
+ };
3955
+ };
3956
+ /** @description Error */
3957
+ default: {
3958
+ headers: {
3959
+ [name: string]: unknown;
3960
+ };
3961
+ content: {
3962
+ "application/json": components["schemas"]["Error"];
3963
+ };
3964
+ };
3965
+ };
3966
+ };
3967
+ "delete-private-image": {
3968
+ parameters: {
3969
+ query?: never;
3970
+ header?: never;
3971
+ path: {
3972
+ privateImageId: string;
3973
+ };
3974
+ cookie?: never;
3975
+ };
3976
+ requestBody?: never;
3977
+ responses: {
3978
+ /** @description No Content */
3979
+ 204: {
3980
+ headers: {
3981
+ [name: string]: unknown;
3982
+ };
3983
+ content?: never;
3984
+ };
3985
+ /** @description Error */
3986
+ default: {
3987
+ headers: {
3988
+ [name: string]: unknown;
3989
+ };
3990
+ content: {
3991
+ "application/json": components["schemas"]["Error"];
3992
+ };
3993
+ };
3994
+ };
3995
+ };
3996
+ "rename-private-image": {
3997
+ parameters: {
3998
+ query?: never;
3999
+ header?: never;
4000
+ path: {
4001
+ privateImageId: string;
4002
+ };
4003
+ cookie?: never;
4004
+ };
4005
+ requestBody: {
4006
+ content: {
4007
+ "application/json": components["schemas"]["RenamePrivateImageRequestBody"];
4008
+ };
4009
+ };
4010
+ responses: {
4011
+ /** @description OK */
4012
+ 200: {
4013
+ headers: {
4014
+ [name: string]: unknown;
4015
+ };
4016
+ content: {
4017
+ "application/json": components["schemas"]["PrivateImageResource"];
4018
+ };
4019
+ };
4020
+ /** @description Error */
4021
+ default: {
4022
+ headers: {
4023
+ [name: string]: unknown;
4024
+ };
4025
+ content: {
4026
+ "application/json": components["schemas"]["Error"];
4027
+ };
4028
+ };
4029
+ };
4030
+ };
4031
+ "list-private-networks": {
4032
+ parameters: {
4033
+ query?: {
4034
+ /** @description Returns every region when omitted */
4035
+ region_code?: string;
4036
+ };
4037
+ header?: never;
4038
+ path?: never;
4039
+ cookie?: never;
4040
+ };
4041
+ requestBody?: never;
4042
+ responses: {
4043
+ /** @description OK */
4044
+ 200: {
4045
+ headers: {
4046
+ [name: string]: unknown;
4047
+ };
4048
+ content: {
4049
+ "application/json": components["schemas"]["PrivateNetworkListResponseBody"];
4050
+ };
4051
+ };
4052
+ /** @description Error */
4053
+ default: {
4054
+ headers: {
4055
+ [name: string]: unknown;
4056
+ };
4057
+ content: {
4058
+ "application/json": components["schemas"]["Error"];
4059
+ };
4060
+ };
4061
+ };
4062
+ };
4063
+ "create-private-network": {
4064
+ parameters: {
4065
+ query?: never;
4066
+ header?: never;
4067
+ path?: never;
4068
+ cookie?: never;
4069
+ };
4070
+ requestBody: {
4071
+ content: {
4072
+ "application/json": components["schemas"]["CreatePrivateNetworkRequestBody"];
4073
+ };
4074
+ };
4075
+ responses: {
4076
+ /** @description Created */
4077
+ 201: {
4078
+ headers: {
4079
+ [name: string]: unknown;
4080
+ };
4081
+ content: {
4082
+ "application/json": components["schemas"]["PrivateNetworkResource"];
4083
+ };
4084
+ };
4085
+ /** @description Error */
4086
+ default: {
4087
+ headers: {
4088
+ [name: string]: unknown;
4089
+ };
4090
+ content: {
4091
+ "application/json": components["schemas"]["Error"];
4092
+ };
4093
+ };
4094
+ };
4095
+ };
4096
+ "get-private-network": {
4097
+ parameters: {
4098
+ query?: never;
4099
+ header?: never;
4100
+ path: {
4101
+ privateNetworkId: string;
4102
+ };
4103
+ cookie?: never;
4104
+ };
4105
+ requestBody?: never;
4106
+ responses: {
4107
+ /** @description OK */
4108
+ 200: {
4109
+ headers: {
4110
+ [name: string]: unknown;
4111
+ };
4112
+ content: {
4113
+ "application/json": components["schemas"]["PrivateNetworkResource"];
4114
+ };
4115
+ };
4116
+ /** @description Error */
4117
+ default: {
4118
+ headers: {
4119
+ [name: string]: unknown;
4120
+ };
4121
+ content: {
4122
+ "application/json": components["schemas"]["Error"];
4123
+ };
4124
+ };
4125
+ };
4126
+ };
4127
+ "delete-private-network": {
4128
+ parameters: {
4129
+ query?: never;
4130
+ header?: never;
4131
+ path: {
4132
+ privateNetworkId: string;
4133
+ };
4134
+ cookie?: never;
4135
+ };
4136
+ requestBody?: never;
4137
+ responses: {
4138
+ /** @description No Content */
4139
+ 204: {
4140
+ headers: {
4141
+ [name: string]: unknown;
4142
+ };
4143
+ content?: never;
4144
+ };
4145
+ /** @description Error */
4146
+ default: {
4147
+ headers: {
4148
+ [name: string]: unknown;
4149
+ };
4150
+ content: {
4151
+ "application/json": components["schemas"]["Error"];
4152
+ };
4153
+ };
4154
+ };
4155
+ };
4156
+ "rename-private-network": {
4157
+ parameters: {
4158
+ query?: never;
4159
+ header?: never;
4160
+ path: {
4161
+ privateNetworkId: string;
4162
+ };
4163
+ cookie?: never;
4164
+ };
4165
+ requestBody: {
4166
+ content: {
4167
+ "application/json": components["schemas"]["RenamePrivateNetworkRequestBody"];
4168
+ };
4169
+ };
4170
+ responses: {
4171
+ /** @description OK */
4172
+ 200: {
4173
+ headers: {
4174
+ [name: string]: unknown;
4175
+ };
4176
+ content: {
4177
+ "application/json": components["schemas"]["PrivateNetworkResource"];
4178
+ };
4179
+ };
4180
+ /** @description Error */
4181
+ default: {
4182
+ headers: {
4183
+ [name: string]: unknown;
4184
+ };
4185
+ content: {
4186
+ "application/json": components["schemas"]["Error"];
4187
+ };
4188
+ };
4189
+ };
4190
+ };
4191
+ "get-private-network-ipv6": {
4192
+ parameters: {
4193
+ query?: never;
4194
+ header?: never;
4195
+ path: {
4196
+ privateNetworkId: string;
4197
+ };
4198
+ cookie?: never;
4199
+ };
4200
+ requestBody?: never;
4201
+ responses: {
4202
+ /** @description OK */
4203
+ 200: {
4204
+ headers: {
4205
+ [name: string]: unknown;
4206
+ };
4207
+ content: {
4208
+ "application/json": components["schemas"]["IPv6ResponseBody"];
4209
+ };
4210
+ };
4211
+ /** @description Error */
4212
+ default: {
4213
+ headers: {
4214
+ [name: string]: unknown;
4215
+ };
4216
+ content: {
4217
+ "application/json": components["schemas"]["Error"];
4218
+ };
4219
+ };
4220
+ };
4221
+ };
4222
+ "enable-private-network-ipv6": {
4223
+ parameters: {
4224
+ query?: never;
4225
+ header?: never;
4226
+ path: {
4227
+ privateNetworkId: string;
4228
+ };
4229
+ cookie?: never;
4230
+ };
4231
+ requestBody?: never;
4232
+ responses: {
4233
+ /** @description OK */
4234
+ 200: {
4235
+ headers: {
4236
+ [name: string]: unknown;
4237
+ };
4238
+ content: {
4239
+ "application/json": components["schemas"]["IPv6ResponseBody"];
4240
+ };
4241
+ };
4242
+ /** @description Error */
4243
+ default: {
4244
+ headers: {
4245
+ [name: string]: unknown;
4246
+ };
4247
+ content: {
4248
+ "application/json": components["schemas"]["Error"];
4249
+ };
4250
+ };
4251
+ };
4252
+ };
4253
+ "disable-private-network-ipv6": {
4254
+ parameters: {
4255
+ query?: never;
4256
+ header?: never;
4257
+ path: {
4258
+ privateNetworkId: string;
4259
+ };
4260
+ cookie?: never;
4261
+ };
4262
+ requestBody?: never;
4263
+ responses: {
4264
+ /** @description No Content */
4265
+ 204: {
4266
+ headers: {
4267
+ [name: string]: unknown;
4268
+ };
4269
+ content?: never;
4270
+ };
4271
+ /** @description Error */
4272
+ default: {
4273
+ headers: {
4274
+ [name: string]: unknown;
4275
+ };
4276
+ content: {
4277
+ "application/json": components["schemas"]["Error"];
4278
+ };
4279
+ };
4280
+ };
4281
+ };
4282
+ "list-routes": {
4283
+ parameters: {
4284
+ query?: never;
4285
+ header?: never;
4286
+ path: {
4287
+ privateNetworkId: string;
4288
+ };
4289
+ cookie?: never;
4290
+ };
4291
+ requestBody?: never;
4292
+ responses: {
4293
+ /** @description OK */
4294
+ 200: {
4295
+ headers: {
4296
+ [name: string]: unknown;
4297
+ };
4298
+ content: {
4299
+ "application/json": components["schemas"]["RouteListResponseBody"];
4300
+ };
4301
+ };
4302
+ /** @description Error */
4303
+ default: {
4304
+ headers: {
4305
+ [name: string]: unknown;
4306
+ };
4307
+ content: {
4308
+ "application/json": components["schemas"]["Error"];
4309
+ };
4310
+ };
4311
+ };
4312
+ };
4313
+ "create-route": {
4314
+ parameters: {
4315
+ query?: never;
4316
+ header?: never;
4317
+ path: {
4318
+ privateNetworkId: string;
4319
+ };
4320
+ cookie?: never;
4321
+ };
4322
+ requestBody: {
4323
+ content: {
4324
+ "application/json": components["schemas"]["CreateRouteRequestBody"];
4325
+ };
4326
+ };
4327
+ responses: {
4328
+ /** @description Created */
4329
+ 201: {
4330
+ headers: {
4331
+ [name: string]: unknown;
4332
+ };
4333
+ content: {
4334
+ "application/json": components["schemas"]["RouteResource"];
4335
+ };
4336
+ };
4337
+ /** @description Error */
4338
+ default: {
4339
+ headers: {
4340
+ [name: string]: unknown;
4341
+ };
4342
+ content: {
4343
+ "application/json": components["schemas"]["Error"];
4344
+ };
4345
+ };
4346
+ };
4347
+ };
4348
+ "delete-route": {
4349
+ parameters: {
4350
+ query?: never;
4351
+ header?: never;
4352
+ path: {
4353
+ privateNetworkId: string;
4354
+ routeId: string;
4355
+ };
4356
+ cookie?: never;
4357
+ };
4358
+ requestBody?: never;
4359
+ responses: {
4360
+ /** @description No Content */
4361
+ 204: {
4362
+ headers: {
4363
+ [name: string]: unknown;
4364
+ };
4365
+ content?: never;
4366
+ };
4367
+ /** @description Error */
4368
+ default: {
4369
+ headers: {
4370
+ [name: string]: unknown;
4371
+ };
4372
+ content: {
4373
+ "application/json": components["schemas"]["Error"];
4374
+ };
4375
+ };
4376
+ };
4377
+ };
4378
+ "list-subnets": {
4379
+ parameters: {
4380
+ query?: never;
4381
+ header?: never;
4382
+ path: {
4383
+ privateNetworkId: string;
4384
+ };
4385
+ cookie?: never;
4386
+ };
4387
+ requestBody?: never;
4388
+ responses: {
4389
+ /** @description OK */
4390
+ 200: {
4391
+ headers: {
4392
+ [name: string]: unknown;
4393
+ };
4394
+ content: {
4395
+ "application/json": components["schemas"]["SubnetListResponseBody"];
4396
+ };
4397
+ };
4398
+ /** @description Error */
4399
+ default: {
4400
+ headers: {
4401
+ [name: string]: unknown;
4402
+ };
4403
+ content: {
4404
+ "application/json": components["schemas"]["Error"];
4405
+ };
4406
+ };
4407
+ };
4408
+ };
4409
+ "create-subnet": {
4410
+ parameters: {
4411
+ query?: never;
4412
+ header?: never;
4413
+ path: {
4414
+ privateNetworkId: string;
4415
+ };
4416
+ cookie?: never;
4417
+ };
4418
+ requestBody: {
4419
+ content: {
4420
+ "application/json": components["schemas"]["CreateSubnetRequestBody"];
4421
+ };
4422
+ };
4423
+ responses: {
4424
+ /** @description Created */
4425
+ 201: {
4426
+ headers: {
4427
+ [name: string]: unknown;
4428
+ };
4429
+ content: {
4430
+ "application/json": components["schemas"]["SubnetResource"];
4431
+ };
4432
+ };
4433
+ /** @description Error */
4434
+ default: {
4435
+ headers: {
4436
+ [name: string]: unknown;
4437
+ };
4438
+ content: {
4439
+ "application/json": components["schemas"]["Error"];
4440
+ };
4441
+ };
4442
+ };
4443
+ };
4444
+ "suggest-subnet-cidr": {
4445
+ parameters: {
4446
+ query?: {
4447
+ prefix_length?: number;
4448
+ };
4449
+ header?: never;
4450
+ path: {
4451
+ privateNetworkId: string;
4452
+ };
4453
+ cookie?: never;
4454
+ };
4455
+ requestBody?: never;
4456
+ responses: {
4457
+ /** @description OK */
4458
+ 200: {
4459
+ headers: {
4460
+ [name: string]: unknown;
4461
+ };
4462
+ content: {
4463
+ "application/json": components["schemas"]["NextFreeCidrResponseBody"];
4464
+ };
4465
+ };
4466
+ /** @description Error */
4467
+ default: {
4468
+ headers: {
4469
+ [name: string]: unknown;
4470
+ };
4471
+ content: {
4472
+ "application/json": components["schemas"]["Error"];
4473
+ };
4474
+ };
4475
+ };
4476
+ };
4477
+ "delete-subnet": {
4478
+ parameters: {
4479
+ query?: never;
4480
+ header?: never;
4481
+ path: {
4482
+ privateNetworkId: string;
4483
+ subnetId: string;
4484
+ };
4485
+ cookie?: never;
4486
+ };
4487
+ requestBody?: never;
4488
+ responses: {
4489
+ /** @description No Content */
4490
+ 204: {
4491
+ headers: {
4492
+ [name: string]: unknown;
4493
+ };
4494
+ content?: never;
4495
+ };
4496
+ /** @description Error */
4497
+ default: {
4498
+ headers: {
4499
+ [name: string]: unknown;
4500
+ };
4501
+ content: {
4502
+ "application/json": components["schemas"]["Error"];
4503
+ };
4504
+ };
4505
+ };
4506
+ };
4507
+ "list-security-groups": {
4508
+ parameters: {
4509
+ query?: {
4510
+ region_code?: string;
4511
+ /** @description Return only the security groups of this private network */
4512
+ private_network_id?: string;
4513
+ };
4514
+ header?: never;
4515
+ path?: never;
4516
+ cookie?: never;
4517
+ };
4518
+ requestBody?: never;
4519
+ responses: {
4520
+ /** @description OK */
4521
+ 200: {
4522
+ headers: {
4523
+ [name: string]: unknown;
4524
+ };
4525
+ content: {
4526
+ "application/json": components["schemas"]["SecurityGroupListResponseBody"];
4527
+ };
4528
+ };
4529
+ /** @description Error */
4530
+ default: {
4531
+ headers: {
4532
+ [name: string]: unknown;
4533
+ };
4534
+ content: {
4535
+ "application/json": components["schemas"]["Error"];
4536
+ };
4537
+ };
4538
+ };
4539
+ };
4540
+ "create-security-group": {
4541
+ parameters: {
4542
+ query?: never;
4543
+ header?: never;
4544
+ path?: never;
4545
+ cookie?: never;
4546
+ };
4547
+ requestBody: {
4548
+ content: {
4549
+ "application/json": components["schemas"]["CreateSecurityGroupRequestBody"];
4550
+ };
4551
+ };
4552
+ responses: {
4553
+ /** @description Created */
4554
+ 201: {
4555
+ headers: {
4556
+ [name: string]: unknown;
4557
+ };
4558
+ content: {
4559
+ "application/json": components["schemas"]["SecurityGroupResource"];
4560
+ };
4561
+ };
4562
+ /** @description Error */
4563
+ default: {
4564
+ headers: {
4565
+ [name: string]: unknown;
4566
+ };
4567
+ content: {
4568
+ "application/json": components["schemas"]["Error"];
4569
+ };
4570
+ };
4571
+ };
4572
+ };
4573
+ "get-security-group": {
4574
+ parameters: {
4575
+ query?: never;
4576
+ header?: never;
4577
+ path: {
4578
+ securityGroupId: string;
4579
+ };
4580
+ cookie?: never;
4581
+ };
4582
+ requestBody?: never;
4583
+ responses: {
4584
+ /** @description OK */
4585
+ 200: {
4586
+ headers: {
4587
+ [name: string]: unknown;
4588
+ };
4589
+ content: {
4590
+ "application/json": components["schemas"]["SecurityGroupResource"];
4591
+ };
4592
+ };
4593
+ /** @description Error */
4594
+ default: {
4595
+ headers: {
4596
+ [name: string]: unknown;
4597
+ };
4598
+ content: {
4599
+ "application/json": components["schemas"]["Error"];
4600
+ };
4601
+ };
4602
+ };
4603
+ };
4604
+ "delete-security-group": {
4605
+ parameters: {
4606
+ query?: never;
4607
+ header?: never;
4608
+ path: {
4609
+ securityGroupId: string;
4610
+ };
4611
+ cookie?: never;
4612
+ };
4613
+ requestBody?: never;
4614
+ responses: {
4615
+ /** @description No Content */
4616
+ 204: {
4617
+ headers: {
4618
+ [name: string]: unknown;
4619
+ };
4620
+ content?: never;
4621
+ };
4622
+ /** @description Error */
4623
+ default: {
4624
+ headers: {
4625
+ [name: string]: unknown;
4626
+ };
4627
+ content: {
4628
+ "application/json": components["schemas"]["Error"];
4629
+ };
4630
+ };
4631
+ };
4632
+ };
4633
+ "rename-security-group": {
4634
+ parameters: {
4635
+ query?: never;
4636
+ header?: never;
4637
+ path: {
4638
+ securityGroupId: string;
4639
+ };
4640
+ cookie?: never;
4641
+ };
4642
+ requestBody: {
4643
+ content: {
4644
+ "application/json": components["schemas"]["RenameSecurityGroupRequestBody"];
4645
+ };
4646
+ };
4647
+ responses: {
4648
+ /** @description OK */
4649
+ 200: {
4650
+ headers: {
4651
+ [name: string]: unknown;
4652
+ };
4653
+ content: {
4654
+ "application/json": components["schemas"]["SecurityGroupResource"];
4655
+ };
4656
+ };
4657
+ /** @description Error */
4658
+ default: {
4659
+ headers: {
4660
+ [name: string]: unknown;
4661
+ };
4662
+ content: {
4663
+ "application/json": components["schemas"]["Error"];
4664
+ };
4665
+ };
4666
+ };
4667
+ };
4668
+ "list-security-group-rules": {
4669
+ parameters: {
4670
+ query?: never;
4671
+ header?: never;
4672
+ path: {
4673
+ securityGroupId: string;
4674
+ };
4675
+ cookie?: never;
4676
+ };
4677
+ requestBody?: never;
4678
+ responses: {
4679
+ /** @description OK */
4680
+ 200: {
4681
+ headers: {
4682
+ [name: string]: unknown;
4683
+ };
4684
+ content: {
4685
+ "application/json": components["schemas"]["SecurityRuleListResponseBody"];
4686
+ };
4687
+ };
4688
+ /** @description Error */
4689
+ default: {
4690
+ headers: {
4691
+ [name: string]: unknown;
4692
+ };
4693
+ content: {
4694
+ "application/json": components["schemas"]["Error"];
4695
+ };
4696
+ };
4697
+ };
4698
+ };
4699
+ "create-security-group-rule": {
4700
+ parameters: {
4701
+ query?: never;
4702
+ header?: never;
4703
+ path: {
4704
+ securityGroupId: string;
4705
+ };
4706
+ cookie?: never;
4707
+ };
4708
+ requestBody: {
4709
+ content: {
4710
+ "application/json": components["schemas"]["CreateSecurityRuleRequestBody"];
4711
+ };
4712
+ };
4713
+ responses: {
4714
+ /** @description Created */
4715
+ 201: {
4716
+ headers: {
4717
+ [name: string]: unknown;
4718
+ };
4719
+ content: {
4720
+ "application/json": components["schemas"]["SecurityRuleResource"];
4721
+ };
4722
+ };
4723
+ /** @description Error */
4724
+ default: {
4725
+ headers: {
4726
+ [name: string]: unknown;
4727
+ };
4728
+ content: {
4729
+ "application/json": components["schemas"]["Error"];
4730
+ };
4731
+ };
4732
+ };
4733
+ };
4734
+ "delete-security-group-rule": {
4735
+ parameters: {
4736
+ query?: never;
4737
+ header?: never;
4738
+ path: {
4739
+ securityGroupId: string;
4740
+ ruleId: string;
4741
+ };
4742
+ cookie?: never;
4743
+ };
4744
+ requestBody?: never;
4745
+ responses: {
4746
+ /** @description No Content */
4747
+ 204: {
4748
+ headers: {
4749
+ [name: string]: unknown;
4750
+ };
4751
+ content?: never;
4752
+ };
4753
+ /** @description Error */
4754
+ default: {
4755
+ headers: {
4756
+ [name: string]: unknown;
4757
+ };
4758
+ content: {
4759
+ "application/json": components["schemas"]["Error"];
4760
+ };
4761
+ };
4762
+ };
4763
+ };
4764
+ "list-snapshots": {
4765
+ parameters: {
4766
+ query?: {
4767
+ /** @description Return only the snapshots of this disk */
4768
+ disk_id?: string;
4769
+ };
4770
+ header?: never;
4771
+ path?: never;
4772
+ cookie?: never;
4773
+ };
4774
+ requestBody?: never;
4775
+ responses: {
4776
+ /** @description OK */
4777
+ 200: {
4778
+ headers: {
4779
+ [name: string]: unknown;
4780
+ };
4781
+ content: {
4782
+ "application/json": components["schemas"]["SnapshotListResponseBody"];
4783
+ };
4784
+ };
4785
+ /** @description Error */
4786
+ default: {
4787
+ headers: {
4788
+ [name: string]: unknown;
4789
+ };
4790
+ content: {
4791
+ "application/json": components["schemas"]["Error"];
4792
+ };
4793
+ };
4794
+ };
4795
+ };
4796
+ "create-snapshot": {
4797
+ parameters: {
4798
+ query?: never;
4799
+ header?: never;
4800
+ path?: never;
4801
+ cookie?: never;
4802
+ };
4803
+ requestBody: {
4804
+ content: {
4805
+ "application/json": components["schemas"]["CreateSnapshotRequestBody"];
4806
+ };
4807
+ };
4808
+ responses: {
4809
+ /** @description Created */
4810
+ 201: {
4811
+ headers: {
4812
+ [name: string]: unknown;
4813
+ };
4814
+ content: {
4815
+ "application/json": components["schemas"]["SnapshotResource"];
4816
+ };
4817
+ };
4818
+ /** @description Error */
4819
+ default: {
4820
+ headers: {
4821
+ [name: string]: unknown;
4822
+ };
4823
+ content: {
4824
+ "application/json": components["schemas"]["Error"];
4825
+ };
4826
+ };
4827
+ };
4828
+ };
4829
+ "get-snapshot": {
4830
+ parameters: {
4831
+ query?: never;
4832
+ header?: never;
4833
+ path: {
4834
+ snapshotId: string;
4835
+ };
4836
+ cookie?: never;
4837
+ };
4838
+ requestBody?: never;
4839
+ responses: {
4840
+ /** @description OK */
4841
+ 200: {
4842
+ headers: {
4843
+ [name: string]: unknown;
4844
+ };
4845
+ content: {
4846
+ "application/json": components["schemas"]["SnapshotResource"];
4847
+ };
4848
+ };
4849
+ /** @description Error */
4850
+ default: {
4851
+ headers: {
4852
+ [name: string]: unknown;
4853
+ };
4854
+ content: {
4855
+ "application/json": components["schemas"]["Error"];
4856
+ };
4857
+ };
4858
+ };
4859
+ };
4860
+ "delete-snapshot": {
4861
+ parameters: {
4862
+ query?: never;
4863
+ header?: never;
4864
+ path: {
4865
+ snapshotId: string;
4866
+ };
4867
+ cookie?: never;
4868
+ };
4869
+ requestBody?: never;
4870
+ responses: {
4871
+ /** @description No Content */
4872
+ 204: {
4873
+ headers: {
4874
+ [name: string]: unknown;
4875
+ };
4876
+ content?: never;
4877
+ };
4878
+ /** @description Error */
4879
+ default: {
4880
+ headers: {
4881
+ [name: string]: unknown;
4882
+ };
4883
+ content: {
4884
+ "application/json": components["schemas"]["Error"];
4885
+ };
4886
+ };
4887
+ };
4888
+ };
4889
+ "rename-snapshot": {
4890
+ parameters: {
4891
+ query?: never;
4892
+ header?: never;
4893
+ path: {
4894
+ snapshotId: string;
4895
+ };
4896
+ cookie?: never;
4897
+ };
4898
+ requestBody: {
4899
+ content: {
4900
+ "application/json": components["schemas"]["RenameSnapshotRequestBody"];
4901
+ };
4902
+ };
4903
+ responses: {
4904
+ /** @description OK */
4905
+ 200: {
4906
+ headers: {
4907
+ [name: string]: unknown;
4908
+ };
4909
+ content: {
4910
+ "application/json": components["schemas"]["SnapshotResource"];
4911
+ };
4912
+ };
4913
+ /** @description Error */
4914
+ default: {
4915
+ headers: {
4916
+ [name: string]: unknown;
4917
+ };
4918
+ content: {
4919
+ "application/json": components["schemas"]["Error"];
4920
+ };
4921
+ };
4922
+ };
4923
+ };
4924
+ }