@leaflow/sdk 0.76.0 → 0.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,9 @@ export interface paths {
19
19
  *
20
20
  * Disks attached to a running instance, including system disks, can be backed up.
21
21
  *
22
- * The duration depends on the amount of data. The backup is not complete when this endpoint returns; poll the retrieve endpoint.
22
+ * The duration depends on the amount of data. The backup is not complete when this endpoint returns; track the returned task.
23
+ *
24
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
23
25
  */
24
26
  post: operations["create-backup"];
25
27
  delete?: never;
@@ -45,6 +47,8 @@ export interface paths {
45
47
  /**
46
48
  * Delete a backup
47
49
  * @description Independent of the source disk: deletion succeeds whether or not that disk still exists.
50
+ *
51
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
48
52
  */
49
53
  delete: operations["delete-backup"];
50
54
  options?: never;
@@ -66,7 +70,9 @@ export interface paths {
66
70
  * Restore from a backup
67
71
  * @description Restores onto a **newly created** disk. The source disk is unaffected and need not still exist.
68
72
  *
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.
73
+ * 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; track the returned task.
74
+ *
75
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
70
76
  */
71
77
  post: operations["restore-backup"];
72
78
  delete?: never;
@@ -212,6 +218,8 @@ export interface paths {
212
218
  * @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.
213
219
  *
214
220
  * A disk type that has been withdrawn is rejected with `DISK_TYPE_RETIRED`, even though its identifier still resolves. Withdrawn types stop appearing in the disk type listing; disks already bought on one keep working and can still be resized.
221
+ *
222
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
215
223
  */
216
224
  post: operations["create-disk"];
217
225
  delete?: never;
@@ -237,6 +245,8 @@ export interface paths {
237
245
  /**
238
246
  * Delete a disk
239
247
  * @description Deletion is rejected while the disk is attached, or while snapshots created from it still exist.
248
+ *
249
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
240
250
  */
241
251
  delete: operations["delete-disk"];
242
252
  options?: never;
@@ -259,13 +269,15 @@ export interface paths {
259
269
  put?: never;
260
270
  /**
261
271
  * Resize a disk
262
- * @description Capacity can only be increased; shrinking is not supported. Extend the file system inside the instance once the resize completes.
272
+ * @description Capacity can only be increased; shrinking is not supported. The resize is not complete when this endpoint returns; track the returned task, then extend the file system inside the instance.
273
+ *
274
+ * **An attached data disk whose performance scales with its size must be detached before it is resized.** The performance of an attached disk does not change until the disk is detached and attached again, so such a request is refused with `DISK_RESIZE_NEEDS_DETACH` rather than providing the new capacity at the performance of the previous size. Detach the disk, resize it, and attach it again.
263
275
  *
264
- * **A data disk whose performance grows with its size has to be detached first.** The storage backend decides a volume's limit when the volume is attached and never revisits it, so growing one that is attached would give you the capacity immediately and leave the speed at the old size's figure — indefinitely, and stopping the instance does not help. Rather than take the money for performance that does not arrive, this is refused with `DISK_RESIZE_NEEDS_DETACH`; detach the disk, resize it, and attach it again.
276
+ * The request is refused only when the new size has a different performance level. A disk whose type has no QoS level, or whose performance has already reached the maximum of its type, can be resized while attached.
265
277
  *
266
- * It is only refused when the two sizes really would differ in speed. A disk whose type has no QoS level, or whose performance has already reached the type's ceiling, grows online as before.
278
+ * **A system disk can be resized while attached**, because a system disk cannot be detached. System disk types use a performance level that does not scale with size, so resizing a system disk does not change its performance.
267
279
  *
268
- * **A system disk is the exception and grows online**, because a root volume cannot be detached at all. Its performance does not change with size for exactly that reason — system disk types are required to carry a level that does not scale.
280
+ * Replays return HTTP 200 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
269
281
  */
270
282
  post: operations["resize-disk"];
271
283
  delete?: never;
@@ -290,6 +302,8 @@ export interface paths {
290
302
  * 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.
291
303
  *
292
304
  * The revert is not complete when this endpoint returns; poll the retrieve endpoint.
305
+ *
306
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
293
307
  */
294
308
  post: operations["revert-disk"];
295
309
  delete?: never;
@@ -313,6 +327,8 @@ export interface paths {
313
327
  * @description If the private network is not yet connected to the internet, connectivity is established as part of this call.
314
328
  *
315
329
  * IPv6 is not requested through this endpoint. IPv6 addresses are assigned to instances by the private network; enable IPv6 on that network instead.
330
+ *
331
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
316
332
  */
317
333
  post: operations["allocate-floating-ip"];
318
334
  delete?: never;
@@ -335,6 +351,8 @@ export interface paths {
335
351
  /**
336
352
  * Release a floating IP
337
353
  * @description Releases the floating IP after unbinding it. Completion is reported by the returned task.
354
+ *
355
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
338
356
  */
339
357
  delete: operations["release-floating-ip"];
340
358
  options?: never;
@@ -352,9 +370,11 @@ export interface paths {
352
370
  get?: never;
353
371
  /**
354
372
  * Set the bandwidth limit
355
- * @description Limits both directions at once. Limiting egress alone does not prevent ingress traffic from saturating the uplink.
373
+ * @description The limit applies to inbound and outbound traffic alike. The new limit is not in effect when this endpoint returns; track the returned task.
374
+ *
375
+ * While the address is bound to an instance, the limit must not exceed the `max_bandwidth_mbps` of that instance's type; a higher limit is refused with `INSTANCE_BANDWIDTH_CEILING`. The limit of an address that is not bound is checked when the address is bound to an instance.
356
376
  *
357
- * While the address is bound to an instance, the ceiling has to fit that instance type's `max_bandwidth_mbps`; asking for more is refused with `INSTANCE_BANDWIDTH_CEILING`. An address bound to nothing is not checked against any type — there is none to check against — and is checked again when it is attached.
377
+ * Replays return HTTP 200 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
358
378
  */
359
379
  put: operations["set-floating-ip-bandwidth"];
360
380
  post?: never;
@@ -400,7 +420,13 @@ export interface paths {
400
420
  put?: never;
401
421
  /**
402
422
  * Create instances
403
- * @description Creates a Billing order, including for metered pricing. The price must belong to the resource’s Billing Plan; applicable contract pricing is resolved by Billing. Technical capacity is checked before sellable quota is reserved. Provisioning continues automatically after payment; do not submit a new purchase after paying. Reuse the original idempotency key after an uncertain response. Exactly one of image_id, private_image_id or boot_disk_id is required, and exactly one of port_id or subnet_id. Existing ports, boot disks or floating IPs require count=1. Image boots require boot_disk; existing disks retain their own subscription. Instances, disks and public IPs keep their own subscription items on the same order. A request for several instances is all or nothing — if any instance cannot be created, every instance of that request is released and the order fails, so nothing is charged. Each instance is named after this request with a number appended, and each has its own task.
423
+ * @description Creates a Billing order, including for metered pricing. The price must belong to the resource’s Billing Plan; applicable contract pricing is resolved by Billing. The instances are created after the order's invoice is paid, or without waiting when the order has no immediate invoice. Do not submit a new purchase after paying, and reuse the original idempotency key after an uncertain response.
424
+ *
425
+ * Exactly one of image_id, private_image_id or boot_disk_id is required, and exactly one of port_id or subnet_id. Existing ports, boot disks or floating IPs require count=1. Image boots require boot_disk; existing disks retain their own subscription. Instances, disks and public IPs keep their own subscription items on the same order.
426
+ *
427
+ * A request for several instances is all or nothing: if any instance cannot be created, every instance of that request is released, the order fails, and any payment for it is refunded. Each instance is named after this request with a number appended, and each has its own task.
428
+ *
429
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
404
430
  */
405
431
  post: operations["launch-instance"];
406
432
  delete?: never;
@@ -428,6 +454,8 @@ export interface paths {
428
454
  * @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.
429
455
  *
430
456
  * An instance being captured as a private image cannot be released. Wait for the capture to finish, or delete that image first.
457
+ *
458
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
431
459
  */
432
460
  delete: operations["delete-instance"];
433
461
  options?: never;
@@ -488,7 +516,7 @@ export interface paths {
488
516
  * Open a remote console
489
517
  * @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.
490
518
  *
491
- * The returned address is single-use and expires within minutes. **Do not cache it**; request a new one before each use.
519
+ * The returned address is single-use and expires within minutes. Request a new one before each use.
492
520
  */
493
521
  post: operations["open-instance-console"];
494
522
  delete?: never;
@@ -611,6 +639,8 @@ export interface paths {
611
639
  * An instance suspended by the platform must be unsuspended first.
612
640
  *
613
641
  * This endpoint returns immediately and the `status` it returns is the transient `rebooting`. Poll the instance until it settles at `running`.
642
+ *
643
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
614
644
  */
615
645
  post: operations["reboot-instance"];
616
646
  delete?: never;
@@ -652,7 +682,9 @@ export interface paths {
652
682
  put?: never;
653
683
  /**
654
684
  * Resize an instance
655
- * @description Creates a Billing order, including for metered pricing. The price must belong to the resource’s Billing Plan; applicable contract pricing is resolved by Billing. Technical capacity is checked before sellable quota is reserved. Provisioning continues automatically after payment; do not submit a new purchase after paying. Reuse the original idempotency key after an uncertain response.
685
+ * @description Creates a Billing change order, including for metered pricing. The price must belong to the Billing Plan of the target instance type; applicable contract pricing is resolved by Billing. The resize is applied after the order's invoice is paid, or without waiting when the order has no immediate invoice. Do not submit a new purchase after paying, and reuse the original idempotency key after an uncertain response.
686
+ *
687
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
656
688
  */
657
689
  post: operations["resize-instance"];
658
690
  delete?: never;
@@ -673,6 +705,8 @@ export interface paths {
673
705
  /**
674
706
  * Confirm a resize
675
707
  * @description Releases the resources held by the previous size. `pending_instance_type_id` becomes the type in effect and is billed from then on.
708
+ *
709
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
676
710
  */
677
711
  post: operations["confirm-instance-resize"];
678
712
  delete?: never;
@@ -693,6 +727,8 @@ export interface paths {
693
727
  /**
694
728
  * Revert a resize
695
729
  * @description The instance returns to its previous size, `pending_instance_type_id` is discarded, and billing is unaffected by the resize.
730
+ *
731
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
696
732
  */
697
733
  post: operations["revert-instance-resize"];
698
734
  delete?: never;
@@ -713,6 +749,8 @@ export interface paths {
713
749
  /**
714
750
  * Start an instance
715
751
  * @description Records the desired power state. An in-flight shutdown is allowed to finish before a subsequent start. Outstanding restrictions can prevent starting. A stopped instance keeps its disks, network attachments and sellable quota. Inspect operation, task_state, power_state and observed_at to determine completion.
752
+ *
753
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
716
754
  */
717
755
  post: operations["start-instance"];
718
756
  delete?: never;
@@ -733,6 +771,8 @@ export interface paths {
733
771
  /**
734
772
  * Stop an instance
735
773
  * @description Records the desired power state. An in-flight shutdown is allowed to finish before a subsequent start. Outstanding restrictions can prevent starting. A stopped instance keeps its disks, network attachments and sellable quota. Inspect operation, task_state, power_state and observed_at to determine completion.
774
+ *
775
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
736
776
  */
737
777
  post: operations["stop-instance"];
738
778
  delete?: never;
@@ -754,6 +794,8 @@ export interface paths {
754
794
  /**
755
795
  * Attach a disk
756
796
  * @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.
797
+ *
798
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
757
799
  */
758
800
  post: operations["attach-disk"];
759
801
  delete?: never;
@@ -775,6 +817,8 @@ export interface paths {
775
817
  /**
776
818
  * Detach a disk
777
819
  * @description Unmount the device inside the instance before calling this endpoint. Forcibly detaching a file system that is being written to corrupts data.
820
+ *
821
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
778
822
  */
779
823
  delete: operations["detach-disk"];
780
824
  options?: never;
@@ -832,7 +876,10 @@ export interface paths {
832
876
  /** List the network interfaces of an instance */
833
877
  get: operations["list-instance-ports"];
834
878
  put?: never;
835
- /** Attach a network interface */
879
+ /**
880
+ * Attach a network interface
881
+ * @description Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
882
+ */
836
883
  post: operations["attach-port"];
837
884
  delete?: never;
838
885
  options?: never;
@@ -853,6 +900,8 @@ export interface paths {
853
900
  /**
854
901
  * Detach a network interface
855
902
  * @description The primary network interface cannot be detached; the instance would lose its network address.
903
+ *
904
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
856
905
  */
857
906
  delete: operations["detach-port"];
858
907
  options?: never;
@@ -941,7 +990,7 @@ export interface paths {
941
990
  *
942
991
  * **The image reflects the moment the capture started. Later changes to the instance are not included.**
943
992
  *
944
- * The capture has two phases. Poll the retrieve endpoint:
993
+ * The capture has two phases, reported by the status of the image:
945
994
  *
946
995
  * - `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.
947
996
  * - `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.
@@ -949,6 +998,8 @@ export interface paths {
949
998
  * 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`.
950
999
  *
951
1000
  * The instance can be started, stopped and used normally during the capture, but cannot be released.
1001
+ *
1002
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
952
1003
  */
953
1004
  post: operations["create-private-image"];
954
1005
  delete?: never;
@@ -976,6 +1027,8 @@ export interface paths {
976
1027
  * @description Deletion is rejected while instances created from the image still exist, as they need it in order to be rebuilt.
977
1028
  *
978
1029
  * An image whose capture has not finished can be deleted; the capture is aborted.
1030
+ *
1031
+ * Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
979
1032
  */
980
1033
  delete: operations["delete-private-image"];
981
1034
  options?: never;
@@ -1255,6 +1308,8 @@ export interface paths {
1255
1308
  * @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.
1256
1309
  *
1257
1310
  * **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.
1311
+ *
1312
+ * Replays return HTTP 201 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
1258
1313
  */
1259
1314
  post: operations["create-snapshot"];
1260
1315
  delete?: never;
@@ -1274,7 +1329,10 @@ export interface paths {
1274
1329
  get: operations["get-snapshot"];
1275
1330
  put?: never;
1276
1331
  post?: never;
1277
- /** Delete a snapshot */
1332
+ /**
1333
+ * Delete a snapshot
1334
+ * @description Replays return HTTP 202 for the original operation. See the idempotency conventions for conflicts and terminal outcomes.
1335
+ */
1278
1336
  delete: operations["delete-snapshot"];
1279
1337
  options?: never;
1280
1338
  head?: never;
@@ -1319,10 +1377,116 @@ export interface paths {
1319
1377
  patch?: never;
1320
1378
  trace?: never;
1321
1379
  };
1380
+ "/api/v1/peerings": {
1381
+ parameters: {
1382
+ query?: never;
1383
+ header?: never;
1384
+ path?: never;
1385
+ cookie?: never;
1386
+ };
1387
+ /** List peerings */
1388
+ get: operations["list-peerings"];
1389
+ put?: never;
1390
+ /**
1391
+ * Create peering
1392
+ * @description Request IPv4 peering between non-overlapping VPCs in the same Region. The target project must accept before any connectivity is created. Does not change security groups or provide transitive routing.
1393
+ */
1394
+ post: operations["create-peering"];
1395
+ delete?: never;
1396
+ options?: never;
1397
+ head?: never;
1398
+ patch?: never;
1399
+ trace?: never;
1400
+ };
1401
+ "/api/v1/peerings/{peeringId}": {
1402
+ parameters: {
1403
+ query?: never;
1404
+ header?: never;
1405
+ path?: never;
1406
+ cookie?: never;
1407
+ };
1408
+ /** Get peering */
1409
+ get: operations["get-peering"];
1410
+ put?: never;
1411
+ post?: never;
1412
+ /** Delete peering */
1413
+ delete: operations["delete-peering"];
1414
+ options?: never;
1415
+ head?: never;
1416
+ patch?: never;
1417
+ trace?: never;
1418
+ };
1419
+ "/api/v1/peerings/{peeringId}/accept": {
1420
+ parameters: {
1421
+ query?: never;
1422
+ header?: never;
1423
+ path?: never;
1424
+ cookie?: never;
1425
+ };
1426
+ get?: never;
1427
+ put?: never;
1428
+ /** Accept peering */
1429
+ post: operations["accept-peering"];
1430
+ delete?: never;
1431
+ options?: never;
1432
+ head?: never;
1433
+ patch?: never;
1434
+ trace?: never;
1435
+ };
1436
+ "/api/v1/peerings/{peeringId}/reject": {
1437
+ parameters: {
1438
+ query?: never;
1439
+ header?: never;
1440
+ path?: never;
1441
+ cookie?: never;
1442
+ };
1443
+ get?: never;
1444
+ put?: never;
1445
+ /** Reject peering */
1446
+ post: operations["reject-peering"];
1447
+ delete?: never;
1448
+ options?: never;
1449
+ head?: never;
1450
+ patch?: never;
1451
+ trace?: never;
1452
+ };
1322
1453
  }
1323
1454
  export type webhooks = Record<string, never>;
1324
1455
  export interface components {
1325
1456
  schemas: {
1457
+ PeeringResource: {
1458
+ /** Format: uuid */
1459
+ id: string;
1460
+ name: string;
1461
+ /** Format: uuid */
1462
+ region_id: string;
1463
+ /** Format: uuid */
1464
+ requester_project_id: string;
1465
+ /** Format: uuid */
1466
+ accepter_project_id: string;
1467
+ /** Format: uuid */
1468
+ requester_network_id: string;
1469
+ /** Format: uuid */
1470
+ accepter_network_id: string;
1471
+ /** @enum {string} */
1472
+ status: "pending_acceptance" | "provisioning" | "active" | "deleting" | "deleted" | "rejected" | "error";
1473
+ /** Format: date-time */
1474
+ created_at: string;
1475
+ failure_code?: string;
1476
+ };
1477
+ PeeringListResponseBody: {
1478
+ items: components["schemas"]["PeeringResource"][];
1479
+ total: number;
1480
+ };
1481
+ CreatePeeringRequestBody: {
1482
+ name: string;
1483
+ /** Format: uuid */
1484
+ requester_network_id: string;
1485
+ /** Format: uuid */
1486
+ accepter_project_id: string;
1487
+ /** Format: uuid */
1488
+ accepter_network_id: string;
1489
+ };
1326
1490
  Error: {
1327
1491
  code?: string;
1328
1492
  message: string;
@@ -1382,7 +1546,8 @@ export interface components {
1382
1546
  /** Format: uuid */
1383
1547
  disk_id: string;
1384
1548
  name: string;
1385
- price: components["schemas"]["CatalogReference"];
1549
+ /** Format: uuid */
1550
+ price_id: string;
1386
1551
  order: components["schemas"]["OrderOptions"];
1387
1552
  };
1388
1553
  RenameBackupRequestBody: {
@@ -1400,7 +1565,8 @@ export interface components {
1400
1565
  * @description Matches the size of the backup when omitted. When given, it must not be smaller than the backup
1401
1566
  */
1402
1567
  size_gb?: number;
1403
- price: components["schemas"]["CatalogReference"];
1568
+ /** Format: uuid */
1569
+ price_id: string;
1404
1570
  order: components["schemas"]["OrderOptions"];
1405
1571
  };
1406
1572
  DiskResource: {
@@ -1495,13 +1661,10 @@ export interface components {
1495
1661
  * @description Throughput a disk of `max_size_gb` gets, in bytes per second. Null when this type is not rate-limited
1496
1662
  */
1497
1663
  throughput_at_max_size: number | null;
1498
- /** Format: uuid */
1664
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1499
1665
  product_id: string | null;
1500
1666
  /** Format: uuid */
1501
1667
  plan_id: string | null;
1502
- name_translations: {
1503
- [key: string]: string;
1504
- };
1505
1668
  /** Format: uuid */
1506
1669
  snapshot_plan_id: string | null;
1507
1670
  /** Format: uuid */
@@ -1578,13 +1741,10 @@ export interface components {
1578
1741
  region_id: string;
1579
1742
  /** Format: int64 */
1580
1743
  vcpus: number;
1581
- /** Format: uuid */
1744
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1582
1745
  product_id: string | null;
1583
1746
  /** Format: uuid */
1584
1747
  plan_id: string | null;
1585
- name_translations: {
1586
- [key: string]: string;
1587
- };
1588
1748
  };
1589
1749
  InstanceTypeListResponseBody: {
1590
1750
  items: components["schemas"]["InstanceTypeResource"][];
@@ -1598,9 +1758,9 @@ export interface components {
1598
1758
  RegionResource: {
1599
1759
  /** @description ISO 3166-1 alpha-2 country this region sits in. Two letters, uppercase. */
1600
1760
  country_code: string;
1601
- /** @description Display name for this place, shown to tenants (Hong Kong). It is the translatable one; the stable handle is code. */
1761
+ /** @description Display name for this place, shown to tenants (Hong Kong). The stable handle is code. */
1602
1762
  name: string;
1603
- /** @description The region's code, the way the outside world names this place (hk-1). Stable and human-written; it is not an identifier for addressing — every endpoint takes ids. */
1763
+ /** @description The region's code, the way the outside world names this place (hk-1). Stable and human-written; addressing is by id. */
1604
1764
  code: string;
1605
1765
  /** Format: uuid */
1606
1766
  id: string;
@@ -1609,7 +1769,7 @@ export interface components {
1609
1769
  items: components["schemas"]["RegionResource"][] | null;
1610
1770
  };
1611
1771
  ZoneResource: {
1612
- /** @description Display name for this zone, shown to tenants (Hong Kong A). It is the translatable one; the stable handle is code. AWS has no equivalent — what it calls an Availability Zone name is our code. */
1772
+ /** @description Display name for this zone, shown to tenants (Hong Kong A). The stable handle is code. */
1613
1773
  name: string;
1614
1774
  /** @description The zone's code within its region (hk-1-a). Stable and human-written; addressing is by id. */
1615
1775
  code: string;
@@ -1636,7 +1796,8 @@ export interface components {
1636
1796
  * @description Restore from this snapshot. When given, the capacity need only be no smaller than the snapshot
1637
1797
  */
1638
1798
  snapshot_id?: string;
1639
- price: components["schemas"]["CatalogReference"];
1799
+ /** Format: uuid */
1800
+ price_id: string;
1640
1801
  order: components["schemas"]["OrderOptions"];
1641
1802
  };
1642
1803
  RenameDiskRequestBody: {
@@ -1648,7 +1809,8 @@ export interface components {
1648
1809
  * @description Must be larger than the current capacity
1649
1810
  */
1650
1811
  size_gb: number;
1651
- price: components["schemas"]["CatalogReference"];
1812
+ /** Format: uuid */
1813
+ price_id: string;
1652
1814
  order: components["schemas"]["OrderOptions"];
1653
1815
  };
1654
1816
  RevertDiskRequestBody: {
@@ -1715,8 +1877,10 @@ export interface components {
1715
1877
  private_network_id: string;
1716
1878
  /** Format: uuid */
1717
1879
  ipv4_pool_id: string;
1718
- price: components["schemas"]["CatalogReference"];
1719
- bandwidth_price: components["schemas"]["CatalogReference"];
1880
+ /** Format: uuid */
1881
+ price_id: string;
1882
+ /** Format: uuid */
1883
+ bandwidth_price_id: string;
1720
1884
  order: components["schemas"]["OrderOptions"];
1721
1885
  };
1722
1886
  SetBandwidthRequestBody: {
@@ -1725,7 +1889,8 @@ export interface components {
1725
1889
  * @description Applied to both directions
1726
1890
  */
1727
1891
  mbps: number;
1728
- price: components["schemas"]["CatalogReference"];
1892
+ /** Format: uuid */
1893
+ price_id: string;
1729
1894
  order: components["schemas"]["OrderOptions"];
1730
1895
  };
1731
1896
  BindFloatingIPRequestBody: {
@@ -1878,7 +2043,8 @@ export interface components {
1878
2043
  */
1879
2044
  subnet_id?: string;
1880
2045
  order: components["schemas"]["OrderOptions"];
1881
- price: components["schemas"]["CatalogReference"];
2046
+ /** Format: uuid */
2047
+ price_id: string;
1882
2048
  boot_disk?: components["schemas"]["NewBootDisk"];
1883
2049
  floating_ip?: components["schemas"]["NewFloatingIP"];
1884
2050
  };
@@ -1965,7 +2131,8 @@ export interface components {
1965
2131
  */
1966
2132
  instance_type_id: string;
1967
2133
  order: components["schemas"]["OrderOptions"];
1968
- price: components["schemas"]["CatalogReference"];
2134
+ /** Format: uuid */
2135
+ price_id: string;
1969
2136
  };
1970
2137
  AttachDiskRequestBody: {
1971
2138
  /** Format: uuid */
@@ -2117,7 +2284,8 @@ export interface components {
2117
2284
  */
2118
2285
  instance_id: string;
2119
2286
  name: string;
2120
- price: components["schemas"]["CatalogReference"];
2287
+ /** Format: uuid */
2288
+ price_id: string;
2121
2289
  order: components["schemas"]["OrderOptions"];
2122
2290
  };
2123
2291
  RenamePrivateImageRequestBody: {
@@ -2162,13 +2330,19 @@ export interface components {
2162
2330
  status: "pending" | "active" | "draining";
2163
2331
  };
2164
2332
  RouteResource: {
2333
+ /**
2334
+ * Format: uuid
2335
+ * @description System-owned peering route. Delete the peering to remove this route.
2336
+ */
2337
+ peering_id?: string;
2165
2338
  /** Format: date-time */
2166
2339
  created_at: string;
2167
2340
  description: string;
2168
2341
  destination: string;
2169
2342
  /** Format: uuid */
2170
2343
  id: string;
2171
- nexthop: string;
2344
+ /** @description Present for custom routes; peering routes expose peering_id instead. */
2345
+ nexthop?: string;
2172
2346
  };
2173
2347
  RouteListResponseBody: {
2174
2348
  items: components["schemas"]["RouteResource"][] | null;
@@ -2317,7 +2491,8 @@ export interface components {
2317
2491
  /** Format: uuid */
2318
2492
  disk_id: string;
2319
2493
  name: string;
2320
- price: components["schemas"]["CatalogReference"];
2494
+ /** Format: uuid */
2495
+ price_id: string;
2321
2496
  order: components["schemas"]["OrderOptions"];
2322
2497
  };
2323
2498
  RenameSecurityGroupRequestBody: {
@@ -2326,52 +2501,56 @@ export interface components {
2326
2501
  RenameSnapshotRequestBody: {
2327
2502
  name: string;
2328
2503
  };
2329
- /** @description Reuse the same key for retries of the same purchase. Reusing it with a different request fails. Billing selects contract pricing, applies eligible grants and promotions, and owns payment challenges and expiry. */
2504
+ /** @description Purchase options. Reuse idempotency_key for retries of the same purchase, including resource creation. Different parameters with the same key return HTTP 409. Replays identify the original purchase and do not create another order. */
2330
2505
  OrderOptions: {
2331
2506
  idempotency_key: string;
2332
- payment_plan?: components["schemas"]["PaymentPlan"];
2507
+ /**
2508
+ * @description Defaults to true. When true, the purchase is paid from available account funds and applicable grants when it is placed. If they do not cover the amount due, the request fails with HTTP 422 and code BILLING_INSUFFICIENT_FUNDS; no order is created and nothing is charged. The idempotency key remains bound to the refused request. Retrying with the same key returns HTTP 409 with code ORDER_CLOSED, and purchasing again requires a new idempotency key. When false, the order is created without payment, and its invoice, if any, is paid through Billing.
2509
+ * @default true
2510
+ */
2511
+ auto_pay?: boolean;
2333
2512
  expected_amount?: string;
2334
2513
  redemption_code?: string;
2335
2514
  };
2336
- /** @description Specify exactly one of id or lookup_key. A lookup key is scoped to the product of the resource service. */
2337
- CatalogReference: {
2338
- /** Format: uuid */
2339
- id?: string;
2340
- lookup_key?: string;
2341
- };
2342
- /**
2343
- * @description A billable order has been created. Read it from the billing API to find out what is
2344
- * owed and whether payment is still required.
2345
- *
2346
- * Only the identifier is returned. Amounts and state are not repeated here; the order
2347
- * itself is the single source for them.
2348
- */
2515
+ /** @description Identifies the original purchase. Replays retain these identifiers. Read the order for purchase progress and its invoice for amounts and payment status. */
2349
2516
  PlacedOrder: {
2350
2517
  /**
2351
2518
  * Format: uuid
2352
- * @description Identifies the order. Use it to read the order and, where payment is required,
2353
- * to pay it.
2354
- *
2355
- * An order is created even when nothing is owed, such as a plan with no charge or one
2356
- * covered entirely by granted credit. Such an order is already settled, and no
2357
- * payment step applies.
2519
+ * @description The invoice for this purchase. Null when there is no immediate invoice. Replays retain this identifier; read the invoice for its current payment state.
2520
+ */
2521
+ invoice_id: string | null;
2522
+ /**
2523
+ * Format: uuid
2524
+ * @description The original order, including for purchases without an immediate charge. Payment alone does not imply that the service has completed delivery.
2358
2525
  */
2359
2526
  order_id: string;
2360
2527
  };
2528
+ /** @description Identifies the Compute task and the Billing order of a purchase. Work on the purchase starts after the order's invoice is paid, or without waiting when the order has no immediate invoice. Track the task for completion. */
2529
+ PurchaseResult: {
2530
+ /**
2531
+ * Format: uuid
2532
+ * @description The original Compute task. Replays retain this identifier, including after failure or cancellation.
2533
+ */
2534
+ task_id: string;
2535
+ order: components["schemas"]["PlacedOrder"];
2536
+ };
2361
2537
  /** @description A system disk purchased in the same order. Required when booting from an image; mutually exclusive with boot_disk_id. */
2362
2538
  NewBootDisk: {
2363
2539
  /** Format: uuid */
2364
2540
  disk_type_id: string;
2365
2541
  /** Format: int64 */
2366
2542
  size_gb: number;
2367
- price: components["schemas"]["CatalogReference"];
2543
+ /** Format: uuid */
2544
+ price_id: string;
2368
2545
  /** @default true */
2369
2546
  delete_with_instance?: boolean;
2370
2547
  };
2371
2548
  /** @description An address and bandwidth purchased in the same order. Mutually exclusive with floating_ip_id. */
2372
2549
  NewFloatingIP: {
2373
- price: components["schemas"]["CatalogReference"];
2374
- bandwidth_price: components["schemas"]["CatalogReference"];
2550
+ /** Format: uuid */
2551
+ price_id: string;
2552
+ /** Format: uuid */
2553
+ bandwidth_price_id: string;
2375
2554
  /** Format: int64 */
2376
2555
  bandwidth_mbps: number;
2377
2556
  /** Format: uuid */
@@ -2481,8 +2660,15 @@ export interface components {
2481
2660
  total_count: number;
2482
2661
  };
2483
2662
  LaunchInstanceResponseBody: {
2663
+ /** @description Instances created by this operation. Empty before resource creation starts; a replay may include identifiers produced since the first response. Historical identifiers do not imply that the instances still exist. */
2664
+ instance_ids: string[];
2665
+ /**
2666
+ * Format: uuid
2667
+ * @description The original Compute task. Replays retain this identifier, including after failure or cancellation.
2668
+ */
2669
+ task_id: string;
2484
2670
  order: components["schemas"]["PlacedOrder"];
2485
- /** @description Generated login password. Null when no password was generated. Keep it before leaving this response. */
2671
+ /** @description Generated login password, returned only by the initial response. Null on replay or when no password was generated. A retry never generates or resets a password. */
2486
2672
  password: string | null;
2487
2673
  };
2488
2674
  IPv4PoolResource: {
@@ -2523,11 +2709,6 @@ export interface components {
2523
2709
  /** Format: date-time */
2524
2710
  released_at: string | null;
2525
2711
  };
2526
- /** @description Requested funding split. This does not select a card or payment provider; complete payment through Billing. */
2527
- PaymentPlan: {
2528
- balance_amount: string;
2529
- provider_amount: string;
2530
- };
2531
2712
  };
2532
2713
  responses: never;
2533
2714
  parameters: never;
@@ -2588,7 +2769,16 @@ export interface operations {
2588
2769
  [name: string]: unknown;
2589
2770
  };
2590
2771
  content: {
2591
- "application/json": components["schemas"]["PlacedOrder"];
2772
+ "application/json": components["schemas"]["PurchaseResult"];
2773
+ };
2774
+ };
2775
+ /** @description The idempotency key was already used with different parameters in this scope. */
2776
+ 409: {
2777
+ headers: {
2778
+ [name: string]: unknown;
2779
+ };
2780
+ content: {
2781
+ "application/json": components["schemas"]["Error"];
2592
2782
  };
2593
2783
  };
2594
2784
  /** @description Error */
@@ -2656,6 +2846,15 @@ export interface operations {
2656
2846
  "application/json": components["schemas"]["Task"];
2657
2847
  };
2658
2848
  };
2849
+ /** @description The idempotency key was already used with different parameters in this scope. */
2850
+ 409: {
2851
+ headers: {
2852
+ [name: string]: unknown;
2853
+ };
2854
+ content: {
2855
+ "application/json": components["schemas"]["Error"];
2856
+ };
2857
+ };
2659
2858
  /** @description Error */
2660
2859
  default: {
2661
2860
  headers: {
@@ -2723,7 +2922,16 @@ export interface operations {
2723
2922
  [name: string]: unknown;
2724
2923
  };
2725
2924
  content: {
2726
- "application/json": components["schemas"]["PlacedOrder"];
2925
+ "application/json": components["schemas"]["PurchaseResult"];
2926
+ };
2927
+ };
2928
+ /** @description The idempotency key was already used with different parameters in this scope. */
2929
+ 409: {
2930
+ headers: {
2931
+ [name: string]: unknown;
2932
+ };
2933
+ content: {
2934
+ "application/json": components["schemas"]["Error"];
2727
2935
  };
2728
2936
  };
2729
2937
  /** @description Error */
@@ -2977,29 +3185,11 @@ export interface operations {
2977
3185
  [name: string]: unknown;
2978
3186
  };
2979
3187
  content: {
2980
- "application/json": components["schemas"]["PlacedOrder"];
3188
+ "application/json": components["schemas"]["PurchaseResult"];
2981
3189
  };
2982
3190
  };
2983
- /**
2984
- * @description Payment required: **nothing was created.**
2985
- *
2986
- * Returned when `payment_method` is `online`. `meta.checkout_url` is where to send the
2987
- * customer; `meta.order_id` is the order waiting on it.
2988
- *
2989
- * ## Why this is a status and not a field on a 200
2990
- *
2991
- * A field on a success response is something a client can forget to read, and forgetting it
2992
- * means treating "we created nothing and are waiting for money" as "created" — which looks
2993
- * identical from the outside until the bill does not add up. A 402 fails loudly in any
2994
- * client that handles errors at all.
2995
- *
2996
- * ## What happens after they pay
2997
- *
2998
- * The money lands in the balance and the order is settled from it. The resource is **not**
2999
- * created automatically: placing it again is the customer's move, because between paying
3000
- * and coming back they may have changed their mind. The balance is theirs either way.
3001
- */
3002
- 402: {
3191
+ /** @description The idempotency key was already used with different parameters in this scope. */
3192
+ 409: {
3003
3193
  headers: {
3004
3194
  [name: string]: unknown;
3005
3195
  };
@@ -3072,6 +3262,15 @@ export interface operations {
3072
3262
  "application/json": components["schemas"]["Task"];
3073
3263
  };
3074
3264
  };
3265
+ /** @description The idempotency key was already used with different parameters in this scope. */
3266
+ 409: {
3267
+ headers: {
3268
+ [name: string]: unknown;
3269
+ };
3270
+ content: {
3271
+ "application/json": components["schemas"]["Error"];
3272
+ };
3273
+ };
3075
3274
  /** @description Error */
3076
3275
  default: {
3077
3276
  headers: {
@@ -3139,7 +3338,16 @@ export interface operations {
3139
3338
  [name: string]: unknown;
3140
3339
  };
3141
3340
  content: {
3142
- "application/json": components["schemas"]["PlacedOrder"];
3341
+ "application/json": components["schemas"]["PurchaseResult"];
3342
+ };
3343
+ };
3344
+ /** @description The idempotency key was already used with different parameters in this scope. */
3345
+ 409: {
3346
+ headers: {
3347
+ [name: string]: unknown;
3348
+ };
3349
+ content: {
3350
+ "application/json": components["schemas"]["Error"];
3143
3351
  };
3144
3352
  };
3145
3353
  /** @description Error */
@@ -3180,6 +3388,15 @@ export interface operations {
3180
3388
  "application/json": components["schemas"]["Task"];
3181
3389
  };
3182
3390
  };
3391
+ /** @description The idempotency key was already used with different parameters in this scope. */
3392
+ 409: {
3393
+ headers: {
3394
+ [name: string]: unknown;
3395
+ };
3396
+ content: {
3397
+ "application/json": components["schemas"]["Error"];
3398
+ };
3399
+ };
3183
3400
  /** @description Error */
3184
3401
  default: {
3185
3402
  headers: {
@@ -3239,7 +3456,16 @@ export interface operations {
3239
3456
  [name: string]: unknown;
3240
3457
  };
3241
3458
  content: {
3242
- "application/json": components["schemas"]["PlacedOrder"];
3459
+ "application/json": components["schemas"]["PurchaseResult"];
3460
+ };
3461
+ };
3462
+ /** @description The idempotency key was already used with different parameters in this scope. */
3463
+ 409: {
3464
+ headers: {
3465
+ [name: string]: unknown;
3466
+ };
3467
+ content: {
3468
+ "application/json": components["schemas"]["Error"];
3243
3469
  };
3244
3470
  };
3245
3471
  /** @description Error */
@@ -3307,6 +3533,15 @@ export interface operations {
3307
3533
  "application/json": components["schemas"]["Task"];
3308
3534
  };
3309
3535
  };
3536
+ /** @description The idempotency key was already used with different parameters in this scope. */
3537
+ 409: {
3538
+ headers: {
3539
+ [name: string]: unknown;
3540
+ };
3541
+ content: {
3542
+ "application/json": components["schemas"]["Error"];
3543
+ };
3544
+ };
3310
3545
  /** @description Error */
3311
3546
  default: {
3312
3547
  headers: {
@@ -3339,7 +3574,16 @@ export interface operations {
3339
3574
  [name: string]: unknown;
3340
3575
  };
3341
3576
  content: {
3342
- "application/json": components["schemas"]["PlacedOrder"];
3577
+ "application/json": components["schemas"]["PurchaseResult"];
3578
+ };
3579
+ };
3580
+ /** @description The idempotency key was already used with different parameters in this scope. */
3581
+ 409: {
3582
+ headers: {
3583
+ [name: string]: unknown;
3584
+ };
3585
+ content: {
3586
+ "application/json": components["schemas"]["Error"];
3343
3587
  };
3344
3588
  };
3345
3589
  /** @description Error */
@@ -3475,6 +3719,15 @@ export interface operations {
3475
3719
  "application/json": components["schemas"]["LaunchInstanceResponseBody"];
3476
3720
  };
3477
3721
  };
3722
+ /** @description The idempotency key was already used with different parameters in this scope. */
3723
+ 409: {
3724
+ headers: {
3725
+ [name: string]: unknown;
3726
+ };
3727
+ content: {
3728
+ "application/json": components["schemas"]["Error"];
3729
+ };
3730
+ };
3478
3731
  /** @description Error */
3479
3732
  default: {
3480
3733
  headers: {
@@ -3540,6 +3793,15 @@ export interface operations {
3540
3793
  "application/json": components["schemas"]["Task"];
3541
3794
  };
3542
3795
  };
3796
+ /** @description The idempotency key was already used with different parameters in this scope. */
3797
+ 409: {
3798
+ headers: {
3799
+ [name: string]: unknown;
3800
+ };
3801
+ content: {
3802
+ "application/json": components["schemas"]["Error"];
3803
+ };
3804
+ };
3543
3805
  /** @description Error */
3544
3806
  default: {
3545
3807
  headers: {
@@ -3818,6 +4080,15 @@ export interface operations {
3818
4080
  "application/json": components["schemas"]["Task"];
3819
4081
  };
3820
4082
  };
4083
+ /** @description The idempotency key was already used with different parameters in this scope. */
4084
+ 409: {
4085
+ headers: {
4086
+ [name: string]: unknown;
4087
+ };
4088
+ content: {
4089
+ "application/json": components["schemas"]["Error"];
4090
+ };
4091
+ };
3821
4092
  /** @description Error */
3822
4093
  default: {
3823
4094
  headers: {
@@ -3885,7 +4156,16 @@ export interface operations {
3885
4156
  [name: string]: unknown;
3886
4157
  };
3887
4158
  content: {
3888
- "application/json": components["schemas"]["PlacedOrder"];
4159
+ "application/json": components["schemas"]["PurchaseResult"];
4160
+ };
4161
+ };
4162
+ /** @description The idempotency key was already used with different parameters in this scope. */
4163
+ 409: {
4164
+ headers: {
4165
+ [name: string]: unknown;
4166
+ };
4167
+ content: {
4168
+ "application/json": components["schemas"]["Error"];
3889
4169
  };
3890
4170
  };
3891
4171
  /** @description Error */
@@ -3922,6 +4202,15 @@ export interface operations {
3922
4202
  "application/json": components["schemas"]["Task"];
3923
4203
  };
3924
4204
  };
4205
+ /** @description The idempotency key was already used with different parameters in this scope. */
4206
+ 409: {
4207
+ headers: {
4208
+ [name: string]: unknown;
4209
+ };
4210
+ content: {
4211
+ "application/json": components["schemas"]["Error"];
4212
+ };
4213
+ };
3925
4214
  /** @description Error */
3926
4215
  default: {
3927
4216
  headers: {
@@ -3956,6 +4245,15 @@ export interface operations {
3956
4245
  "application/json": components["schemas"]["Task"];
3957
4246
  };
3958
4247
  };
4248
+ /** @description The idempotency key was already used with different parameters in this scope. */
4249
+ 409: {
4250
+ headers: {
4251
+ [name: string]: unknown;
4252
+ };
4253
+ content: {
4254
+ "application/json": components["schemas"]["Error"];
4255
+ };
4256
+ };
3959
4257
  /** @description Error */
3960
4258
  default: {
3961
4259
  headers: {
@@ -3994,6 +4292,15 @@ export interface operations {
3994
4292
  "application/json": components["schemas"]["Task"];
3995
4293
  };
3996
4294
  };
4295
+ /** @description The idempotency key was already used with different parameters in this scope. */
4296
+ 409: {
4297
+ headers: {
4298
+ [name: string]: unknown;
4299
+ };
4300
+ content: {
4301
+ "application/json": components["schemas"]["Error"];
4302
+ };
4303
+ };
3997
4304
  /** @description Error */
3998
4305
  default: {
3999
4306
  headers: {
@@ -4032,6 +4339,15 @@ export interface operations {
4032
4339
  "application/json": components["schemas"]["Task"];
4033
4340
  };
4034
4341
  };
4342
+ /** @description The idempotency key was already used with different parameters in this scope. */
4343
+ 409: {
4344
+ headers: {
4345
+ [name: string]: unknown;
4346
+ };
4347
+ content: {
4348
+ "application/json": components["schemas"]["Error"];
4349
+ };
4350
+ };
4035
4351
  /** @description Error */
4036
4352
  default: {
4037
4353
  headers: {
@@ -4104,6 +4420,15 @@ export interface operations {
4104
4420
  "application/json": components["schemas"]["Task"];
4105
4421
  };
4106
4422
  };
4423
+ /** @description The idempotency key was already used with different parameters in this scope. */
4424
+ 409: {
4425
+ headers: {
4426
+ [name: string]: unknown;
4427
+ };
4428
+ content: {
4429
+ "application/json": components["schemas"]["Error"];
4430
+ };
4431
+ };
4107
4432
  /** @description Error */
4108
4433
  default: {
4109
4434
  headers: {
@@ -4139,6 +4464,15 @@ export interface operations {
4139
4464
  "application/json": components["schemas"]["Task"];
4140
4465
  };
4141
4466
  };
4467
+ /** @description The idempotency key was already used with different parameters in this scope. */
4468
+ 409: {
4469
+ headers: {
4470
+ [name: string]: unknown;
4471
+ };
4472
+ content: {
4473
+ "application/json": components["schemas"]["Error"];
4474
+ };
4475
+ };
4142
4476
  /** @description Error */
4143
4477
  default: {
4144
4478
  headers: {
@@ -4278,6 +4612,15 @@ export interface operations {
4278
4612
  "application/json": components["schemas"]["Task"];
4279
4613
  };
4280
4614
  };
4615
+ /** @description The idempotency key was already used with different parameters in this scope. */
4616
+ 409: {
4617
+ headers: {
4618
+ [name: string]: unknown;
4619
+ };
4620
+ content: {
4621
+ "application/json": components["schemas"]["Error"];
4622
+ };
4623
+ };
4281
4624
  /** @description Error */
4282
4625
  default: {
4283
4626
  headers: {
@@ -4313,6 +4656,15 @@ export interface operations {
4313
4656
  "application/json": components["schemas"]["Task"];
4314
4657
  };
4315
4658
  };
4659
+ /** @description The idempotency key was already used with different parameters in this scope. */
4660
+ 409: {
4661
+ headers: {
4662
+ [name: string]: unknown;
4663
+ };
4664
+ content: {
4665
+ "application/json": components["schemas"]["Error"];
4666
+ };
4667
+ };
4316
4668
  /** @description Error */
4317
4669
  default: {
4318
4670
  headers: {
@@ -4502,7 +4854,16 @@ export interface operations {
4502
4854
  [name: string]: unknown;
4503
4855
  };
4504
4856
  content: {
4505
- "application/json": components["schemas"]["PlacedOrder"];
4857
+ "application/json": components["schemas"]["PurchaseResult"];
4858
+ };
4859
+ };
4860
+ /** @description The idempotency key was already used with different parameters in this scope. */
4861
+ 409: {
4862
+ headers: {
4863
+ [name: string]: unknown;
4864
+ };
4865
+ content: {
4866
+ "application/json": components["schemas"]["Error"];
4506
4867
  };
4507
4868
  };
4508
4869
  /** @description Error */
@@ -4570,6 +4931,15 @@ export interface operations {
4570
4931
  "application/json": components["schemas"]["Task"];
4571
4932
  };
4572
4933
  };
4934
+ /** @description The idempotency key was already used with different parameters in this scope. */
4935
+ 409: {
4936
+ headers: {
4937
+ [name: string]: unknown;
4938
+ };
4939
+ content: {
4940
+ "application/json": components["schemas"]["Error"];
4941
+ };
4942
+ };
4573
4943
  /** @description Error */
4574
4944
  default: {
4575
4945
  headers: {
@@ -5400,7 +5770,16 @@ export interface operations {
5400
5770
  [name: string]: unknown;
5401
5771
  };
5402
5772
  content: {
5403
- "application/json": components["schemas"]["PlacedOrder"];
5773
+ "application/json": components["schemas"]["PurchaseResult"];
5774
+ };
5775
+ };
5776
+ /** @description The idempotency key was already used with different parameters in this scope. */
5777
+ 409: {
5778
+ headers: {
5779
+ [name: string]: unknown;
5780
+ };
5781
+ content: {
5782
+ "application/json": components["schemas"]["Error"];
5404
5783
  };
5405
5784
  };
5406
5785
  /** @description Error */
@@ -5468,6 +5847,15 @@ export interface operations {
5468
5847
  "application/json": components["schemas"]["Task"];
5469
5848
  };
5470
5849
  };
5850
+ /** @description The idempotency key was already used with different parameters in this scope. */
5851
+ 409: {
5852
+ headers: {
5853
+ [name: string]: unknown;
5854
+ };
5855
+ content: {
5856
+ "application/json": components["schemas"]["Error"];
5857
+ };
5858
+ };
5471
5859
  /** @description Error */
5472
5860
  default: {
5473
5861
  headers: {
@@ -5578,4 +5966,193 @@ export interface operations {
5578
5966
  };
5579
5967
  };
5580
5968
  };
5969
+ "list-peerings": {
5970
+ parameters: {
5971
+ query?: {
5972
+ limit?: number;
5973
+ offset?: number;
5974
+ };
5975
+ header?: never;
5976
+ path?: never;
5977
+ cookie?: never;
5978
+ };
5979
+ requestBody?: never;
5980
+ responses: {
5981
+ /** @description Success */
5982
+ 200: {
5983
+ headers: {
5984
+ [name: string]: unknown;
5985
+ };
5986
+ content: {
5987
+ "application/json": components["schemas"]["PeeringListResponseBody"];
5988
+ };
5989
+ };
5990
+ /** @description Error */
5991
+ default: {
5992
+ headers: {
5993
+ [name: string]: unknown;
5994
+ };
5995
+ content: {
5996
+ "application/json": components["schemas"]["Error"];
5997
+ };
5998
+ };
5999
+ };
6000
+ };
6001
+ "create-peering": {
6002
+ parameters: {
6003
+ query?: never;
6004
+ header?: never;
6005
+ path?: never;
6006
+ cookie?: never;
6007
+ };
6008
+ requestBody: {
6009
+ content: {
6010
+ "application/json": components["schemas"]["CreatePeeringRequestBody"];
6011
+ };
6012
+ };
6013
+ responses: {
6014
+ /** @description Success */
6015
+ 201: {
6016
+ headers: {
6017
+ [name: string]: unknown;
6018
+ };
6019
+ content: {
6020
+ "application/json": components["schemas"]["PeeringResource"];
6021
+ };
6022
+ };
6023
+ /** @description Error */
6024
+ default: {
6025
+ headers: {
6026
+ [name: string]: unknown;
6027
+ };
6028
+ content: {
6029
+ "application/json": components["schemas"]["Error"];
6030
+ };
6031
+ };
6032
+ };
6033
+ };
6034
+ "get-peering": {
6035
+ parameters: {
6036
+ query?: never;
6037
+ header?: never;
6038
+ path: {
6039
+ peeringId: string;
6040
+ };
6041
+ cookie?: never;
6042
+ };
6043
+ requestBody?: never;
6044
+ responses: {
6045
+ /** @description Success */
6046
+ 200: {
6047
+ headers: {
6048
+ [name: string]: unknown;
6049
+ };
6050
+ content: {
6051
+ "application/json": components["schemas"]["PeeringResource"];
6052
+ };
6053
+ };
6054
+ /** @description Error */
6055
+ default: {
6056
+ headers: {
6057
+ [name: string]: unknown;
6058
+ };
6059
+ content: {
6060
+ "application/json": components["schemas"]["Error"];
6061
+ };
6062
+ };
6063
+ };
6064
+ };
6065
+ "delete-peering": {
6066
+ parameters: {
6067
+ query?: never;
6068
+ header?: never;
6069
+ path: {
6070
+ peeringId: string;
6071
+ };
6072
+ cookie?: never;
6073
+ };
6074
+ requestBody?: never;
6075
+ responses: {
6076
+ /** @description Success */
6077
+ 202: {
6078
+ headers: {
6079
+ [name: string]: unknown;
6080
+ };
6081
+ content: {
6082
+ "application/json": components["schemas"]["PeeringResource"];
6083
+ };
6084
+ };
6085
+ /** @description Error */
6086
+ default: {
6087
+ headers: {
6088
+ [name: string]: unknown;
6089
+ };
6090
+ content: {
6091
+ "application/json": components["schemas"]["Error"];
6092
+ };
6093
+ };
6094
+ };
6095
+ };
6096
+ "accept-peering": {
6097
+ parameters: {
6098
+ query?: never;
6099
+ header?: never;
6100
+ path: {
6101
+ peeringId: string;
6102
+ };
6103
+ cookie?: never;
6104
+ };
6105
+ requestBody?: never;
6106
+ responses: {
6107
+ /** @description Success */
6108
+ 202: {
6109
+ headers: {
6110
+ [name: string]: unknown;
6111
+ };
6112
+ content: {
6113
+ "application/json": components["schemas"]["PeeringResource"];
6114
+ };
6115
+ };
6116
+ /** @description Error */
6117
+ default: {
6118
+ headers: {
6119
+ [name: string]: unknown;
6120
+ };
6121
+ content: {
6122
+ "application/json": components["schemas"]["Error"];
6123
+ };
6124
+ };
6125
+ };
6126
+ };
6127
+ "reject-peering": {
6128
+ parameters: {
6129
+ query?: never;
6130
+ header?: never;
6131
+ path: {
6132
+ peeringId: string;
6133
+ };
6134
+ cookie?: never;
6135
+ };
6136
+ requestBody?: never;
6137
+ responses: {
6138
+ /** @description Success */
6139
+ 200: {
6140
+ headers: {
6141
+ [name: string]: unknown;
6142
+ };
6143
+ content: {
6144
+ "application/json": components["schemas"]["PeeringResource"];
6145
+ };
6146
+ };
6147
+ /** @description Error */
6148
+ default: {
6149
+ headers: {
6150
+ [name: string]: unknown;
6151
+ };
6152
+ content: {
6153
+ "application/json": components["schemas"]["Error"];
6154
+ };
6155
+ };
6156
+ };
6157
+ };
5581
6158
  }