@leaflow/sdk 0.0.0-dev.25.g6c5751f → 0.0.0-dev.252.gbe25f3b

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 (79) hide show
  1. package/README.md +22 -1
  2. package/dist/account/v1/client.d.ts +4 -0
  3. package/dist/account/v1/client.js +7 -0
  4. package/dist/account/v1/index.d.ts +33 -22
  5. package/dist/account/v1/index.js +4 -4
  6. package/dist/account/v1/schema.d.ts +307 -89
  7. package/dist/assistant/v1/client.d.ts +4 -0
  8. package/dist/assistant/v1/client.js +7 -0
  9. package/dist/assistant/v1/index.d.ts +71 -40
  10. package/dist/assistant/v1/index.js +4 -4
  11. package/dist/assistant/v1/schema.d.ts +1204 -139
  12. package/dist/billing/account/v1/client.d.ts +4 -0
  13. package/dist/billing/account/v1/client.js +7 -0
  14. package/dist/billing/account/v1/index.d.ts +169 -0
  15. package/dist/billing/account/v1/index.js +5 -0
  16. package/dist/billing/account/v1/schema.d.ts +4385 -0
  17. package/dist/billing/account/v1/schema.js +5 -0
  18. package/dist/billing/catalog/v1/client.d.ts +4 -0
  19. package/dist/billing/catalog/v1/client.js +7 -0
  20. package/dist/billing/catalog/v1/index.d.ts +33 -0
  21. package/dist/billing/catalog/v1/index.js +5 -0
  22. package/dist/billing/catalog/v1/schema.d.ts +915 -0
  23. package/dist/billing/catalog/v1/schema.js +5 -0
  24. package/dist/billing/index.d.ts +3 -0
  25. package/dist/billing/index.js +6 -0
  26. package/dist/billing/project/v1/client.d.ts +4 -0
  27. package/dist/billing/project/v1/client.js +7 -0
  28. package/dist/billing/project/v1/index.d.ts +59 -0
  29. package/dist/billing/project/v1/index.js +5 -0
  30. package/dist/billing/project/v1/schema.d.ts +1892 -0
  31. package/dist/billing/project/v1/schema.js +5 -0
  32. package/dist/canopy/v1/client.d.ts +4 -0
  33. package/dist/canopy/v1/client.js +7 -0
  34. package/dist/canopy/v1/index.d.ts +24 -23
  35. package/dist/canopy/v1/index.js +4 -4
  36. package/dist/canopy/v1/schema.d.ts +113 -109
  37. package/dist/compute/v1/client.d.ts +4 -0
  38. package/dist/compute/v1/client.js +7 -0
  39. package/dist/compute/v1/index.d.ts +207 -134
  40. package/dist/compute/v1/index.js +4 -4
  41. package/dist/compute/v1/schema.d.ts +1944 -553
  42. package/dist/dns/v1/client.d.ts +4 -0
  43. package/dist/dns/v1/client.js +7 -0
  44. package/dist/dns/v1/index.d.ts +43 -0
  45. package/dist/dns/v1/index.js +5 -0
  46. package/dist/dns/v1/schema.d.ts +887 -0
  47. package/dist/dns/v1/schema.js +5 -0
  48. package/dist/iam/v1/client.d.ts +4 -0
  49. package/dist/iam/v1/client.js +7 -0
  50. package/dist/iam/v1/index.d.ts +55 -32
  51. package/dist/iam/v1/index.js +4 -4
  52. package/dist/iam/v1/schema.d.ts +521 -88
  53. package/dist/index.d.ts +11 -7
  54. package/dist/index.js +19 -5
  55. package/dist/monitoring/v1/client.d.ts +4 -0
  56. package/dist/monitoring/v1/client.js +7 -0
  57. package/dist/monitoring/v1/index.d.ts +130 -49
  58. package/dist/monitoring/v1/index.js +4 -4
  59. package/dist/monitoring/v1/schema.d.ts +2420 -527
  60. package/dist/notification/v1/client.d.ts +4 -0
  61. package/dist/notification/v1/client.js +7 -0
  62. package/dist/notification/v1/index.d.ts +81 -0
  63. package/dist/notification/v1/index.js +5 -0
  64. package/dist/notification/v1/schema.d.ts +2048 -0
  65. package/dist/notification/v1/schema.js +5 -0
  66. package/dist/routes.d.ts +3234 -0
  67. package/dist/routes.js +3639 -0
  68. package/dist/support/v1/client.d.ts +4 -0
  69. package/dist/support/v1/client.js +7 -0
  70. package/dist/support/v1/index.d.ts +51 -0
  71. package/dist/support/v1/index.js +5 -0
  72. package/dist/support/v1/schema.d.ts +1082 -0
  73. package/dist/support/v1/schema.js +5 -0
  74. package/dist/tunnel/v1/client.d.ts +4 -0
  75. package/dist/tunnel/v1/client.js +7 -0
  76. package/dist/tunnel/v1/index.d.ts +8 -7
  77. package/dist/tunnel/v1/index.js +4 -4
  78. package/dist/tunnel/v1/schema.d.ts +40 -34
  79. package/package.json +34 -10
@@ -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
+ * The backup is billed for its size, at the backup price of its region. Obtain a price with `create-backup-quote` first.
23
25
  */
24
26
  post: operations["create-backup"];
25
27
  delete?: never;
@@ -28,6 +30,30 @@ export interface paths {
28
30
  patch?: never;
29
31
  trace?: never;
30
32
  };
33
+ "/api/v1/backups/quote": {
34
+ parameters: {
35
+ query?: never;
36
+ header?: never;
37
+ path?: never;
38
+ cookie?: never;
39
+ };
40
+ get?: never;
41
+ put?: never;
42
+ /**
43
+ * Quote a backup
44
+ * @description Prices the backup `create-backup` would order for the same disk, without ordering anything. Nothing is reserved and nothing is recorded, so this may be called as often as required.
45
+ *
46
+ * The quantity priced is the size of the disk. When `price_id` is omitted, a price of the region's backup offering is selected; the returned line names it, and that `price_id` is the one to order with.
47
+ *
48
+ * Prices may change between quoting and ordering. An order is charged at the price in effect when it is placed, so a quote should be refreshed before a final confirmation is shown.
49
+ */
50
+ post: operations["create-backup-quote"];
51
+ delete?: never;
52
+ options?: never;
53
+ head?: never;
54
+ patch?: never;
55
+ trace?: never;
56
+ };
31
57
  "/api/v1/backups/{backupId}": {
32
58
  parameters: {
33
59
  query?: never;
@@ -45,6 +71,8 @@ export interface paths {
45
71
  /**
46
72
  * Delete a backup
47
73
  * @description Independent of the source disk: deletion succeeds whether or not that disk still exists.
74
+ *
75
+ * Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the backup, including a pay-as-you-go subscription. `meta.resource_id` names the backup. It is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
48
76
  */
49
77
  delete: operations["delete-backup"];
50
78
  options?: never;
@@ -66,7 +94,7 @@ export interface paths {
66
94
  * Restore from a backup
67
95
  * @description Restores onto a **newly created** disk. The source disk is unaffected and need not still exist.
68
96
  *
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.
97
+ * 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.
70
98
  */
71
99
  post: operations["restore-backup"];
72
100
  delete?: never;
@@ -82,7 +110,10 @@ export interface paths {
82
110
  path?: never;
83
111
  cookie?: never;
84
112
  };
85
- /** List disk types on sale */
113
+ /**
114
+ * List disk types on sale
115
+ * @description Only disk types currently on sale are listed, both system disk types and data disk types; `for_system` narrows the list to one of the two. A withdrawn one disappears from here and can no longer be bought, while the disks already on it keep working and can still be resized.
116
+ */
86
117
  get: operations["list-disk-types"];
87
118
  put?: never;
88
119
  post?: never;
@@ -92,6 +123,26 @@ export interface paths {
92
123
  patch?: never;
93
124
  trace?: never;
94
125
  };
126
+ "/api/v1/disk-types/{diskTypeId}": {
127
+ parameters: {
128
+ query?: never;
129
+ header?: never;
130
+ path?: never;
131
+ cookie?: never;
132
+ };
133
+ /**
134
+ * Get a disk type
135
+ * @description Retrieve capacity and performance constraints for an existing disk, including system disk types and types withdrawn from sale.
136
+ */
137
+ get: operations["get-disk-type"];
138
+ put?: never;
139
+ post?: never;
140
+ delete?: never;
141
+ options?: never;
142
+ head?: never;
143
+ patch?: never;
144
+ trace?: never;
145
+ };
95
146
  "/api/v1/images": {
96
147
  parameters: {
97
148
  query?: never;
@@ -100,18 +151,99 @@ export interface paths {
100
151
  cookie?: never;
101
152
  };
102
153
  /**
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.
154
+ * List images
155
+ * @description Lists the public images on sale together with the private images of this project. `visibility` narrows the list to one of the two.
156
+ *
157
+ * A public image is offered to every project. Only public images currently on sale are listed: one the platform withdraws disappears from here and can no longer install new instances, while the instances already running it keep running and can still be rebuilt onto it.
158
+ *
159
+ * A private image belongs to this project, which captured it from one of its instances, and is listed in every status, including while its capture is in progress and after the capture failed.
160
+ *
161
+ * An image can only be used in the region that holds it. An image whose `min_ram_mb` exceeds the memory of the selected instance type cannot boot; filter the options accordingly.
105
162
  */
106
163
  get: operations["list-images"];
107
164
  put?: never;
108
- post?: never;
165
+ /**
166
+ * Capture an instance as a private image
167
+ * @description Creates a private image of this project 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.
168
+ *
169
+ * **The image reflects the moment the capture started. Later changes to the instance are not included.**
170
+ *
171
+ * The capture has two phases, reported by the status of the image:
172
+ *
173
+ * - `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.
174
+ * - `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.
175
+ *
176
+ * 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`.
177
+ *
178
+ * The instance can be started, stopped and used normally during the capture, but cannot be released.
179
+ *
180
+ * The image is billed for the storage it occupies, at the private image price of its region. Obtain a price with `create-image-quote` first.
181
+ */
182
+ post: operations["create-image"];
183
+ delete?: never;
184
+ options?: never;
185
+ head?: never;
186
+ patch?: never;
187
+ trace?: never;
188
+ };
189
+ "/api/v1/images/quote": {
190
+ parameters: {
191
+ query?: never;
192
+ header?: never;
193
+ path?: never;
194
+ cookie?: never;
195
+ };
196
+ get?: never;
197
+ put?: never;
198
+ /**
199
+ * Quote capturing an instance as a private image
200
+ * @description Prices the capture `create-image` would order for the same instance, without ordering anything. Nothing is reserved and nothing is recorded, so this may be called as often as required.
201
+ *
202
+ * The quantity priced is the size of the system disk, which is the most the image can occupy. When `price_id` is omitted, a price of the region's private image offering is selected; the returned line names it, and that `price_id` is the one to order with.
203
+ *
204
+ * Prices may change between quoting and ordering. An order is charged at the price in effect when it is placed, so a quote should be refreshed before a final confirmation is shown.
205
+ */
206
+ post: operations["create-image-quote"];
109
207
  delete?: never;
110
208
  options?: never;
111
209
  head?: never;
112
210
  patch?: never;
113
211
  trace?: never;
114
212
  };
213
+ "/api/v1/images/{imageId}": {
214
+ parameters: {
215
+ query?: never;
216
+ header?: never;
217
+ path?: never;
218
+ cookie?: never;
219
+ };
220
+ /**
221
+ * Retrieve an image
222
+ * @description Returns a public image, or a private image of this project; any other image is reported as not found. Use this endpoint to poll capture progress. When `status` is `error`, `failure` states the reason.
223
+ */
224
+ get: operations["get-image"];
225
+ put?: never;
226
+ post?: never;
227
+ /**
228
+ * Delete a private image
229
+ * @description Only a private image of this project can be deleted; any other image is reported as not found.
230
+ *
231
+ * Deletion is rejected while instances created from the image still exist, as they need it in order to be rebuilt.
232
+ *
233
+ * An image whose capture has not finished can be deleted; the capture is aborted.
234
+ *
235
+ * Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the image, including a pay-as-you-go subscription. `meta.resource_id` names the image. It is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
236
+ */
237
+ delete: operations["delete-image"];
238
+ options?: never;
239
+ head?: never;
240
+ /**
241
+ * Rename a private image
242
+ * @description Only a private image of this project can be renamed; any other image is reported as not found.
243
+ */
244
+ patch: operations["rename-image"];
245
+ trace?: never;
246
+ };
115
247
  "/api/v1/instance-types": {
116
248
  parameters: {
117
249
  query?: never;
@@ -119,7 +251,10 @@ export interface paths {
119
251
  path?: never;
120
252
  cookie?: never;
121
253
  };
122
- /** List instance types on sale */
254
+ /**
255
+ * List instance types on sale
256
+ * @description Only instance types currently on sale are listed. A withdrawn one disappears from here and can no longer be ordered, while the instances already running it keep running.
257
+ */
123
258
  get: operations["list-instance-types"];
124
259
  put?: never;
125
260
  post?: never;
@@ -146,7 +281,7 @@ export interface paths {
146
281
  patch?: never;
147
282
  trace?: never;
148
283
  };
149
- "/api/v1/regions/{regionCode}/availability-zones": {
284
+ "/api/v1/regions/{regionId}/availability-zones": {
150
285
  parameters: {
151
286
  query?: never;
152
287
  header?: never;
@@ -182,6 +317,8 @@ export interface paths {
182
317
  /**
183
318
  * Create a disk
184
319
  * @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.
320
+ *
321
+ * A disk type that is off sale is rejected with `DISK_TYPE_OFF_SALE`, even though its identifier still resolves. Types that are off sale do not appear in the disk type listing; disks already bought on one keep working and can still be resized.
185
322
  */
186
323
  post: operations["create-disk"];
187
324
  delete?: never;
@@ -207,6 +344,8 @@ export interface paths {
207
344
  /**
208
345
  * Delete a disk
209
346
  * @description Deletion is rejected while the disk is attached, or while snapshots created from it still exist.
347
+ *
348
+ * Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the disk, including a pay-as-you-go subscription. `meta.resource_id` names the disk. It is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
210
349
  */
211
350
  delete: operations["delete-disk"];
212
351
  options?: never;
@@ -229,7 +368,13 @@ export interface paths {
229
368
  put?: never;
230
369
  /**
231
370
  * 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.
371
+ * @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.
372
+ *
373
+ * **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.
374
+ *
375
+ * 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.
376
+ *
377
+ * **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.
233
378
  */
234
379
  post: operations["resize-disk"];
235
380
  delete?: never;
@@ -277,6 +422,8 @@ export interface paths {
277
422
  * @description If the private network is not yet connected to the internet, connectivity is established as part of this call.
278
423
  *
279
424
  * IPv6 is not requested through this endpoint. IPv6 addresses are assigned to instances by the private network; enable IPv6 on that network instead.
425
+ *
426
+ * Refused with `PRIVATE_NETWORK_UNAVAILABLE`, before any order is created, when the private network's `status` is not `available`. `meta.private_network_id` names it.
280
427
  */
281
428
  post: operations["allocate-floating-ip"];
282
429
  delete?: never;
@@ -298,7 +445,9 @@ export interface paths {
298
445
  post?: never;
299
446
  /**
300
447
  * 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.
448
+ * @description Releases the floating IP after unbinding it. Completion is reported by the returned task.
449
+ *
450
+ * Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the address or for its bandwidth, including a pay-as-you-go subscription. `meta.resource_id` names the floating IP. It is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
302
451
  */
303
452
  delete: operations["release-floating-ip"];
304
453
  options?: never;
@@ -316,7 +465,9 @@ export interface paths {
316
465
  get?: never;
317
466
  /**
318
467
  * Set the bandwidth limit
319
- * @description Limits both directions at once. Limiting egress alone does not prevent ingress traffic from saturating the uplink.
468
+ * @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.
469
+ *
470
+ * 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.
320
471
  */
321
472
  put: operations["set-floating-ip-bandwidth"];
322
473
  post?: never;
@@ -354,22 +505,21 @@ export interface paths {
354
505
  path?: never;
355
506
  cookie?: never;
356
507
  };
357
- /** List instances */
508
+ /**
509
+ * List instances
510
+ * @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.
511
+ */
358
512
  get: operations["list-instances"];
359
513
  put?: never;
360
514
  /**
361
515
  * Create instances
362
- * @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.
363
- *
364
- * `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.
516
+ * @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. After an uncertain response, look the order up before submitting again.
365
517
  *
366
- * 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.
518
+ * Exactly one of 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.
367
519
  *
368
- * Exactly one image source must be given: `image_id` for a platform image, `private_image_id` for a private image. Supplying both or neither is rejected.
520
+ * 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.
369
521
  *
370
- * Instances are created in the availability zone of the instance type. Disks to be attached later must reside in the same zone.
371
- *
372
- * Creation is not complete when this endpoint returns and `status` is `provisioning`. Poll GET to observe the outcome.
522
+ * The network is checked before the order is created, and a request it refuses orders and charges nothing. It is refused with `PRIVATE_NETWORK_UNAVAILABLE` when the private network's `status` is not `available`, `SUBNET_UNAVAILABLE` or `SECURITY_GROUP_UNAVAILABLE` when the subnet or a security group is not ready, `SECURITY_GROUP_OTHER_PRIVATE_NETWORK` when a security group belongs to another private network, and `PORT_UNAVAILABLE` when the port's `status` is not `available`. `meta` names the resource.
373
523
  */
374
524
  post: operations["launch-instance"];
375
525
  delete?: never;
@@ -397,6 +547,8 @@ export interface paths {
397
547
  * @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.
398
548
  *
399
549
  * An instance being captured as a private image cannot be released. Wait for the capture to finish, or delete that image first.
550
+ *
551
+ * Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the instance, or for a disk that is deleted with it, including a pay-as-you-go subscription. `meta.resource_id` names that resource. The instance is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
400
552
  */
401
553
  delete: operations["delete-instance"];
402
554
  options?: never;
@@ -408,32 +560,6 @@ export interface paths {
408
560
  patch: operations["rename-instance"];
409
561
  trace?: never;
410
562
  };
411
- "/api/v1/instances/{instanceId}/actions": {
412
- parameters: {
413
- query?: never;
414
- header?: never;
415
- path?: never;
416
- cookie?: never;
417
- };
418
- get?: never;
419
- put?: never;
420
- /**
421
- * Start, stop or reboot an instance
422
- * @description Reboot defaults to a soft reboot, in which the operating system shuts down normally before starting again.
423
- *
424
- * 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**. `force` applies to `reboot` only.
425
- *
426
- * An instance suspended by the platform must be unsuspended first.
427
- *
428
- * This endpoint returns immediately and the `status` it returns is a transient state: `starting` for start, `stopping` for stop, `rebooting` for reboot. Poll the instance until it settles at `running` or `stopped`.
429
- */
430
- post: operations["act-on-instance"];
431
- delete?: never;
432
- options?: never;
433
- head?: never;
434
- patch?: never;
435
- trace?: never;
436
- };
437
563
  "/api/v1/instances/{instanceId}/commands": {
438
564
  parameters: {
439
565
  query?: never;
@@ -447,6 +573,10 @@ export interface paths {
447
573
  * Run a command on an instance
448
574
  * @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.
449
575
  *
576
+ * **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.
577
+ *
578
+ * 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`.
579
+ *
450
580
  * Three conditions must hold; the instance is unreachable otherwise:
451
581
  *
452
582
  * - it is `running`
@@ -479,7 +609,7 @@ export interface paths {
479
609
  * Open a remote console
480
610
  * @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.
481
611
  *
482
- * The returned address is single-use and expires within minutes. **Do not cache it**; request a new one before each use.
612
+ * The returned address is single-use and expires within minutes. Request a new one before each use.
483
613
  */
484
614
  post: operations["open-instance-console"];
485
615
  delete?: never;
@@ -510,6 +640,54 @@ export interface paths {
510
640
  patch?: never;
511
641
  trace?: never;
512
642
  };
643
+ "/api/v1/instances/{instanceId}/labels": {
644
+ parameters: {
645
+ query?: never;
646
+ header?: never;
647
+ path?: never;
648
+ cookie?: never;
649
+ };
650
+ get?: never;
651
+ /**
652
+ * Replace an instance's labels
653
+ * @description Records what this instance is for, as key-value pairs. Nothing on the platform reads them.
654
+ *
655
+ * **The whole set is replaced**: whatever is absent from the request is removed.
656
+ *
657
+ * Do not put credentials here. Labels are visible to platform operators.
658
+ */
659
+ put: operations["set-instance-labels"];
660
+ post?: never;
661
+ delete?: never;
662
+ options?: never;
663
+ head?: never;
664
+ patch?: never;
665
+ trace?: never;
666
+ };
667
+ "/api/v1/instances/{instanceId}/notes": {
668
+ parameters: {
669
+ query?: never;
670
+ header?: never;
671
+ path?: never;
672
+ cookie?: never;
673
+ };
674
+ get?: never;
675
+ /**
676
+ * Replace an instance's note
677
+ * @description A free-text note about this instance — what it runs, and what to be careful about before touching it.
678
+ *
679
+ * **The whole note is replaced**; send an empty string to clear it.
680
+ *
681
+ * Do not put credentials here. The note is visible to platform operators.
682
+ */
683
+ put: operations["set-instance-notes"];
684
+ post?: never;
685
+ delete?: never;
686
+ options?: never;
687
+ head?: never;
688
+ patch?: never;
689
+ trace?: never;
690
+ };
513
691
  "/api/v1/instances/{instanceId}/password": {
514
692
  parameters: {
515
693
  query?: never;
@@ -534,6 +712,34 @@ export interface paths {
534
712
  patch?: never;
535
713
  trace?: never;
536
714
  };
715
+ "/api/v1/instances/{instanceId}/reboot": {
716
+ parameters: {
717
+ query?: never;
718
+ header?: never;
719
+ path?: never;
720
+ cookie?: never;
721
+ };
722
+ get?: never;
723
+ put?: never;
724
+ /**
725
+ * Reboot an instance
726
+ * @description A reboot defaults to soft, in which the operating system shuts down normally before starting again.
727
+ *
728
+ * 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**.
729
+ *
730
+ * 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.
731
+ *
732
+ * An instance suspended by the platform must be unsuspended first.
733
+ *
734
+ * This endpoint returns immediately and the `status` it returns is the transient `rebooting`. Poll the instance until it settles at `running`.
735
+ */
736
+ post: operations["reboot-instance"];
737
+ delete?: never;
738
+ options?: never;
739
+ head?: never;
740
+ patch?: never;
741
+ trace?: never;
742
+ };
537
743
  "/api/v1/instances/{instanceId}/rebuild": {
538
744
  parameters: {
539
745
  query?: never;
@@ -546,6 +752,8 @@ export interface paths {
546
752
  /**
547
753
  * Rebuild an instance
548
754
  * @description **All data on the system disk is erased and cannot be recovered.** Attached data disks are unaffected.
755
+ *
756
+ * The image this instance already runs is accepted even after the platform has withdrawn it, since rebuilding is the only way back into an instance broken from the inside. Any *other* withdrawn image is rejected with `IMAGE_RETIRED`, which is a change of image and therefore a new order.
549
757
  */
550
758
  post: operations["rebuild-instance"];
551
759
  delete?: never;
@@ -565,11 +773,9 @@ export interface paths {
565
773
  put?: never;
566
774
  /**
567
775
  * Resize an instance
568
- * @description Only an instance type in the same region and availability zone can be selected, as attached disks cannot follow the instance elsewhere.
776
+ * @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. After an uncertain response, look the order up before submitting again.
569
777
  *
570
- * 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.
571
- *
572
- * **Both sizes hold resources while the resize is unconfirmed.** Confirm promptly once the status becomes `resize_verifying`.
778
+ * The new instance type takes effect, and is billed from then on, when the returned task succeeds. A completed resize is final and cannot be reverted; to return to the previous type, submit another resize.
573
779
  */
574
780
  post: operations["resize-instance"];
575
781
  delete?: never;
@@ -578,7 +784,7 @@ export interface paths {
578
784
  patch?: never;
579
785
  trace?: never;
580
786
  };
581
- "/api/v1/instances/{instanceId}/resize/confirm": {
787
+ "/api/v1/instances/{instanceId}/start": {
582
788
  parameters: {
583
789
  query?: never;
584
790
  header?: never;
@@ -588,17 +794,17 @@ export interface paths {
588
794
  get?: never;
589
795
  put?: never;
590
796
  /**
591
- * Confirm a resize
592
- * @description Releases the resources held by the previous size. `pending_instance_type_id` becomes the type in effect and is billed from then on.
797
+ * Start an instance
798
+ * @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.
593
799
  */
594
- post: operations["confirm-instance-resize"];
800
+ post: operations["start-instance"];
595
801
  delete?: never;
596
802
  options?: never;
597
803
  head?: never;
598
804
  patch?: never;
599
805
  trace?: never;
600
806
  };
601
- "/api/v1/instances/{instanceId}/resize/revert": {
807
+ "/api/v1/instances/{instanceId}/stop": {
602
808
  parameters: {
603
809
  query?: never;
604
810
  header?: never;
@@ -608,10 +814,10 @@ export interface paths {
608
814
  get?: never;
609
815
  put?: never;
610
816
  /**
611
- * Revert a resize
612
- * @description The instance returns to its previous size, `pending_instance_type_id` is discarded, and billing is unaffected by the resize.
817
+ * Stop an instance
818
+ * @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.
613
819
  */
614
- post: operations["revert-instance-resize"];
820
+ post: operations["stop-instance"];
615
821
  delete?: never;
616
822
  options?: never;
617
823
  head?: never;
@@ -652,6 +858,8 @@ export interface paths {
652
858
  /**
653
859
  * Detach a disk
654
860
  * @description Unmount the device inside the instance before calling this endpoint. Forcibly detaching a file system that is being written to corrupts data.
861
+ *
862
+ * The disk the instance boots from cannot be detached, whether it is the system disk bought with the instance or a disk the instance was created from with `boot_disk_id`. Such a request is refused with `INSTANCE_BOOT_DISK_LOCKED` and creates no task; releasing the instance is what frees that disk.
655
863
  */
656
864
  delete: operations["detach-disk"];
657
865
  options?: never;
@@ -670,7 +878,7 @@ export interface paths {
670
878
  put?: never;
671
879
  /**
672
880
  * Bind a floating IP to an instance
673
- * @description The floating IP is bound to the primary network interface of the instance.
881
+ * @description Changes the public IP binding on the instance's primary network interface. The returned task tracks confirmation of the binding change.
674
882
  */
675
883
  post: operations["attach-instance-floating-ip"];
676
884
  delete?: never;
@@ -689,7 +897,10 @@ export interface paths {
689
897
  get?: never;
690
898
  put?: never;
691
899
  post?: never;
692
- /** Unbind the floating IP of an instance */
900
+ /**
901
+ * Unbind the floating IP of an instance
902
+ * @description Changes the public IP binding on the instance's primary network interface. The returned task tracks confirmation of the binding change.
903
+ */
693
904
  delete: operations["detach-instance-floating-ip"];
694
905
  options?: never;
695
906
  head?: never;
@@ -799,65 +1010,6 @@ export interface paths {
799
1010
  patch?: never;
800
1011
  trace?: never;
801
1012
  };
802
- "/api/v1/private-images": {
803
- parameters: {
804
- query?: never;
805
- header?: never;
806
- path?: never;
807
- cookie?: never;
808
- };
809
- /** List private images */
810
- get: operations["list-private-images"];
811
- put?: never;
812
- /**
813
- * Capture an instance as a private image
814
- * @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.
815
- *
816
- * **The image reflects the moment the capture started. Later changes to the instance are not included.**
817
- *
818
- * The capture has two phases. Poll the retrieve endpoint:
819
- *
820
- * - `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.
821
- * - `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.
822
- *
823
- * 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`.
824
- *
825
- * The instance can be started, stopped and used normally during the capture, but cannot be released.
826
- */
827
- post: operations["create-private-image"];
828
- delete?: never;
829
- options?: never;
830
- head?: never;
831
- patch?: never;
832
- trace?: never;
833
- };
834
- "/api/v1/private-images/{privateImageId}": {
835
- parameters: {
836
- query?: never;
837
- header?: never;
838
- path?: never;
839
- cookie?: never;
840
- };
841
- /**
842
- * Retrieve a private image
843
- * @description Use this endpoint to poll capture progress. When `status` is `error`, `failure` states the reason.
844
- */
845
- get: operations["get-private-image"];
846
- put?: never;
847
- post?: never;
848
- /**
849
- * Delete a private image
850
- * @description Deletion is rejected while instances created from the image still exist, as they need it in order to be rebuilt.
851
- *
852
- * An image whose capture has not finished can be deleted; the capture is aborted.
853
- */
854
- delete: operations["delete-private-image"];
855
- options?: never;
856
- head?: never;
857
- /** Rename a private image */
858
- patch: operations["rename-private-image"];
859
- trace?: never;
860
- };
861
1013
  "/api/v1/private-networks": {
862
1014
  parameters: {
863
1015
  query?: never;
@@ -1148,7 +1300,10 @@ export interface paths {
1148
1300
  get: operations["get-snapshot"];
1149
1301
  put?: never;
1150
1302
  post?: never;
1151
- /** Delete a snapshot */
1303
+ /**
1304
+ * Delete a snapshot
1305
+ * @description Refused with `COMPUTE_RESOURCE_SUBSCRIBED` while a subscription pays for the snapshot, including a pay-as-you-go subscription. `meta.resource_id` names the snapshot. It is released by canceling the subscriptions listed in `meta.subscription_ids` through Billing, the same set as its `release_subscription_ids`.
1306
+ */
1152
1307
  delete: operations["delete-snapshot"];
1153
1308
  options?: never;
1154
1309
  head?: never;
@@ -1156,28 +1311,174 @@ export interface paths {
1156
1311
  patch: operations["rename-snapshot"];
1157
1312
  trace?: never;
1158
1313
  };
1159
- }
1160
- export type webhooks = Record<string, never>;
1161
- export interface components {
1162
- schemas: {
1163
- Error: {
1164
- code?: string;
1165
- message: string;
1166
- meta?: {
1167
- [key: string]: unknown;
1168
- };
1169
- /** Format: int64 */
1170
- status: number;
1171
- };
1314
+ "/api/v1/tasks/{taskId}": {
1315
+ parameters: {
1316
+ query?: never;
1317
+ header?: never;
1318
+ path?: never;
1319
+ cookie?: never;
1320
+ };
1321
+ /** Get a requested action */
1322
+ get: operations["get-task"];
1323
+ put?: never;
1324
+ post?: never;
1325
+ delete?: never;
1326
+ options?: never;
1327
+ head?: never;
1328
+ patch?: never;
1329
+ trace?: never;
1330
+ };
1331
+ "/api/v1/ipv4-pools": {
1332
+ parameters: {
1333
+ query?: never;
1334
+ header?: never;
1335
+ path?: never;
1336
+ cookie?: never;
1337
+ };
1338
+ /**
1339
+ * List public IP pools
1340
+ * @description Lists the public IP pools available for new allocations in this region.
1341
+ */
1342
+ get: operations["list-ipv4-pools"];
1343
+ put?: never;
1344
+ post?: never;
1345
+ delete?: never;
1346
+ options?: never;
1347
+ head?: never;
1348
+ patch?: never;
1349
+ trace?: never;
1350
+ };
1351
+ "/api/v1/peerings": {
1352
+ parameters: {
1353
+ query?: never;
1354
+ header?: never;
1355
+ path?: never;
1356
+ cookie?: never;
1357
+ };
1358
+ /** List peerings */
1359
+ get: operations["list-peerings"];
1360
+ put?: never;
1361
+ /**
1362
+ * Create peering
1363
+ * @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.
1364
+ */
1365
+ post: operations["create-peering"];
1366
+ delete?: never;
1367
+ options?: never;
1368
+ head?: never;
1369
+ patch?: never;
1370
+ trace?: never;
1371
+ };
1372
+ "/api/v1/peerings/{peeringId}": {
1373
+ parameters: {
1374
+ query?: never;
1375
+ header?: never;
1376
+ path?: never;
1377
+ cookie?: never;
1378
+ };
1379
+ /** Get peering */
1380
+ get: operations["get-peering"];
1381
+ put?: never;
1382
+ post?: never;
1383
+ /** Delete peering */
1384
+ delete: operations["delete-peering"];
1385
+ options?: never;
1386
+ head?: never;
1387
+ patch?: never;
1388
+ trace?: never;
1389
+ };
1390
+ "/api/v1/peerings/{peeringId}/accept": {
1391
+ parameters: {
1392
+ query?: never;
1393
+ header?: never;
1394
+ path?: never;
1395
+ cookie?: never;
1396
+ };
1397
+ get?: never;
1398
+ put?: never;
1399
+ /** Accept peering */
1400
+ post: operations["accept-peering"];
1401
+ delete?: never;
1402
+ options?: never;
1403
+ head?: never;
1404
+ patch?: never;
1405
+ trace?: never;
1406
+ };
1407
+ "/api/v1/peerings/{peeringId}/reject": {
1408
+ parameters: {
1409
+ query?: never;
1410
+ header?: never;
1411
+ path?: never;
1412
+ cookie?: never;
1413
+ };
1414
+ get?: never;
1415
+ put?: never;
1416
+ /** Reject peering */
1417
+ post: operations["reject-peering"];
1418
+ delete?: never;
1419
+ options?: never;
1420
+ head?: never;
1421
+ patch?: never;
1422
+ trace?: never;
1423
+ };
1424
+ }
1425
+ export type webhooks = Record<string, never>;
1426
+ export interface components {
1427
+ schemas: {
1428
+ PeeringResource: {
1429
+ /** Format: uuid */
1430
+ id: string;
1431
+ name: string;
1432
+ /** Format: uuid */
1433
+ region_id: string;
1434
+ /** Format: uuid */
1435
+ requester_project_id: string;
1436
+ /** Format: uuid */
1437
+ accepter_project_id: string;
1438
+ /** Format: uuid */
1439
+ requester_network_id: string;
1440
+ /** Format: uuid */
1441
+ accepter_network_id: string;
1442
+ /** @enum {string} */
1443
+ status: "pending_acceptance" | "provisioning" | "active" | "deleting" | "deleted" | "rejected" | "error";
1444
+ /** Format: date-time */
1445
+ created_at: string;
1446
+ failure_code?: string;
1447
+ };
1448
+ PeeringListResponseBody: {
1449
+ items: components["schemas"]["PeeringResource"][];
1450
+ pagination: components["schemas"]["OffsetPagination"];
1451
+ };
1452
+ CreatePeeringRequestBody: {
1453
+ name: string;
1454
+ /** Format: uuid */
1455
+ requester_network_id: string;
1456
+ /** Format: uuid */
1457
+ accepter_project_id: string;
1458
+ /** Format: uuid */
1459
+ accepter_network_id: string;
1460
+ };
1461
+ Error: {
1462
+ code?: string;
1463
+ message: string;
1464
+ /**
1465
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
1466
+ * and a client that does not recognise one ignores it.
1467
+ */
1468
+ meta?: {
1469
+ [key: string]: unknown;
1470
+ };
1471
+ /** Format: int64 */
1472
+ status: number;
1473
+ };
1172
1474
  BackupResource: {
1173
- /** @description Availability zone of the source disk. A restore may target another zone in the same region */
1174
- availability_zone: string;
1175
1475
  /** Format: date-time */
1176
1476
  created_at: string;
1177
1477
  /** Format: uuid */
1178
1478
  id: string;
1179
1479
  name: string;
1180
- region_code: string;
1480
+ /** Format: uuid */
1481
+ region_id: string;
1181
1482
  /**
1182
1483
  * Format: int64
1183
1484
  * @description Capacity of the source disk when the backup was created. A restored disk cannot be smaller than this
@@ -1190,14 +1491,53 @@ export interface components {
1190
1491
  source_disk_id: string;
1191
1492
  /** @enum {string} */
1192
1493
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
1494
+ /** Format: uuid */
1495
+ order_id: string | null;
1496
+ /** Format: uuid */
1497
+ price_id: string | null;
1498
+ /** Format: uuid */
1499
+ subscription_item_id: string | null;
1500
+ /** @description The subscriptions a cancellation through Billing has to cover to release this backup: its own. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for any of them. */
1501
+ release_subscription_ids: string[];
1502
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
1503
+ release_set: components["schemas"]["ReleaseSetItem"][];
1504
+ /** @enum {string|null} */
1505
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1506
+ task: components["schemas"]["Task"] | null;
1507
+ /** Format: int64 */
1508
+ generation: number;
1509
+ /** Format: date-time */
1510
+ observed_at: string | null;
1511
+ /**
1512
+ * Format: uuid
1513
+ * @description Availability zone of the source disk. A restore may target another zone in the same region
1514
+ */
1515
+ source_availability_zone_id: string;
1193
1516
  };
1194
1517
  BackupListResponseBody: {
1195
1518
  items: components["schemas"]["BackupResource"][] | null;
1519
+ pagination: components["schemas"]["OffsetPagination"];
1196
1520
  };
1197
1521
  CreateBackupRequestBody: {
1198
1522
  /** Format: uuid */
1199
1523
  disk_id: string;
1200
1524
  name: string;
1525
+ /** Format: uuid */
1526
+ price_id: string;
1527
+ order: components["schemas"]["OrderOptions"];
1528
+ };
1529
+ /** @description The fields of `CreateBackupRequestBody` that decide the price */
1530
+ CreateBackupQuoteRequestBody: {
1531
+ /**
1532
+ * Format: uuid
1533
+ * @description The disk that would be backed up
1534
+ */
1535
+ disk_id: string;
1536
+ /**
1537
+ * Format: uuid
1538
+ * @description A price of the region's backup offering. One is selected when omitted
1539
+ */
1540
+ price_id?: string;
1201
1541
  };
1202
1542
  RenameBackupRequestBody: {
1203
1543
  name: string;
@@ -1205,7 +1545,7 @@ export interface components {
1205
1545
  RestoreBackupRequestBody: {
1206
1546
  /**
1207
1547
  * Format: uuid
1208
- * @description May differ from the availability zone of the source disk, but must be in the same region
1548
+ * @description May differ from the availability zone of the source disk, but must be in the same region. It has to be a data disk type on sale — restoring creates a new data disk, so a withdrawn type or a system disk type is rejected here as well
1209
1549
  */
1210
1550
  disk_type_id: string;
1211
1551
  name: string;
@@ -1214,33 +1554,83 @@ export interface components {
1214
1554
  * @description Matches the size of the backup when omitted. When given, it must not be smaller than the backup
1215
1555
  */
1216
1556
  size_gb?: number;
1557
+ /** Format: uuid */
1558
+ price_id: string;
1559
+ order: components["schemas"]["OrderOptions"];
1217
1560
  };
1218
1561
  DiskResource: {
1219
- attached_instance_id: string | null;
1220
- /** @description Availability zone the disk actually resides in. An instance must be in the same zone to attach it */
1221
- availability_zone: string;
1562
+ /**
1563
+ * Format: uuid
1564
+ * @description Availability zone the disk actually resides in. An instance must be in the same zone to attach it
1565
+ */
1566
+ availability_zone_id: string;
1222
1567
  /** Format: date-time */
1223
1568
  created_at: string;
1224
- /** @description Device name assigned by the system, as seen inside the instance */
1225
- device: string | null;
1226
1569
  /** Format: uuid */
1227
1570
  disk_type_id: string;
1228
1571
  /** Format: uuid */
1229
1572
  id: string;
1230
- /** @description A system disk is released with its instance and can be neither detached nor deleted individually */
1231
- is_system: boolean;
1232
1573
  name: string;
1233
- region_code: string;
1574
+ /** Format: uuid */
1575
+ region_id: string;
1234
1576
  /** Format: int64 */
1235
1577
  size_gb: number;
1578
+ /**
1579
+ * Format: int64
1580
+ * @description IOPS this disk is allowed. Null when its type is not rate-limited.
1581
+ *
1582
+ * Computed from the disk's own capacity, so it grows when the disk is grown — but see the
1583
+ * note on the resize endpoint: growing a disk that is attached is refused, precisely because
1584
+ * the new figure would not take effect until it was attached again.
1585
+ */
1586
+ iops: number | null;
1587
+ /**
1588
+ * Format: int64
1589
+ * @description Throughput this disk is allowed, in bytes per second. Null when its type is not rate-limited
1590
+ */
1591
+ throughput_bytes_per_sec: number | null;
1236
1592
  /** @enum {string} */
1237
1593
  status: "provisioning" | "available" | "attaching" | "in_use" | "detaching" | "resizing" | "reverting" | "restoring" | "releasing" | "deleting" | "error";
1594
+ /** Format: uuid */
1595
+ order_id: string | null;
1596
+ /** Format: uuid */
1597
+ price_id: string | null;
1598
+ /** Format: uuid */
1599
+ subscription_item_id: string | null;
1600
+ /** @description The subscriptions a cancellation through Billing has to cover to release this disk: its own and those of its snapshots. A system disk is released only with its instance, so for a system disk the list is that of the instance. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for any of them. */
1601
+ release_subscription_ids: string[];
1602
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
1603
+ release_set: components["schemas"]["ReleaseSetItem"][];
1604
+ /** @enum {string|null} */
1605
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1606
+ task: components["schemas"]["Task"] | null;
1607
+ attachment?: components["schemas"]["DiskAttachment"] | null;
1608
+ /** Format: int64 */
1609
+ generation: number;
1610
+ /** Format: date-time */
1611
+ observed_at: string | null;
1238
1612
  };
1239
1613
  DiskTypeResource: {
1240
- availability_zone_code: string;
1614
+ /** Format: uuid */
1615
+ availability_zone_id: string;
1241
1616
  /** Format: uuid */
1242
1617
  id: string;
1243
- iops_display: string;
1618
+ /** @description True for a system disk type, the one chosen as `boot_disk.disk_type_id` when creating an instance from an image. A system disk type cannot be used to create a data disk, and a data disk type cannot be used for a system disk. */
1619
+ for_system: boolean;
1620
+ /**
1621
+ * Format: int64
1622
+ * @description IOPS a disk of `min_size_gb` gets. Null when this type is not rate-limited.
1623
+ *
1624
+ * Performance grows with capacity, so this and `iops_at_max_size` are the two ends of the
1625
+ * range. The exact figure for the size actually bought appears on the disk itself once it
1626
+ * exists.
1627
+ */
1628
+ iops_at_min_size: number | null;
1629
+ /**
1630
+ * Format: int64
1631
+ * @description IOPS a disk of `max_size_gb` gets. Null when this type is not rate-limited
1632
+ */
1633
+ iops_at_max_size: number | null;
1244
1634
  /** Format: int64 */
1245
1635
  max_size_gb: number;
1246
1636
  /** @enum {string} */
@@ -1248,39 +1638,134 @@ export interface components {
1248
1638
  /** Format: int64 */
1249
1639
  min_size_gb: number;
1250
1640
  name: string;
1251
- region_code: string;
1641
+ /** Format: uuid */
1642
+ region_id: string;
1252
1643
  /** Format: int64 */
1253
1644
  step_gb: number;
1254
- throughput_display: string;
1645
+ /**
1646
+ * Format: int64
1647
+ * @description Throughput a disk of `min_size_gb` gets, in **bytes per second**. Null when this type is
1648
+ * not rate-limited.
1649
+ *
1650
+ * Bytes rather than MiB so the number needs no rounding on the way out; divide by 1048576
1651
+ * for MiB/s at the point of display.
1652
+ */
1653
+ throughput_at_min_size: number | null;
1654
+ /**
1655
+ * Format: int64
1656
+ * @description Throughput a disk of `max_size_gb` gets, in bytes per second. Null when this type is not rate-limited
1657
+ */
1658
+ throughput_at_max_size: number | null;
1659
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1660
+ product_id: string | null;
1661
+ /** Format: uuid */
1662
+ plan_id: string | null;
1663
+ /** Format: uuid */
1664
+ snapshot_plan_id: string | null;
1255
1665
  };
1256
1666
  DiskTypeListResponseBody: {
1257
1667
  items: components["schemas"]["DiskTypeResource"][] | null;
1668
+ pagination: components["schemas"]["OffsetPagination"];
1258
1669
  };
1670
+ /**
1671
+ * @description Who can see and use an image. `public` — offered to every project by the platform. `private` — usable only by the project that owns it.
1672
+ * @enum {string}
1673
+ */
1674
+ ImageVisibility: "public" | "private";
1675
+ /** @description An image that installs the system of an instance. Fields that describe a capture or its billing apply only to private images and are null, zero or empty for public ones. */
1259
1676
  ImageResource: {
1260
- architecture: string;
1261
1677
  /** Format: uuid */
1262
1678
  id: string;
1263
- /** Format: int64 */
1264
- min_disk_gb: number;
1265
- /** Format: int64 */
1266
- min_ram_mb: number;
1679
+ /** Format: uuid */
1680
+ region_id: string;
1681
+ visibility: components["schemas"]["ImageVisibility"];
1267
1682
  name: string;
1268
1683
  os_family: string;
1269
1684
  os_version: string;
1270
- region_code: string;
1685
+ architecture: string;
1686
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
1687
+ login_username: string;
1688
+ /**
1689
+ * Format: int64
1690
+ * @description The system disk of an instance created from this image cannot be smaller than this
1691
+ */
1692
+ min_disk_gb: number;
1693
+ /**
1694
+ * Format: int64
1695
+ * @description The instance type of an instance created from this image must have at least this much memory
1696
+ */
1697
+ min_ram_mb: number;
1271
1698
  /** @description False means a new password can only be set by rebuilding an instance created from this image */
1272
1699
  supports_password_reset: boolean;
1700
+ /**
1701
+ * @description Only `available` images can install instances. A public image is always `available`; a private image goes through `provisioning` and `uploading` while it is captured.
1702
+ * @enum {string}
1703
+ */
1704
+ status: "provisioning" | "uploading" | "available" | "deleting" | "error";
1705
+ /** @description Reason the capture failed; non-empty only when `status` is `error` */
1706
+ failure: string | null;
1707
+ /**
1708
+ * Format: int64
1709
+ * @description Storage occupied by a private image, which is what it is billed for; 0 until its capture completes, and 0 for public images
1710
+ */
1711
+ size_bytes: number;
1712
+ /**
1713
+ * Format: uuid
1714
+ * @description The instance a private image was captured from. The image remains usable after that instance is released. Null for public images
1715
+ */
1716
+ source_instance_id: string | null;
1717
+ /** Format: date-time */
1718
+ created_at: string;
1719
+ /** Format: uuid */
1720
+ order_id: string | null;
1721
+ /** Format: uuid */
1722
+ price_id: string | null;
1723
+ /** Format: uuid */
1724
+ subscription_item_id: string | null;
1725
+ /** @description The subscriptions a cancellation through Billing has to cover to release this private image: its own. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for it, and for public images. */
1726
+ release_subscription_ids: string[];
1727
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
1728
+ release_set: components["schemas"]["ReleaseSetItem"][];
1729
+ /** @enum {string|null} */
1730
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1731
+ task: components["schemas"]["Task"] | null;
1732
+ /** Format: int64 */
1733
+ generation: number;
1734
+ /** Format: date-time */
1735
+ observed_at: string | null;
1273
1736
  };
1274
1737
  ImageListResponseBody: {
1275
- items: components["schemas"]["ImageResource"][] | null;
1738
+ items: components["schemas"]["ImageResource"][];
1739
+ pagination: components["schemas"]["OffsetPagination"];
1276
1740
  };
1277
1741
  InstanceTypeResource: {
1278
- /** @description Availability zone of this instance type. A disk must be in the same zone to be attached */
1279
- availability_zone_code: string;
1742
+ /** Format: uuid */
1743
+ availability_zone_id: string;
1280
1744
  /** Format: uuid */
1281
1745
  id: string;
1282
- /** Format: int64 */
1746
+ /**
1747
+ * Format: int64
1748
+ * @description The most public bandwidth a machine of this type may be given, in Mbps. Asking for more
1749
+ * when creating a machine, or raising a bound address past it, is refused.
1750
+ *
1751
+ * A ceiling on what can be bought, not a speed. How fast the machine's own interfaces run is
1752
+ * `network_egress_kbps` / `network_ingress_kbps`.
1753
+ */
1283
1754
  max_bandwidth_mbps: number;
1755
+ /**
1756
+ * Format: int64
1757
+ * @description Outbound ceiling of **each** network interface, in kbps. Null when this type is not
1758
+ * rate-limited.
1759
+ *
1760
+ * Per interface rather than per machine: a machine with two interfaces has this ceiling on
1761
+ * each of them, not shared between them. `max_ports` says how many it may have.
1762
+ */
1763
+ network_egress_kbps: number | null;
1764
+ /**
1765
+ * Format: int64
1766
+ * @description Inbound ceiling of each network interface, in kbps. Null when this type is not rate-limited
1767
+ */
1768
+ network_ingress_kbps: number | null;
1284
1769
  /** Format: int64 */
1285
1770
  max_floating_ips: number;
1286
1771
  /** Format: int64 */
@@ -1288,33 +1773,54 @@ export interface components {
1288
1773
  name: string;
1289
1774
  /** Format: int64 */
1290
1775
  ram_mb: number;
1291
- region_code: string;
1776
+ /** Format: uuid */
1777
+ region_id: string;
1292
1778
  /** Format: int64 */
1293
1779
  vcpus: number;
1780
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1781
+ product_id: string | null;
1782
+ /** Format: uuid */
1783
+ plan_id: string | null;
1294
1784
  };
1295
1785
  InstanceTypeListResponseBody: {
1296
- items: components["schemas"]["InstanceTypeResource"][] | null;
1786
+ items: components["schemas"]["InstanceTypeResource"][];
1787
+ pagination: components["schemas"]["OffsetPagination"];
1297
1788
  };
1298
1789
  RegionResource: {
1299
- code: string;
1790
+ /** @description ISO 3166-1 alpha-2 country this region sits in. Two letters, uppercase. */
1300
1791
  country_code: string;
1792
+ /** @description Display name for this place, shown to tenants (Hong Kong). The stable handle is code. */
1301
1793
  name: string;
1794
+ /** @description The region's code, the way the outside world names this place (hk-1). Stable and human-written; addressing is by id. */
1795
+ code: string;
1796
+ /** Format: uuid */
1797
+ id: string;
1302
1798
  };
1303
1799
  RegionListResponseBody: {
1304
1800
  items: components["schemas"]["RegionResource"][] | null;
1801
+ pagination: components["schemas"]["OffsetPagination"];
1305
1802
  };
1306
1803
  ZoneResource: {
1307
- code: string;
1804
+ /** @description Display name for this zone, shown to tenants (Hong Kong A). The stable handle is code. */
1308
1805
  name: string;
1806
+ /** @description The zone's code within its region (hk-1-a). Stable and human-written; addressing is by id. */
1807
+ code: string;
1808
+ /** Format: uuid */
1809
+ id: string;
1309
1810
  };
1310
1811
  ZoneListResponseBody: {
1311
1812
  items: components["schemas"]["ZoneResource"][] | null;
1813
+ pagination: components["schemas"]["OffsetPagination"];
1312
1814
  };
1313
1815
  DiskListResponseBody: {
1314
1816
  items: components["schemas"]["DiskResource"][] | null;
1817
+ pagination: components["schemas"]["OffsetPagination"];
1315
1818
  };
1316
1819
  CreateDiskRequestBody: {
1317
- /** Format: uuid */
1820
+ /**
1821
+ * Format: uuid
1822
+ * @description A data disk type currently on sale, one whose `for_system` is false. A withdrawn one is rejected even though its identifier still resolves
1823
+ */
1318
1824
  disk_type_id: string;
1319
1825
  name: string;
1320
1826
  /** Format: int64 */
@@ -1324,6 +1830,9 @@ export interface components {
1324
1830
  * @description Restore from this snapshot. When given, the capacity need only be no smaller than the snapshot
1325
1831
  */
1326
1832
  snapshot_id?: string;
1833
+ /** Format: uuid */
1834
+ price_id: string;
1835
+ order: components["schemas"]["OrderOptions"];
1327
1836
  };
1328
1837
  RenameDiskRequestBody: {
1329
1838
  name: string;
@@ -1334,6 +1843,9 @@ export interface components {
1334
1843
  * @description Must be larger than the current capacity
1335
1844
  */
1336
1845
  size_gb: number;
1846
+ /** Format: uuid */
1847
+ price_id: string;
1848
+ order: components["schemas"]["OrderOptions"];
1337
1849
  };
1338
1850
  RevertDiskRequestBody: {
1339
1851
  /**
@@ -1344,31 +1856,71 @@ export interface components {
1344
1856
  };
1345
1857
  FloatingIPResource: {
1346
1858
  address: string;
1347
- attached_fixed_ip: string | null;
1348
- attached_port_id: string | null;
1349
1859
  /** Format: int64 */
1350
1860
  bandwidth_mbps: number | null;
1351
1861
  /** Format: date-time */
1352
1862
  created_at: string;
1353
- /** Format: date-time */
1354
- detached_at: string | null;
1355
1863
  /** Format: uuid */
1356
1864
  id: string;
1357
- region_code: string;
1358
- /**
1359
- * @description `idle` means the address is not bound to a network interface
1360
- * @enum {string}
1361
- */
1362
- status: "idle" | "bound";
1865
+ /** Format: uuid */
1866
+ region_id: string;
1867
+ /** @enum {string} */
1868
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1869
+ /** Format: uuid */
1870
+ order_id: string | null;
1871
+ /** Format: uuid */
1872
+ price_id: string | null;
1873
+ /** Format: uuid */
1874
+ subscription_item_id: string | null;
1875
+ /** @description The subscriptions a cancellation through Billing has to cover to release this address: the subscriptions of the address and of its bandwidth. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for any of them. */
1876
+ release_subscription_ids: string[];
1877
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
1878
+ release_set: components["schemas"]["ReleaseSetItem"][];
1879
+ /** @enum {string|null} */
1880
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1881
+ task: components["schemas"]["Task"] | null;
1882
+ /** Format: uuid */
1883
+ bandwidth_order_id: string | null;
1884
+ /** Format: uuid */
1885
+ bandwidth_price_id: string | null;
1886
+ /** Format: uuid */
1887
+ bandwidth_subscription_item_id: string | null;
1888
+ /** @enum {string|null} */
1889
+ bandwidth_access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1890
+ /** Format: int64 */
1891
+ generation: number;
1892
+ /** Format: date-time */
1893
+ observed_at: string | null;
1894
+ binding: components["schemas"]["IPv4Binding"] | null;
1363
1895
  };
1364
1896
  FloatingIPListResponseBody: {
1365
1897
  items: components["schemas"]["FloatingIPResource"][] | null;
1898
+ pagination: components["schemas"]["OffsetPagination"];
1366
1899
  };
1367
1900
  AllocateFloatingIPRequestBody: {
1368
1901
  /** @description The address to allocate. Allocated by the platform when omitted */
1369
1902
  address?: string;
1903
+ /**
1904
+ * Format: int64
1905
+ * @description The bandwidth ceiling of this address, in Mbit/s, applied to both directions.
1906
+ *
1907
+ * Required, and there is no "unlimited": an address with no ceiling runs at line rate and is
1908
+ * charged nothing for the traffic, while the address itself bills normally — so the invoice
1909
+ * looks correct and nothing anywhere reports it.
1910
+ *
1911
+ * It is billed separately from the address, per Mbit/s-hour, and appears as its own line on
1912
+ * the order. Changing it later goes through the bandwidth endpoint.
1913
+ */
1914
+ bandwidth_mbps: number;
1370
1915
  /** Format: uuid */
1371
1916
  private_network_id: string;
1917
+ /** Format: uuid */
1918
+ ipv4_pool_id: string;
1919
+ /** Format: uuid */
1920
+ price_id: string;
1921
+ /** Format: uuid */
1922
+ bandwidth_price_id: string;
1923
+ order: components["schemas"]["OrderOptions"];
1372
1924
  };
1373
1925
  SetBandwidthRequestBody: {
1374
1926
  /**
@@ -1376,13 +1928,17 @@ export interface components {
1376
1928
  * @description Applied to both directions
1377
1929
  */
1378
1930
  mbps: number;
1931
+ /** Format: uuid */
1932
+ price_id: string;
1933
+ order: components["schemas"]["OrderOptions"];
1379
1934
  };
1380
1935
  BindFloatingIPRequestBody: {
1381
1936
  /** Format: uuid */
1382
- port_id: string;
1937
+ port_address_id: string;
1383
1938
  };
1384
1939
  InstanceResource: {
1385
- availability_zone: string;
1940
+ /** Format: uuid */
1941
+ availability_zone_id: string;
1386
1942
  /** Format: date-time */
1387
1943
  created_at: string;
1388
1944
  /** @description Hostname inside the instance; equals the instance id */
@@ -1391,7 +1947,7 @@ export interface components {
1391
1947
  id: string;
1392
1948
  /**
1393
1949
  * Format: uuid
1394
- * @description Non-empty when the instance was created from a platform image
1950
+ * @description Non-empty when the instance was created from an image, public or private
1395
1951
  */
1396
1952
  image_id: string | null;
1397
1953
  /**
@@ -1401,79 +1957,112 @@ export interface components {
1401
1957
  instance_type_id: string;
1402
1958
  /** @description IPv6 address of the primary network interface. Assigned automatically once IPv6 is enabled on the private network */
1403
1959
  ipv6_address: string | null;
1960
+ /** @description Your own classification of this instance, as key-value pairs. Empty when never set */
1961
+ labels: {
1962
+ [key: string]: string;
1963
+ };
1964
+ /** @description The account to log in as over SSH. The password set at creation belongs to this account */
1965
+ login_username: string;
1404
1966
  name: string;
1405
- /**
1406
- * Format: uuid
1407
- * @description Non-empty while a resize awaits confirmation. Confirming puts this type into effect, reverting discards it
1408
- */
1409
- pending_instance_type_id: string | null;
1410
- /**
1411
- * Format: uuid
1412
- * @description Non-empty when the instance was created from a private image
1413
- */
1414
- private_image_id: string | null;
1967
+ /** @description A free-text note about this instance. Empty when never set */
1968
+ notes: string;
1415
1969
  /** @description Private address of the instance */
1416
1970
  private_ip: string | null;
1417
- /** @description Private network of the primary network interface */
1971
+ /** Format: uuid */
1418
1972
  private_network_id: string | null;
1419
1973
  /** @description Floating IPv4 addresses bound to the primary network interface; an empty array when none are bound */
1420
1974
  public_ips: string[] | null;
1421
- region_code: string;
1422
- /**
1423
- * @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.
1424
- *
1425
- * `transitioning` is the fallback for a change that falls into none of the categories above. It does not indicate an error; keep polling.
1426
- *
1427
- * `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.
1428
- * @enum {string}
1429
- */
1430
- status: "provisioning" | "running" | "stopped" | "starting" | "stopping" | "rebooting" | "transitioning" | "resizing" | "resize_verifying" | "error" | "deleting" | "suspended";
1431
- /** @description Subnet of the primary network interface */
1975
+ /** Format: uuid */
1976
+ region_id: string;
1977
+ /** @enum {string} */
1978
+ status: "pending" | "building" | "active" | "stopped" | "paused" | "suspended" | "shelved" | "shelved_offloaded" | "rescued" | "deleting" | "deleted" | "error" | "unknown";
1979
+ /** Format: uuid */
1432
1980
  subnet_id: string | null;
1981
+ /** Format: date-time */
1982
+ updated_at: string;
1983
+ /** @enum {string} */
1984
+ desired_state: "running" | "stopped" | "deleted";
1985
+ /** @enum {string} */
1986
+ power_state: "no_state" | "running" | "paused" | "shutdown" | "crashed" | "suspended" | "unknown";
1987
+ /** @description Current provider task, such as scheduling, networking, block_device_mapping or spawning. none means no task; unknown tasks remain observable and do not imply failure. */
1988
+ task_state: string;
1989
+ /** Format: int64 */
1990
+ generation: number;
1991
+ /** Format: date-time */
1992
+ observed_at: string | null;
1993
+ restrictions: components["schemas"]["InstanceRestriction"][];
1994
+ task: components["schemas"]["Task"] | null;
1995
+ /** Format: uuid */
1996
+ order_id: string | null;
1997
+ /** Format: uuid */
1998
+ price_id: string | null;
1999
+ /** Format: uuid */
2000
+ subscription_item_id: string | null;
2001
+ /** @description The subscriptions a cancellation through Billing has to cover to release this instance: its own, those of the disks deleted with it, and those of the snapshots of those disks. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for any of them. */
2002
+ release_subscription_ids: string[];
2003
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
2004
+ release_set: components["schemas"]["ReleaseSetItem"][];
2005
+ /** @enum {string|null} */
2006
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1433
2007
  /**
1434
- * Format: date-time
1435
- * @description Non-empty once the platform has suspended the instance, which must be lifted before any operation
2008
+ * Format: uuid
2009
+ * @description Non-empty when the instance was created from a disk you already had, instead of from an image
1436
2010
  */
1437
- suspended_at: string | null;
1438
- /** Format: date-time */
1439
- updated_at: string;
2011
+ source_disk_id: string | null;
1440
2012
  };
1441
2013
  InstanceListResponseBody: {
1442
- items: components["schemas"]["InstanceResource"][] | null;
2014
+ items: components["schemas"]["InstanceResource"][];
2015
+ pagination: components["schemas"]["OffsetPagination"];
1443
2016
  };
1444
2017
  LaunchInstanceRequestBody: {
2018
+ /**
2019
+ * Format: uuid
2020
+ * @description Bind a floating IP you already hold, instead of allocating a new one. It must be idle and in
2021
+ * the same region.
2022
+ *
2023
+ * Mutually exclusive with `bandwidth_mbps`: an address you already hold has its own bandwidth
2024
+ * ceiling, set when it was allocated, and changing it is a separate operation.
2025
+ *
2026
+ * Like `bandwidth_mbps`, this happens **inside the creation**: if binding fails, no instance is
2027
+ * created. Binding afterwards is still possible from the instance page, but then it is two
2028
+ * operations and a failure in between leaves an instance you cannot reach.
2029
+ *
2030
+ * Only one instance can be created when it is used — one address binds to one interface.
2031
+ */
2032
+ floating_ip_id?: string;
1445
2033
  /**
1446
2034
  * Format: int64
1447
2035
  * @description Number of instances to create; 1 when omitted. Names are numbered automatically for several
2036
+ * @default 1
1448
2037
  */
1449
2038
  count?: number;
1450
2039
  /** @description Have the platform generate a random password, returned only in this response */
1451
2040
  generate_password?: boolean;
1452
2041
  /**
1453
2042
  * Format: uuid
1454
- * @description A platform image. Exactly one of this and `private_image_id`
2043
+ * @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 and `image_id`
2044
+ */
2045
+ boot_disk_id?: string;
2046
+ /**
2047
+ * Format: uuid
2048
+ * @description A public image currently on sale, or an available private image of this project. Exactly one of this and `boot_disk_id`
1455
2049
  */
1456
2050
  image_id?: string;
1457
- /** Format: uuid */
2051
+ /**
2052
+ * Format: uuid
2053
+ * @description An instance type currently on sale. A withdrawn one is rejected even though its identifier still resolves
2054
+ */
1458
2055
  instance_type_id: string;
2056
+ /** @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 */
2057
+ login_username?: string;
1459
2058
  name: string;
1460
- /** @description Root password. Only the SSH public keys of the project are used when omitted */
2059
+ /** @description The password to set, on the login account and on root. Only the SSH public keys of the project are used when omitted */
1461
2060
  password?: string;
1462
2061
  /**
1463
2062
  * Format: uuid
1464
2063
  * @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
1465
2064
  */
1466
2065
  port_id?: string;
1467
- /**
1468
- * Format: uuid
1469
- * @description A private image. Exactly one of this and `image_id`
1470
- */
1471
- private_image_id?: string;
1472
- /**
1473
- * Format: int64
1474
- * @description System disk capacity in GB. Chosen automatically from the requirement of the image and the platform minimum when omitted
1475
- */
1476
- root_disk_gb?: number;
1477
2066
  /** @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 */
1478
2067
  security_group_ids?: string[] | null;
1479
2068
  /**
@@ -1481,22 +2070,27 @@ export interface components {
1481
2070
  * @description Create the primary network interface in this subnet. Exactly one of this and `port_id`
1482
2071
  */
1483
2072
  subnet_id?: string;
2073
+ order: components["schemas"]["OrderOptions"];
2074
+ /** Format: uuid */
2075
+ price_id: string;
2076
+ boot_disk?: components["schemas"]["NewBootDisk"];
2077
+ floating_ip?: components["schemas"]["NewFloatingIP"];
1484
2078
  };
1485
- LaunchInstanceResponseBody: {
1486
- /** @description Non-empty when only some of the instances were created, stating why the sequence stopped */
1487
- failure: string | null;
1488
- /** @description Returned in request order; an array even for a single instance */
1489
- instances: components["schemas"]["InstanceResource"][] | null;
1490
- /** @description Returned only in this response; store it immediately. All instances of a batch share it */
1491
- password: string;
2079
+ SetInstanceLabelsRequestBody: {
2080
+ /** @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 */
2081
+ labels: {
2082
+ [key: string]: string;
2083
+ };
2084
+ };
2085
+ SetInstanceNotesRequestBody: {
2086
+ /** @description The complete note. Send an empty string to clear it */
2087
+ notes: string;
1492
2088
  };
1493
2089
  RenameInstanceRequestBody: {
1494
2090
  name: string;
1495
2091
  };
1496
- ActOnInstanceRequestBody: {
1497
- /** @enum {string} */
1498
- action: "start" | "stop" | "reboot";
1499
- /** @description Applies to `reboot` only. 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 */
2092
+ RebootInstanceRequestBody: {
2093
+ /** @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 */
1500
2094
  force?: boolean;
1501
2095
  };
1502
2096
  RunCommandRequestBody: {
@@ -1507,16 +2101,11 @@ export interface components {
1507
2101
  * @description Kill the command after this long. 60 when omitted
1508
2102
  */
1509
2103
  timeout_seconds?: number;
1510
- /**
1511
- * @description The SSH user to log in as. It is the account the platform sets a password for at creation
1512
- * @default root
1513
- */
1514
- username?: string;
1515
2104
  };
1516
2105
  CommandResultResponseBody: {
1517
2106
  /**
1518
2107
  * Format: int64
1519
- * @description Null when the command was killed rather than finishing on its own, which includes the timeout
2108
+ * @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
1520
2109
  */
1521
2110
  exit_code: number | null;
1522
2111
  stderr: string;
@@ -1548,15 +2137,10 @@ export interface components {
1548
2137
  generate_password?: boolean;
1549
2138
  /**
1550
2139
  * Format: uuid
1551
- * @description A platform image. Exactly one of this and `private_image_id`
2140
+ * @description A public image, which must be on sale unless it is the one this instance already runs, or an available private image of this project
1552
2141
  */
1553
- image_id?: string;
2142
+ image_id: string;
1554
2143
  password?: string;
1555
- /**
1556
- * Format: uuid
1557
- * @description A private image. Exactly one of this and `image_id`
1558
- */
1559
- private_image_id?: string;
1560
2144
  };
1561
2145
  RebuildInstanceResponseBody: {
1562
2146
  instance: components["schemas"]["InstanceResource"];
@@ -1569,6 +2153,9 @@ export interface components {
1569
2153
  * @description Must be in the same region and availability zone as the current instance type
1570
2154
  */
1571
2155
  instance_type_id: string;
2156
+ order: components["schemas"]["OrderOptions"];
2157
+ /** Format: uuid */
2158
+ price_id: string;
1572
2159
  };
1573
2160
  AttachDiskRequestBody: {
1574
2161
  /** Format: uuid */
@@ -1579,24 +2166,26 @@ export interface components {
1579
2166
  floating_ip_id: string;
1580
2167
  };
1581
2168
  PortResource: {
1582
- attached_instance_id: string | null;
1583
2169
  /** Format: uuid */
1584
2170
  id: string;
1585
- ipv6_address: string | null;
1586
- /** @description A primary network interface is created and released with its instance and cannot be detached individually */
1587
- is_primary: boolean;
1588
2171
  mac: string | null;
1589
2172
  name: string;
1590
- private_ip: string | null;
1591
2173
  /** Format: uuid */
1592
2174
  private_network_id: string;
1593
2175
  /** @description Floating IPv4 addresses bound to this network interface; an empty array when none are bound */
1594
2176
  public_ips: string[] | null;
1595
- /** Format: uuid */
1596
- subnet_id: string;
2177
+ addresses?: components["schemas"]["PortAddress"][];
2178
+ attachment?: components["schemas"]["PortAttachment"] | null;
2179
+ /** @enum {string} */
2180
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
2181
+ /** Format: int64 */
2182
+ generation: number;
2183
+ /** Format: date-time */
2184
+ observed_at: string | null;
1597
2185
  };
1598
2186
  PortListResponseBody: {
1599
2187
  items: components["schemas"]["PortResource"][] | null;
2188
+ pagination: components["schemas"]["OffsetPagination"];
1600
2189
  };
1601
2190
  AttachPortRequestBody: {
1602
2191
  /** Format: uuid */
@@ -1607,6 +2196,12 @@ export interface components {
1607
2196
  action: string;
1608
2197
  /** @description The user who initiated the operation. Empty when the platform performed it */
1609
2198
  actor: string | null;
2199
+ /**
2200
+ * @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.
2201
+ *
2202
+ * 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.
2203
+ */
2204
+ actor_name: string | null;
1610
2205
  /** @description True when the operation was performed by the platform */
1611
2206
  by_platform: boolean;
1612
2207
  /** Format: date-time */
@@ -1619,76 +2214,51 @@ export interface components {
1619
2214
  payload: {
1620
2215
  [key: string]: unknown;
1621
2216
  };
1622
- region_code: string | null;
2217
+ /** Format: uuid */
2218
+ region_id: string | null;
1623
2219
  /** @description Empty for create operations: the id of the new resource is in the response, not in the request path */
1624
2220
  subject_id: string;
1625
2221
  subject_type: string;
1626
2222
  succeeded: boolean;
1627
2223
  };
1628
2224
  OperationLogListResponseBody: {
1629
- items: components["schemas"]["OperationLogResource"][] | null;
1630
- /** Format: int64 */
1631
- total: number;
2225
+ items: components["schemas"]["OperationLogResource"][];
2226
+ pagination: components["schemas"]["OffsetPagination"];
1632
2227
  };
1633
2228
  CreatePortRequestBody: {
1634
2229
  name?: string;
1635
- /** @description The private address to assign. Allocated automatically when omitted */
1636
- private_ip?: string;
1637
2230
  /** @description At least one, and all must belong to the same private network */
1638
2231
  security_group_ids: string[] | null;
1639
2232
  /** Format: uuid */
1640
2233
  subnet_id: string;
2234
+ /** @description The private address to assign. Allocated automatically when omitted */
2235
+ address?: string;
1641
2236
  };
1642
- PrivateImageResource: {
1643
- architecture: string;
1644
- /** Format: date-time */
1645
- created_at: string;
1646
- /** @description Reason the capture failed; non-empty only when `status` is `error` */
1647
- failure: string | null;
1648
- /** Format: uuid */
1649
- id: string;
1650
- /**
1651
- * Format: int64
1652
- * @description The system disk of an instance created from this image cannot be smaller than this
1653
- */
1654
- min_disk_gb: number;
2237
+ CreateImageRequestBody: {
1655
2238
  /**
1656
- * Format: int64
1657
- * @description The instance type of an instance created from this image must have at least this much memory
2239
+ * Format: uuid
2240
+ * @description Captured from the system disk of this instance; data disks are not included
1658
2241
  */
1659
- min_ram_mb: number;
2242
+ instance_id: string;
1660
2243
  name: string;
1661
- os_family: string;
1662
- os_version: string;
1663
- /** @description An image can only be used in the region that holds it */
1664
- region_code: string;
1665
- /**
1666
- * Format: int64
1667
- * @description Storage occupied by the image; 0 until the capture completes
1668
- */
1669
- size_bytes: number;
2244
+ /** Format: uuid */
2245
+ price_id: string;
2246
+ order: components["schemas"]["OrderOptions"];
2247
+ };
2248
+ /** @description The fields of `CreateImageRequestBody` that decide the price */
2249
+ CreateImageQuoteRequestBody: {
1670
2250
  /**
1671
2251
  * Format: uuid
1672
- * @description The instance this image was captured from. The image remains usable after that instance is released
2252
+ * @description The instance whose system disk would be captured
1673
2253
  */
1674
- source_instance_id: string | null;
1675
- /** @enum {string} */
1676
- status: "provisioning" | "uploading" | "available" | "deleting" | "error";
1677
- /** @description False means a new password can only be set by rebuilding an instance created from this image */
1678
- supports_password_reset: boolean;
1679
- };
1680
- PrivateImageListResponseBody: {
1681
- items: components["schemas"]["PrivateImageResource"][] | null;
1682
- };
1683
- CreatePrivateImageRequestBody: {
2254
+ instance_id: string;
1684
2255
  /**
1685
2256
  * Format: uuid
1686
- * @description Captured from the system disk of this instance; data disks are not included
2257
+ * @description A price of the region's private image offering. One is selected when omitted
1687
2258
  */
1688
- instance_id: string;
1689
- name: string;
2259
+ price_id?: string;
1690
2260
  };
1691
- RenamePrivateImageRequestBody: {
2261
+ RenameImageRequestBody: {
1692
2262
  name: string;
1693
2263
  };
1694
2264
  PrivateNetworkResource: {
@@ -1699,20 +2269,26 @@ export interface components {
1699
2269
  /** Format: uuid */
1700
2270
  id: string;
1701
2271
  name: string;
1702
- region_code: string;
1703
- /** @enum {string} */
1704
- status: "available" | "error";
2272
+ /** Format: uuid */
2273
+ region_id: string;
2274
+ /**
2275
+ * @description Only `available` accepts new instances, interfaces and floating IPs
2276
+ * @enum {string}
2277
+ */
2278
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1705
2279
  /** Format: date-time */
1706
2280
  updated_at: string;
1707
2281
  };
1708
2282
  PrivateNetworkListResponseBody: {
1709
2283
  items: components["schemas"]["PrivateNetworkResource"][] | null;
2284
+ pagination: components["schemas"]["OffsetPagination"];
1710
2285
  };
1711
2286
  CreatePrivateNetworkRequestBody: {
1712
2287
  /** @description Must be an RFC 1918 private CIDR with a prefix length between /8 and /24, for example `10.0.0.0/16` */
1713
2288
  cidr: string;
1714
2289
  name: string;
1715
- region_code: string;
2290
+ /** Format: uuid */
2291
+ region_id: string;
1716
2292
  };
1717
2293
  RenamePrivateNetworkRequestBody: {
1718
2294
  name: string;
@@ -1728,16 +2304,23 @@ export interface components {
1728
2304
  status: "pending" | "active" | "draining";
1729
2305
  };
1730
2306
  RouteResource: {
2307
+ /**
2308
+ * Format: uuid
2309
+ * @description System-owned peering route. Delete the peering to remove this route.
2310
+ */
2311
+ peering_id?: string;
1731
2312
  /** Format: date-time */
1732
2313
  created_at: string;
1733
2314
  description: string;
1734
2315
  destination: string;
1735
2316
  /** Format: uuid */
1736
2317
  id: string;
1737
- nexthop: string;
2318
+ /** @description Present for custom routes; peering routes expose peering_id instead. */
2319
+ nexthop?: string;
1738
2320
  };
1739
2321
  RouteListResponseBody: {
1740
2322
  items: components["schemas"]["RouteResource"][] | null;
2323
+ pagination: components["schemas"]["OffsetPagination"];
1741
2324
  };
1742
2325
  CreateRouteRequestBody: {
1743
2326
  description?: string;
@@ -1762,6 +2345,7 @@ export interface components {
1762
2345
  };
1763
2346
  SubnetListResponseBody: {
1764
2347
  items: components["schemas"]["SubnetResource"][] | null;
2348
+ pagination: components["schemas"]["OffsetPagination"];
1765
2349
  };
1766
2350
  CreateSubnetRequestBody: {
1767
2351
  /** @description Must fall inside the CIDR of the private network and must not overlap an existing subnet */
@@ -1786,6 +2370,7 @@ export interface components {
1786
2370
  };
1787
2371
  SecurityGroupListResponseBody: {
1788
2372
  items: components["schemas"]["SecurityGroupResource"][] | null;
2373
+ pagination: components["schemas"]["OffsetPagination"];
1789
2374
  };
1790
2375
  CreateSecurityGroupRequestBody: {
1791
2376
  description?: string;
@@ -1818,6 +2403,7 @@ export interface components {
1818
2403
  };
1819
2404
  SecurityRuleListResponseBody: {
1820
2405
  items: components["schemas"]["SecurityRuleResource"][] | null;
2406
+ pagination: components["schemas"]["OffsetPagination"];
1821
2407
  };
1822
2408
  CreateSecurityRuleRequestBody: {
1823
2409
  description?: string;
@@ -1841,8 +2427,11 @@ export interface components {
1841
2427
  remote_ip_prefix?: string;
1842
2428
  };
1843
2429
  SnapshotResource: {
1844
- /** @description A disk restored from this snapshot must reside in this availability zone */
1845
- availability_zone: string;
2430
+ /**
2431
+ * Format: uuid
2432
+ * @description A disk restored from this snapshot must reside in this availability zone
2433
+ */
2434
+ availability_zone_id: string;
1846
2435
  /** Format: date-time */
1847
2436
  created_at: string;
1848
2437
  /** Format: uuid */
@@ -1850,7 +2439,8 @@ export interface components {
1850
2439
  /** Format: uuid */
1851
2440
  id: string;
1852
2441
  name: string;
1853
- region_code: string;
2442
+ /** Format: uuid */
2443
+ region_id: string;
1854
2444
  /**
1855
2445
  * Format: int64
1856
2446
  * @description Capacity of the source disk when the snapshot was created. A disk restored from it cannot be smaller
@@ -1858,14 +2448,35 @@ export interface components {
1858
2448
  size_gb: number;
1859
2449
  /** @enum {string} */
1860
2450
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
2451
+ /** Format: uuid */
2452
+ order_id: string | null;
2453
+ /** Format: uuid */
2454
+ price_id: string | null;
2455
+ /** Format: uuid */
2456
+ subscription_item_id: string | null;
2457
+ /** @description The subscriptions a cancellation through Billing has to cover to release this snapshot: its own. Subscriptions that have ended are not listed, and the list is empty when no subscription pays for any of them. */
2458
+ release_subscription_ids: string[];
2459
+ /** @description The subscriptions of `release_subscription_ids`, in the same order, each with the resource it pays for, so that each line of a cancellation can name what it releases. */
2460
+ release_set: components["schemas"]["ReleaseSetItem"][];
2461
+ /** @enum {string|null} */
2462
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
2463
+ task: components["schemas"]["Task"] | null;
2464
+ /** Format: int64 */
2465
+ generation: number;
2466
+ /** Format: date-time */
2467
+ observed_at: string | null;
1861
2468
  };
1862
2469
  SnapshotListResponseBody: {
1863
2470
  items: components["schemas"]["SnapshotResource"][] | null;
2471
+ pagination: components["schemas"]["OffsetPagination"];
1864
2472
  };
1865
2473
  CreateSnapshotRequestBody: {
1866
2474
  /** Format: uuid */
1867
2475
  disk_id: string;
1868
2476
  name: string;
2477
+ /** Format: uuid */
2478
+ price_id: string;
2479
+ order: components["schemas"]["OrderOptions"];
1869
2480
  };
1870
2481
  RenameSecurityGroupRequestBody: {
1871
2482
  name: string;
@@ -1873,9 +2484,274 @@ export interface components {
1873
2484
  RenameSnapshotRequestBody: {
1874
2485
  name: string;
1875
2486
  };
2487
+ /** @description Purchase options. Every request places an order of its own. */
2488
+ OrderOptions: {
2489
+ /**
2490
+ * @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. When false, the order is created without payment, and its invoice, if any, is paid through Billing.
2491
+ * @default true
2492
+ */
2493
+ auto_pay?: boolean;
2494
+ expected_amount?: string;
2495
+ redemption_code?: string;
2496
+ };
2497
+ /** @description Identifies the purchase. Read the order for purchase progress and its invoice for amounts and payment status. */
2498
+ PlacedOrder: {
2499
+ /**
2500
+ * Format: uuid
2501
+ * @description The invoice for this purchase. Null when there is no immediate invoice. Read the invoice for its current payment state.
2502
+ */
2503
+ invoice_id: string | null;
2504
+ /**
2505
+ * Format: uuid
2506
+ * @description The order, including for purchases without an immediate charge. Payment alone does not imply that the service has completed delivery.
2507
+ */
2508
+ order_id: string;
2509
+ };
2510
+ /** @description What a purchase would be charged, priced as a service would order it, without ordering anything. Nothing is reserved and nothing is recorded. */
2511
+ PurchaseQuote: {
2512
+ /** @description One line for each item the purchase would order, in the order it would order them. */
2513
+ lines: components["schemas"]["PurchaseQuoteLine"][];
2514
+ /** @description What would be owed for the whole purchase. Null when any line could not be priced: what would be owed is not knowable then. */
2515
+ total: components["schemas"]["Money"] | null;
2516
+ currency: string;
2517
+ };
2518
+ /** @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. */
2519
+ PurchaseResult: {
2520
+ /**
2521
+ * Format: uuid
2522
+ * @description The Compute task that carries out the purchase.
2523
+ */
2524
+ task_id: string;
2525
+ order: components["schemas"]["PlacedOrder"];
2526
+ };
2527
+ /** @description A system disk purchased in the same order. Required when booting from an image; mutually exclusive with boot_disk_id. */
2528
+ NewBootDisk: {
2529
+ /**
2530
+ * Format: uuid
2531
+ * @description A system disk type on sale in the availability zone of the instance, one whose `for_system` is true
2532
+ */
2533
+ disk_type_id: string;
2534
+ /** Format: int64 */
2535
+ size_gb: number;
2536
+ /** Format: uuid */
2537
+ price_id: string;
2538
+ /** @default true */
2539
+ delete_with_instance?: boolean;
2540
+ };
2541
+ /** @description An address and bandwidth purchased in the same order. Mutually exclusive with floating_ip_id. */
2542
+ NewFloatingIP: {
2543
+ /** Format: uuid */
2544
+ price_id: string;
2545
+ /** Format: uuid */
2546
+ bandwidth_price_id: string;
2547
+ /** Format: int64 */
2548
+ bandwidth_mbps: number;
2549
+ /** Format: uuid */
2550
+ ipv4_pool_id: string;
2551
+ };
2552
+ /** @description An independent restriction on use. Removing one restriction never removes another source’s restriction or changes the user’s desired power state. */
2553
+ InstanceRestriction: {
2554
+ /** Format: uuid */
2555
+ id: string;
2556
+ /** @enum {string} */
2557
+ source: "billing" | "iam" | "operator";
2558
+ source_id: string;
2559
+ reason_code: string;
2560
+ /** Format: date-time */
2561
+ created_at: string;
2562
+ };
2563
+ PowerRequest: {
2564
+ /** Format: int64 */
2565
+ expected_generation?: number;
2566
+ };
2567
+ /** @description A requested action and its outcome. Query it through the service that accepted the request, using the same project or administrator credentials. Only succeeded confirms completion. Stopping a wait does not cancel the action. Cancellation is available only where the action explicitly supports it. */
2568
+ Task: {
2569
+ /** Format: uuid */
2570
+ id: string;
2571
+ /** @description Action requested from the owning service. */
2572
+ type: string;
2573
+ /** @enum {string} */
2574
+ state: "pending" | "running" | "succeeded" | "failed" | "canceled";
2575
+ /** @description Terminal failure. Absent while work can still recover. */
2576
+ error?: components["schemas"]["Error"];
2577
+ /** Format: date-time */
2578
+ created_at: string;
2579
+ /** Format: date-time */
2580
+ started_at: string | null;
2581
+ /** Format: date-time */
2582
+ completed_at: string | null;
2583
+ };
2584
+ PortAddress: {
2585
+ /** Format: uuid */
2586
+ id: string;
2587
+ /** Format: uuid */
2588
+ subnet_id: string;
2589
+ address: string;
2590
+ is_primary: boolean;
2591
+ /** @enum {string} */
2592
+ state: "reserved" | "assigned" | "releasing" | "released" | "unknown";
2593
+ /** Format: date-time */
2594
+ assigned_at: string | null;
2595
+ /** Format: date-time */
2596
+ released_at: string | null;
2597
+ };
2598
+ DiskAttachment: {
2599
+ /** Format: uuid */
2600
+ id: string;
2601
+ /** Format: uuid */
2602
+ instance_id: string;
2603
+ /** Format: uuid */
2604
+ disk_id: string;
2605
+ /** @enum {string} */
2606
+ role: "boot" | "data";
2607
+ delete_with_instance: boolean;
2608
+ /** @enum {string} */
2609
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2610
+ /** Format: date-time */
2611
+ attached_at: string | null;
2612
+ /** Format: date-time */
2613
+ detached_at: string | null;
2614
+ /** Format: date-time */
2615
+ released_at: string | null;
2616
+ device: string | null;
2617
+ };
2618
+ DiskAttachmentList: {
2619
+ items: components["schemas"]["DiskAttachment"][];
2620
+ pagination: components["schemas"]["OffsetPagination"];
2621
+ };
2622
+ PortAttachment: {
2623
+ /** Format: uuid */
2624
+ id: string;
2625
+ /** Format: uuid */
2626
+ instance_id: string;
2627
+ /** Format: uuid */
2628
+ port_id: string;
2629
+ /** @enum {string} */
2630
+ role: "primary" | "additional";
2631
+ delete_with_instance: boolean;
2632
+ /** @enum {string} */
2633
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2634
+ /** Format: date-time */
2635
+ attached_at: string | null;
2636
+ /** Format: date-time */
2637
+ detached_at: string | null;
2638
+ /** Format: date-time */
2639
+ released_at: string | null;
2640
+ };
2641
+ PortAttachmentList: {
2642
+ items: components["schemas"]["PortAttachment"][];
2643
+ pagination: components["schemas"]["OffsetPagination"];
2644
+ };
2645
+ LaunchInstanceResponseBody: {
2646
+ /** @description Instances created by this operation. Empty before resource creation starts. */
2647
+ instance_ids: string[];
2648
+ /**
2649
+ * Format: uuid
2650
+ * @description The Compute task that carries out the purchase.
2651
+ */
2652
+ task_id: string;
2653
+ order: components["schemas"]["PlacedOrder"];
2654
+ /** @description Generated login password, returned only by this response. Null when no password was generated. */
2655
+ password: string | null;
2656
+ };
2657
+ IPv4PoolResource: {
2658
+ /** Format: uuid */
2659
+ id: string;
2660
+ /** Format: uuid */
2661
+ region_id: string;
2662
+ name: string;
2663
+ /** Format: uuid */
2664
+ plan_id: string | null;
2665
+ /** Format: uuid */
2666
+ bandwidth_plan_id: string | null;
2667
+ };
2668
+ IPv4PoolListResponseBody: {
2669
+ items: components["schemas"]["IPv4PoolResource"][];
2670
+ pagination: components["schemas"]["OffsetPagination"];
2671
+ };
2672
+ IPv4Binding: {
2673
+ /** Format: uuid */
2674
+ id: string;
2675
+ /** Format: uuid */
2676
+ ipv4_allocation_id: string;
2677
+ /** Format: uuid */
2678
+ port_address_id: string;
2679
+ address: string;
2680
+ fixed_ip: string;
2681
+ /** @enum {string} */
2682
+ state: "binding" | "bound" | "unbinding" | "released" | "unknown";
2683
+ /** Format: date-time */
2684
+ bound_at: string | null;
2685
+ /** Format: date-time */
2686
+ unbound_at: string | null;
2687
+ /** Format: date-time */
2688
+ released_at: string | null;
2689
+ };
2690
+ /** @description One subscription of a release set and the resource it pays for. An address and its bandwidth are two subscriptions of the same floating IP. */
2691
+ ReleaseSetItem: {
2692
+ /** Format: uuid */
2693
+ subscription_id: string;
2694
+ resource: components["schemas"]["ReleaseResource"];
2695
+ };
2696
+ /** @description A resource a release set releases. */
2697
+ ReleaseResource: {
2698
+ /** @enum {string} */
2699
+ type: "instance" | "disk" | "snapshot" | "backup" | "image" | "floating_ip";
2700
+ /** Format: uuid */
2701
+ id: string;
2702
+ /** @description The resource's name. A floating IP is named by its address. */
2703
+ name: string;
2704
+ };
2705
+ /** @description Pagination metadata for stable numbered pages. total_count is returned only when the operation can determine it without an unbounded scan. */
2706
+ OffsetPagination: {
2707
+ /** Format: int64 */
2708
+ page: number;
2709
+ /** Format: int64 */
2710
+ page_size: number;
2711
+ /** Format: int64 */
2712
+ total_count?: number;
2713
+ };
2714
+ /**
2715
+ * @description A decimal string, in the currency stated alongside it.
2716
+ *
2717
+ * **The currency is not part of this type.** It is carried by a `currency` field next to the
2718
+ * amount, or by the account the amount belongs to. Reading an amount without that field is
2719
+ * reading a number with no unit.
2720
+ *
2721
+ * It is a string rather than a JSON number because a JSON number is a float in most parsers,
2722
+ * and a float loses precision on the first arithmetic. Nothing on this platform puts an amount
2723
+ * through a float.
2724
+ * @example 10.2500000000
2725
+ */
2726
+ Money: string;
2727
+ PurchaseQuoteLine: {
2728
+ /** @description Whether a price was found for this line. When false, `price_id`, `unit_amount` and `amount` are null and `unpriced_reason` states what is missing. */
2729
+ priced: boolean;
2730
+ /**
2731
+ * @description Why no price was found; `none` while `priced` is true.
2732
+ * @enum {string}
2733
+ */
2734
+ unpriced_reason: "none" | "no_price" | "no_rate_card" | "no_meter" | "no_dimensions" | "no_effective_rule";
2735
+ /**
2736
+ * Format: uuid
2737
+ * @description The price selected, including when the request left the choice to the service. Order with this price.
2738
+ */
2739
+ price_id: string | null;
2740
+ plan_name: string;
2741
+ unit_amount: components["schemas"]["Money"] | null;
2742
+ /** @description The quantity priced. */
2743
+ quantity: string;
2744
+ /** @description Not rounded. Round only for display. */
2745
+ amount: components["schemas"]["Money"] | null;
2746
+ tax_amount: components["schemas"]["Money"] | null;
2747
+ currency: string;
2748
+ };
1876
2749
  };
1877
2750
  responses: never;
1878
- parameters: never;
2751
+ parameters: {
2752
+ Page: number;
2753
+ PageSize: number;
2754
+ };
1879
2755
  requestBodies: never;
1880
2756
  headers: never;
1881
2757
  pathItems: never;
@@ -1887,20 +2763,55 @@ export interface operations {
1887
2763
  query?: {
1888
2764
  /** @description Return only the backups of this disk */
1889
2765
  disk_id?: string;
2766
+ page?: components["parameters"]["Page"];
2767
+ page_size?: components["parameters"]["PageSize"];
2768
+ };
2769
+ header?: never;
2770
+ path?: never;
2771
+ cookie?: never;
2772
+ };
2773
+ requestBody?: never;
2774
+ responses: {
2775
+ /** @description OK */
2776
+ 200: {
2777
+ headers: {
2778
+ [name: string]: unknown;
2779
+ };
2780
+ content: {
2781
+ "application/json": components["schemas"]["BackupListResponseBody"];
2782
+ };
2783
+ };
2784
+ /** @description Error */
2785
+ default: {
2786
+ headers: {
2787
+ [name: string]: unknown;
2788
+ };
2789
+ content: {
2790
+ "application/json": components["schemas"]["Error"];
2791
+ };
1890
2792
  };
2793
+ };
2794
+ };
2795
+ "create-backup": {
2796
+ parameters: {
2797
+ query?: never;
1891
2798
  header?: never;
1892
2799
  path?: never;
1893
2800
  cookie?: never;
1894
2801
  };
1895
- requestBody?: never;
2802
+ requestBody: {
2803
+ content: {
2804
+ "application/json": components["schemas"]["CreateBackupRequestBody"];
2805
+ };
2806
+ };
1896
2807
  responses: {
1897
- /** @description OK */
1898
- 200: {
2808
+ /** @description Created */
2809
+ 201: {
1899
2810
  headers: {
1900
2811
  [name: string]: unknown;
1901
2812
  };
1902
2813
  content: {
1903
- "application/json": components["schemas"]["BackupListResponseBody"];
2814
+ "application/json": components["schemas"]["PurchaseResult"];
1904
2815
  };
1905
2816
  };
1906
2817
  /** @description Error */
@@ -1914,7 +2825,7 @@ export interface operations {
1914
2825
  };
1915
2826
  };
1916
2827
  };
1917
- "create-backup": {
2828
+ "create-backup-quote": {
1918
2829
  parameters: {
1919
2830
  query?: never;
1920
2831
  header?: never;
@@ -1923,17 +2834,17 @@ export interface operations {
1923
2834
  };
1924
2835
  requestBody: {
1925
2836
  content: {
1926
- "application/json": components["schemas"]["CreateBackupRequestBody"];
2837
+ "application/json": components["schemas"]["CreateBackupQuoteRequestBody"];
1927
2838
  };
1928
2839
  };
1929
2840
  responses: {
1930
- /** @description Created */
1931
- 201: {
2841
+ /** @description OK */
2842
+ 200: {
1932
2843
  headers: {
1933
2844
  [name: string]: unknown;
1934
2845
  };
1935
2846
  content: {
1936
- "application/json": components["schemas"]["BackupResource"];
2847
+ "application/json": components["schemas"]["PurchaseQuote"];
1937
2848
  };
1938
2849
  };
1939
2850
  /** @description Error */
@@ -1989,12 +2900,23 @@ export interface operations {
1989
2900
  };
1990
2901
  requestBody?: never;
1991
2902
  responses: {
1992
- /** @description No Content */
1993
- 204: {
2903
+ /** @description The action was accepted. Wait for the returned task to finish. */
2904
+ 202: {
1994
2905
  headers: {
1995
2906
  [name: string]: unknown;
1996
2907
  };
1997
- content?: never;
2908
+ content: {
2909
+ "application/json": components["schemas"]["Task"];
2910
+ };
2911
+ };
2912
+ /** @description The deletion was refused. */
2913
+ 409: {
2914
+ headers: {
2915
+ [name: string]: unknown;
2916
+ };
2917
+ content: {
2918
+ "application/json": components["schemas"]["Error"];
2919
+ };
1998
2920
  };
1999
2921
  /** @description Error */
2000
2922
  default: {
@@ -2063,7 +2985,7 @@ export interface operations {
2063
2985
  [name: string]: unknown;
2064
2986
  };
2065
2987
  content: {
2066
- "application/json": components["schemas"]["DiskResource"];
2988
+ "application/json": components["schemas"]["PurchaseResult"];
2067
2989
  };
2068
2990
  };
2069
2991
  /** @description Error */
@@ -2079,8 +3001,12 @@ export interface operations {
2079
3001
  };
2080
3002
  "list-disk-types": {
2081
3003
  parameters: {
2082
- query: {
2083
- region_code: string;
3004
+ query?: {
3005
+ region_id?: string;
3006
+ /** @description `true` lists only system disk types and `false` only data disk types. Both are listed when omitted. */
3007
+ for_system?: boolean;
3008
+ page?: components["parameters"]["Page"];
3009
+ page_size?: components["parameters"]["PageSize"];
2084
3010
  };
2085
3011
  header?: never;
2086
3012
  path?: never;
@@ -2108,10 +3034,46 @@ export interface operations {
2108
3034
  };
2109
3035
  };
2110
3036
  };
3037
+ "get-disk-type": {
3038
+ parameters: {
3039
+ query?: never;
3040
+ header?: never;
3041
+ path: {
3042
+ diskTypeId: string;
3043
+ };
3044
+ cookie?: never;
3045
+ };
3046
+ requestBody?: never;
3047
+ responses: {
3048
+ /** @description OK */
3049
+ 200: {
3050
+ headers: {
3051
+ [name: string]: unknown;
3052
+ };
3053
+ content: {
3054
+ "application/json": components["schemas"]["DiskTypeResource"];
3055
+ };
3056
+ };
3057
+ /** @description Error */
3058
+ default: {
3059
+ headers: {
3060
+ [name: string]: unknown;
3061
+ };
3062
+ content: {
3063
+ "application/json": components["schemas"]["Error"];
3064
+ };
3065
+ };
3066
+ };
3067
+ };
2111
3068
  "list-images": {
2112
3069
  parameters: {
2113
- query: {
2114
- region_code: string;
3070
+ query?: {
3071
+ /** @description Return only the images of this region */
3072
+ region_id?: string;
3073
+ /** @description Return only public or only private images. Both are returned when omitted */
3074
+ visibility?: components["schemas"]["ImageVisibility"];
3075
+ page?: components["parameters"]["Page"];
3076
+ page_size?: components["parameters"]["PageSize"];
2115
3077
  };
2116
3078
  header?: never;
2117
3079
  path?: never;
@@ -2139,10 +3101,184 @@ export interface operations {
2139
3101
  };
2140
3102
  };
2141
3103
  };
3104
+ "create-image": {
3105
+ parameters: {
3106
+ query?: never;
3107
+ header?: never;
3108
+ path?: never;
3109
+ cookie?: never;
3110
+ };
3111
+ requestBody: {
3112
+ content: {
3113
+ "application/json": components["schemas"]["CreateImageRequestBody"];
3114
+ };
3115
+ };
3116
+ responses: {
3117
+ /** @description Created */
3118
+ 201: {
3119
+ headers: {
3120
+ [name: string]: unknown;
3121
+ };
3122
+ content: {
3123
+ "application/json": components["schemas"]["PurchaseResult"];
3124
+ };
3125
+ };
3126
+ /** @description Error */
3127
+ default: {
3128
+ headers: {
3129
+ [name: string]: unknown;
3130
+ };
3131
+ content: {
3132
+ "application/json": components["schemas"]["Error"];
3133
+ };
3134
+ };
3135
+ };
3136
+ };
3137
+ "create-image-quote": {
3138
+ parameters: {
3139
+ query?: never;
3140
+ header?: never;
3141
+ path?: never;
3142
+ cookie?: never;
3143
+ };
3144
+ requestBody: {
3145
+ content: {
3146
+ "application/json": components["schemas"]["CreateImageQuoteRequestBody"];
3147
+ };
3148
+ };
3149
+ responses: {
3150
+ /** @description OK */
3151
+ 200: {
3152
+ headers: {
3153
+ [name: string]: unknown;
3154
+ };
3155
+ content: {
3156
+ "application/json": components["schemas"]["PurchaseQuote"];
3157
+ };
3158
+ };
3159
+ /** @description Error */
3160
+ default: {
3161
+ headers: {
3162
+ [name: string]: unknown;
3163
+ };
3164
+ content: {
3165
+ "application/json": components["schemas"]["Error"];
3166
+ };
3167
+ };
3168
+ };
3169
+ };
3170
+ "get-image": {
3171
+ parameters: {
3172
+ query?: never;
3173
+ header?: never;
3174
+ path: {
3175
+ imageId: string;
3176
+ };
3177
+ cookie?: never;
3178
+ };
3179
+ requestBody?: never;
3180
+ responses: {
3181
+ /** @description OK */
3182
+ 200: {
3183
+ headers: {
3184
+ [name: string]: unknown;
3185
+ };
3186
+ content: {
3187
+ "application/json": components["schemas"]["ImageResource"];
3188
+ };
3189
+ };
3190
+ /** @description Error */
3191
+ default: {
3192
+ headers: {
3193
+ [name: string]: unknown;
3194
+ };
3195
+ content: {
3196
+ "application/json": components["schemas"]["Error"];
3197
+ };
3198
+ };
3199
+ };
3200
+ };
3201
+ "delete-image": {
3202
+ parameters: {
3203
+ query?: never;
3204
+ header?: never;
3205
+ path: {
3206
+ imageId: string;
3207
+ };
3208
+ cookie?: never;
3209
+ };
3210
+ requestBody?: never;
3211
+ responses: {
3212
+ /** @description The action was accepted. Wait for the returned task to finish. */
3213
+ 202: {
3214
+ headers: {
3215
+ [name: string]: unknown;
3216
+ };
3217
+ content: {
3218
+ "application/json": components["schemas"]["Task"];
3219
+ };
3220
+ };
3221
+ /** @description The deletion was refused. */
3222
+ 409: {
3223
+ headers: {
3224
+ [name: string]: unknown;
3225
+ };
3226
+ content: {
3227
+ "application/json": components["schemas"]["Error"];
3228
+ };
3229
+ };
3230
+ /** @description Error */
3231
+ default: {
3232
+ headers: {
3233
+ [name: string]: unknown;
3234
+ };
3235
+ content: {
3236
+ "application/json": components["schemas"]["Error"];
3237
+ };
3238
+ };
3239
+ };
3240
+ };
3241
+ "rename-image": {
3242
+ parameters: {
3243
+ query?: never;
3244
+ header?: never;
3245
+ path: {
3246
+ imageId: string;
3247
+ };
3248
+ cookie?: never;
3249
+ };
3250
+ requestBody: {
3251
+ content: {
3252
+ "application/json": components["schemas"]["RenameImageRequestBody"];
3253
+ };
3254
+ };
3255
+ responses: {
3256
+ /** @description OK */
3257
+ 200: {
3258
+ headers: {
3259
+ [name: string]: unknown;
3260
+ };
3261
+ content: {
3262
+ "application/json": components["schemas"]["ImageResource"];
3263
+ };
3264
+ };
3265
+ /** @description Error */
3266
+ default: {
3267
+ headers: {
3268
+ [name: string]: unknown;
3269
+ };
3270
+ content: {
3271
+ "application/json": components["schemas"]["Error"];
3272
+ };
3273
+ };
3274
+ };
3275
+ };
2142
3276
  "list-instance-types": {
2143
3277
  parameters: {
2144
- query: {
2145
- region_code: string;
3278
+ query?: {
3279
+ region_id?: string;
3280
+ page?: components["parameters"]["Page"];
3281
+ page_size?: components["parameters"]["PageSize"];
2146
3282
  };
2147
3283
  header?: never;
2148
3284
  path?: never;
@@ -2172,7 +3308,10 @@ export interface operations {
2172
3308
  };
2173
3309
  "list-regions": {
2174
3310
  parameters: {
2175
- query?: never;
3311
+ query?: {
3312
+ page?: components["parameters"]["Page"];
3313
+ page_size?: components["parameters"]["PageSize"];
3314
+ };
2176
3315
  header?: never;
2177
3316
  path?: never;
2178
3317
  cookie?: never;
@@ -2201,10 +3340,13 @@ export interface operations {
2201
3340
  };
2202
3341
  "list-availability-zones": {
2203
3342
  parameters: {
2204
- query?: never;
3343
+ query?: {
3344
+ page?: components["parameters"]["Page"];
3345
+ page_size?: components["parameters"]["PageSize"];
3346
+ };
2205
3347
  header?: never;
2206
3348
  path: {
2207
- regionCode: string;
3349
+ regionId: string;
2208
3350
  };
2209
3351
  cookie?: never;
2210
3352
  };
@@ -2233,9 +3375,11 @@ export interface operations {
2233
3375
  "list-disks": {
2234
3376
  parameters: {
2235
3377
  query?: {
2236
- region_code?: string;
3378
+ region_id?: string;
2237
3379
  /** @description Supplied together with `region_code` to filter attachable disks */
2238
- availability_zone?: string;
3380
+ availability_zone_id?: string;
3381
+ page?: components["parameters"]["Page"];
3382
+ page_size?: components["parameters"]["PageSize"];
2239
3383
  };
2240
3384
  header?: never;
2241
3385
  path?: never;
@@ -2282,7 +3426,7 @@ export interface operations {
2282
3426
  [name: string]: unknown;
2283
3427
  };
2284
3428
  content: {
2285
- "application/json": components["schemas"]["DiskResource"];
3429
+ "application/json": components["schemas"]["PurchaseResult"];
2286
3430
  };
2287
3431
  };
2288
3432
  /** @description Error */
@@ -2338,12 +3482,23 @@ export interface operations {
2338
3482
  };
2339
3483
  requestBody?: never;
2340
3484
  responses: {
2341
- /** @description No Content */
2342
- 204: {
3485
+ /** @description The action was accepted. Wait for the returned task to finish. */
3486
+ 202: {
2343
3487
  headers: {
2344
3488
  [name: string]: unknown;
2345
3489
  };
2346
- content?: never;
3490
+ content: {
3491
+ "application/json": components["schemas"]["Task"];
3492
+ };
3493
+ };
3494
+ /** @description The deletion was refused. */
3495
+ 409: {
3496
+ headers: {
3497
+ [name: string]: unknown;
3498
+ };
3499
+ content: {
3500
+ "application/json": components["schemas"]["Error"];
3501
+ };
2347
3502
  };
2348
3503
  /** @description Error */
2349
3504
  default: {
@@ -2412,7 +3567,7 @@ export interface operations {
2412
3567
  [name: string]: unknown;
2413
3568
  };
2414
3569
  content: {
2415
- "application/json": components["schemas"]["DiskResource"];
3570
+ "application/json": components["schemas"]["PurchaseResult"];
2416
3571
  };
2417
3572
  };
2418
3573
  /** @description Error */
@@ -2441,13 +3596,13 @@ export interface operations {
2441
3596
  };
2442
3597
  };
2443
3598
  responses: {
2444
- /** @description OK */
2445
- 200: {
3599
+ /** @description The action was accepted. Wait for the returned task to finish. */
3600
+ 202: {
2446
3601
  headers: {
2447
3602
  [name: string]: unknown;
2448
3603
  };
2449
3604
  content: {
2450
- "application/json": components["schemas"]["DiskResource"];
3605
+ "application/json": components["schemas"]["Task"];
2451
3606
  };
2452
3607
  };
2453
3608
  /** @description Error */
@@ -2463,7 +3618,10 @@ export interface operations {
2463
3618
  };
2464
3619
  "list-floating-ips": {
2465
3620
  parameters: {
2466
- query?: never;
3621
+ query?: {
3622
+ page?: components["parameters"]["Page"];
3623
+ page_size?: components["parameters"]["PageSize"];
3624
+ };
2467
3625
  header?: never;
2468
3626
  path?: never;
2469
3627
  cookie?: never;
@@ -2509,7 +3667,7 @@ export interface operations {
2509
3667
  [name: string]: unknown;
2510
3668
  };
2511
3669
  content: {
2512
- "application/json": components["schemas"]["FloatingIPResource"];
3670
+ "application/json": components["schemas"]["PurchaseResult"];
2513
3671
  };
2514
3672
  };
2515
3673
  /** @description Error */
@@ -2565,12 +3723,23 @@ export interface operations {
2565
3723
  };
2566
3724
  requestBody?: never;
2567
3725
  responses: {
2568
- /** @description No Content */
2569
- 204: {
3726
+ /** @description The release has been accepted. */
3727
+ 202: {
3728
+ headers: {
3729
+ [name: string]: unknown;
3730
+ };
3731
+ content: {
3732
+ "application/json": components["schemas"]["Task"];
3733
+ };
3734
+ };
3735
+ /** @description The deletion was refused. */
3736
+ 409: {
2570
3737
  headers: {
2571
3738
  [name: string]: unknown;
2572
3739
  };
2573
- content?: never;
3740
+ content: {
3741
+ "application/json": components["schemas"]["Error"];
3742
+ };
2574
3743
  };
2575
3744
  /** @description Error */
2576
3745
  default: {
@@ -2604,7 +3773,7 @@ export interface operations {
2604
3773
  [name: string]: unknown;
2605
3774
  };
2606
3775
  content: {
2607
- "application/json": components["schemas"]["FloatingIPResource"];
3776
+ "application/json": components["schemas"]["PurchaseResult"];
2608
3777
  };
2609
3778
  };
2610
3779
  /** @description Error */
@@ -2686,7 +3855,12 @@ export interface operations {
2686
3855
  };
2687
3856
  "list-instances": {
2688
3857
  parameters: {
2689
- query?: never;
3858
+ query?: {
3859
+ /** @description Only instances carrying this label, written as `key:value` — for example `env:prod`. Both halves are matched exactly */
3860
+ label?: string;
3861
+ page?: components["parameters"]["Page"];
3862
+ page_size?: components["parameters"]["PageSize"];
3863
+ };
2690
3864
  header?: never;
2691
3865
  path?: never;
2692
3866
  cookie?: never;
@@ -2726,8 +3900,8 @@ export interface operations {
2726
3900
  };
2727
3901
  };
2728
3902
  responses: {
2729
- /** @description Created */
2730
- 201: {
3903
+ /** @description Accepted */
3904
+ 202: {
2731
3905
  headers: {
2732
3906
  [name: string]: unknown;
2733
3907
  };
@@ -2788,46 +3962,22 @@ export interface operations {
2788
3962
  };
2789
3963
  requestBody?: never;
2790
3964
  responses: {
2791
- /** @description No Content */
2792
- 204: {
2793
- headers: {
2794
- [name: string]: unknown;
2795
- };
2796
- content?: never;
2797
- };
2798
- /** @description Error */
2799
- default: {
3965
+ /** @description The action was accepted. Wait for the returned task to finish. */
3966
+ 202: {
2800
3967
  headers: {
2801
3968
  [name: string]: unknown;
2802
3969
  };
2803
3970
  content: {
2804
- "application/json": components["schemas"]["Error"];
3971
+ "application/json": components["schemas"]["Task"];
2805
3972
  };
2806
3973
  };
2807
- };
2808
- };
2809
- "rename-instance": {
2810
- parameters: {
2811
- query?: never;
2812
- header?: never;
2813
- path: {
2814
- instanceId: string;
2815
- };
2816
- cookie?: never;
2817
- };
2818
- requestBody: {
2819
- content: {
2820
- "application/json": components["schemas"]["RenameInstanceRequestBody"];
2821
- };
2822
- };
2823
- responses: {
2824
- /** @description OK */
2825
- 200: {
3974
+ /** @description The deletion was refused. */
3975
+ 409: {
2826
3976
  headers: {
2827
3977
  [name: string]: unknown;
2828
3978
  };
2829
3979
  content: {
2830
- "application/json": components["schemas"]["InstanceResource"];
3980
+ "application/json": components["schemas"]["Error"];
2831
3981
  };
2832
3982
  };
2833
3983
  /** @description Error */
@@ -2841,7 +3991,7 @@ export interface operations {
2841
3991
  };
2842
3992
  };
2843
3993
  };
2844
- "act-on-instance": {
3994
+ "rename-instance": {
2845
3995
  parameters: {
2846
3996
  query?: never;
2847
3997
  header?: never;
@@ -2852,7 +4002,7 @@ export interface operations {
2852
4002
  };
2853
4003
  requestBody: {
2854
4004
  content: {
2855
- "application/json": components["schemas"]["ActOnInstanceRequestBody"];
4005
+ "application/json": components["schemas"]["RenameInstanceRequestBody"];
2856
4006
  };
2857
4007
  };
2858
4008
  responses: {
@@ -2976,7 +4126,7 @@ export interface operations {
2976
4126
  };
2977
4127
  };
2978
4128
  };
2979
- "reset-instance-password": {
4129
+ "set-instance-labels": {
2980
4130
  parameters: {
2981
4131
  query?: never;
2982
4132
  header?: never;
@@ -2987,7 +4137,7 @@ export interface operations {
2987
4137
  };
2988
4138
  requestBody: {
2989
4139
  content: {
2990
- "application/json": components["schemas"]["ResetPasswordRequestBody"];
4140
+ "application/json": components["schemas"]["SetInstanceLabelsRequestBody"];
2991
4141
  };
2992
4142
  };
2993
4143
  responses: {
@@ -2997,7 +4147,7 @@ export interface operations {
2997
4147
  [name: string]: unknown;
2998
4148
  };
2999
4149
  content: {
3000
- "application/json": components["schemas"]["ResetPasswordResponseBody"];
4150
+ "application/json": components["schemas"]["InstanceResource"];
3001
4151
  };
3002
4152
  };
3003
4153
  /** @description Error */
@@ -3011,7 +4161,7 @@ export interface operations {
3011
4161
  };
3012
4162
  };
3013
4163
  };
3014
- "rebuild-instance": {
4164
+ "set-instance-notes": {
3015
4165
  parameters: {
3016
4166
  query?: never;
3017
4167
  header?: never;
@@ -3022,7 +4172,7 @@ export interface operations {
3022
4172
  };
3023
4173
  requestBody: {
3024
4174
  content: {
3025
- "application/json": components["schemas"]["RebuildInstanceRequestBody"];
4175
+ "application/json": components["schemas"]["SetInstanceNotesRequestBody"];
3026
4176
  };
3027
4177
  };
3028
4178
  responses: {
@@ -3032,7 +4182,7 @@ export interface operations {
3032
4182
  [name: string]: unknown;
3033
4183
  };
3034
4184
  content: {
3035
- "application/json": components["schemas"]["RebuildInstanceResponseBody"];
4185
+ "application/json": components["schemas"]["InstanceResource"];
3036
4186
  };
3037
4187
  };
3038
4188
  /** @description Error */
@@ -3046,7 +4196,7 @@ export interface operations {
3046
4196
  };
3047
4197
  };
3048
4198
  };
3049
- "resize-instance": {
4199
+ "reset-instance-password": {
3050
4200
  parameters: {
3051
4201
  query?: never;
3052
4202
  header?: never;
@@ -3057,7 +4207,7 @@ export interface operations {
3057
4207
  };
3058
4208
  requestBody: {
3059
4209
  content: {
3060
- "application/json": components["schemas"]["ResizeInstanceRequestBody"];
4210
+ "application/json": components["schemas"]["ResetPasswordRequestBody"];
3061
4211
  };
3062
4212
  };
3063
4213
  responses: {
@@ -3067,7 +4217,7 @@ export interface operations {
3067
4217
  [name: string]: unknown;
3068
4218
  };
3069
4219
  content: {
3070
- "application/json": components["schemas"]["InstanceResource"];
4220
+ "application/json": components["schemas"]["ResetPasswordResponseBody"];
3071
4221
  };
3072
4222
  };
3073
4223
  /** @description Error */
@@ -3081,7 +4231,7 @@ export interface operations {
3081
4231
  };
3082
4232
  };
3083
4233
  };
3084
- "confirm-instance-resize": {
4234
+ "reboot-instance": {
3085
4235
  parameters: {
3086
4236
  query?: never;
3087
4237
  header?: never;
@@ -3090,15 +4240,19 @@ export interface operations {
3090
4240
  };
3091
4241
  cookie?: never;
3092
4242
  };
3093
- requestBody?: never;
4243
+ requestBody: {
4244
+ content: {
4245
+ "application/json": components["schemas"]["RebootInstanceRequestBody"];
4246
+ };
4247
+ };
3094
4248
  responses: {
3095
- /** @description OK */
3096
- 200: {
4249
+ /** @description The action was accepted. Wait for the returned task to finish. */
4250
+ 202: {
3097
4251
  headers: {
3098
4252
  [name: string]: unknown;
3099
4253
  };
3100
4254
  content: {
3101
- "application/json": components["schemas"]["InstanceResource"];
4255
+ "application/json": components["schemas"]["Task"];
3102
4256
  };
3103
4257
  };
3104
4258
  /** @description Error */
@@ -3112,7 +4266,7 @@ export interface operations {
3112
4266
  };
3113
4267
  };
3114
4268
  };
3115
- "revert-instance-resize": {
4269
+ "rebuild-instance": {
3116
4270
  parameters: {
3117
4271
  query?: never;
3118
4272
  header?: never;
@@ -3121,7 +4275,11 @@ export interface operations {
3121
4275
  };
3122
4276
  cookie?: never;
3123
4277
  };
3124
- requestBody?: never;
4278
+ requestBody: {
4279
+ content: {
4280
+ "application/json": components["schemas"]["RebuildInstanceRequestBody"];
4281
+ };
4282
+ };
3125
4283
  responses: {
3126
4284
  /** @description OK */
3127
4285
  200: {
@@ -3129,7 +4287,7 @@ export interface operations {
3129
4287
  [name: string]: unknown;
3130
4288
  };
3131
4289
  content: {
3132
- "application/json": components["schemas"]["InstanceResource"];
4290
+ "application/json": components["schemas"]["RebuildInstanceResponseBody"];
3133
4291
  };
3134
4292
  };
3135
4293
  /** @description Error */
@@ -3143,7 +4301,7 @@ export interface operations {
3143
4301
  };
3144
4302
  };
3145
4303
  };
3146
- "list-instance-disks": {
4304
+ "resize-instance": {
3147
4305
  parameters: {
3148
4306
  query?: never;
3149
4307
  header?: never;
@@ -3152,15 +4310,19 @@ export interface operations {
3152
4310
  };
3153
4311
  cookie?: never;
3154
4312
  };
3155
- requestBody?: never;
4313
+ requestBody: {
4314
+ content: {
4315
+ "application/json": components["schemas"]["ResizeInstanceRequestBody"];
4316
+ };
4317
+ };
3156
4318
  responses: {
3157
- /** @description OK */
3158
- 200: {
4319
+ /** @description Accepted */
4320
+ 202: {
3159
4321
  headers: {
3160
4322
  [name: string]: unknown;
3161
4323
  };
3162
4324
  content: {
3163
- "application/json": components["schemas"]["DiskListResponseBody"];
4325
+ "application/json": components["schemas"]["PurchaseResult"];
3164
4326
  };
3165
4327
  };
3166
4328
  /** @description Error */
@@ -3174,7 +4336,7 @@ export interface operations {
3174
4336
  };
3175
4337
  };
3176
4338
  };
3177
- "attach-disk": {
4339
+ "start-instance": {
3178
4340
  parameters: {
3179
4341
  query?: never;
3180
4342
  header?: never;
@@ -3185,17 +4347,17 @@ export interface operations {
3185
4347
  };
3186
4348
  requestBody: {
3187
4349
  content: {
3188
- "application/json": components["schemas"]["AttachDiskRequestBody"];
4350
+ "application/json": components["schemas"]["PowerRequest"];
3189
4351
  };
3190
4352
  };
3191
4353
  responses: {
3192
- /** @description OK */
3193
- 200: {
4354
+ /** @description The action was accepted. Wait for the returned task to finish. */
4355
+ 202: {
3194
4356
  headers: {
3195
4357
  [name: string]: unknown;
3196
4358
  };
3197
4359
  content: {
3198
- "application/json": components["schemas"]["DiskResource"];
4360
+ "application/json": components["schemas"]["Task"];
3199
4361
  };
3200
4362
  };
3201
4363
  /** @description Error */
@@ -3209,25 +4371,28 @@ export interface operations {
3209
4371
  };
3210
4372
  };
3211
4373
  };
3212
- "detach-disk": {
4374
+ "stop-instance": {
3213
4375
  parameters: {
3214
4376
  query?: never;
3215
4377
  header?: never;
3216
4378
  path: {
3217
4379
  instanceId: string;
3218
- diskId: string;
3219
4380
  };
3220
4381
  cookie?: never;
3221
4382
  };
3222
- requestBody?: never;
4383
+ requestBody: {
4384
+ content: {
4385
+ "application/json": components["schemas"]["PowerRequest"];
4386
+ };
4387
+ };
3223
4388
  responses: {
3224
- /** @description OK */
3225
- 200: {
4389
+ /** @description The action was accepted. Wait for the returned task to finish. */
4390
+ 202: {
3226
4391
  headers: {
3227
4392
  [name: string]: unknown;
3228
4393
  };
3229
4394
  content: {
3230
- "application/json": components["schemas"]["DiskResource"];
4395
+ "application/json": components["schemas"]["Task"];
3231
4396
  };
3232
4397
  };
3233
4398
  /** @description Error */
@@ -3241,20 +4406,19 @@ export interface operations {
3241
4406
  };
3242
4407
  };
3243
4408
  };
3244
- "attach-instance-floating-ip": {
4409
+ "list-instance-disks": {
3245
4410
  parameters: {
3246
- query?: never;
4411
+ query?: {
4412
+ page?: components["parameters"]["Page"];
4413
+ page_size?: components["parameters"]["PageSize"];
4414
+ };
3247
4415
  header?: never;
3248
4416
  path: {
3249
4417
  instanceId: string;
3250
4418
  };
3251
4419
  cookie?: never;
3252
4420
  };
3253
- requestBody: {
3254
- content: {
3255
- "application/json": components["schemas"]["AttachFloatingIPRequestBody"];
3256
- };
3257
- };
4421
+ requestBody?: never;
3258
4422
  responses: {
3259
4423
  /** @description OK */
3260
4424
  200: {
@@ -3262,7 +4426,7 @@ export interface operations {
3262
4426
  [name: string]: unknown;
3263
4427
  };
3264
4428
  content: {
3265
- "application/json": components["schemas"]["FloatingIPResource"];
4429
+ "application/json": components["schemas"]["DiskAttachmentList"];
3266
4430
  };
3267
4431
  };
3268
4432
  /** @description Error */
@@ -3276,25 +4440,28 @@ export interface operations {
3276
4440
  };
3277
4441
  };
3278
4442
  };
3279
- "detach-instance-floating-ip": {
4443
+ "attach-disk": {
3280
4444
  parameters: {
3281
4445
  query?: never;
3282
4446
  header?: never;
3283
4447
  path: {
3284
4448
  instanceId: string;
3285
- floatingIpId: string;
3286
4449
  };
3287
4450
  cookie?: never;
3288
4451
  };
3289
- requestBody?: never;
4452
+ requestBody: {
4453
+ content: {
4454
+ "application/json": components["schemas"]["AttachDiskRequestBody"];
4455
+ };
4456
+ };
3290
4457
  responses: {
3291
- /** @description OK */
3292
- 200: {
4458
+ /** @description The action was accepted. Wait for the returned task to finish. */
4459
+ 202: {
3293
4460
  headers: {
3294
4461
  [name: string]: unknown;
3295
4462
  };
3296
4463
  content: {
3297
- "application/json": components["schemas"]["FloatingIPResource"];
4464
+ "application/json": components["schemas"]["Task"];
3298
4465
  };
3299
4466
  };
3300
4467
  /** @description Error */
@@ -3308,24 +4475,25 @@ export interface operations {
3308
4475
  };
3309
4476
  };
3310
4477
  };
3311
- "list-instance-ports": {
4478
+ "detach-disk": {
3312
4479
  parameters: {
3313
4480
  query?: never;
3314
4481
  header?: never;
3315
4482
  path: {
3316
4483
  instanceId: string;
4484
+ diskId: string;
3317
4485
  };
3318
4486
  cookie?: never;
3319
4487
  };
3320
4488
  requestBody?: never;
3321
4489
  responses: {
3322
- /** @description OK */
3323
- 200: {
4490
+ /** @description The action was accepted. Wait for the returned task to finish. */
4491
+ 202: {
3324
4492
  headers: {
3325
4493
  [name: string]: unknown;
3326
4494
  };
3327
4495
  content: {
3328
- "application/json": components["schemas"]["PortListResponseBody"];
4496
+ "application/json": components["schemas"]["Task"];
3329
4497
  };
3330
4498
  };
3331
4499
  /** @description Error */
@@ -3339,7 +4507,7 @@ export interface operations {
3339
4507
  };
3340
4508
  };
3341
4509
  };
3342
- "attach-port": {
4510
+ "attach-instance-floating-ip": {
3343
4511
  parameters: {
3344
4512
  query?: never;
3345
4513
  header?: never;
@@ -3350,17 +4518,17 @@ export interface operations {
3350
4518
  };
3351
4519
  requestBody: {
3352
4520
  content: {
3353
- "application/json": components["schemas"]["AttachPortRequestBody"];
4521
+ "application/json": components["schemas"]["AttachFloatingIPRequestBody"];
3354
4522
  };
3355
4523
  };
3356
4524
  responses: {
3357
- /** @description OK */
4525
+ /** @description The current floating IP binding */
3358
4526
  200: {
3359
4527
  headers: {
3360
4528
  [name: string]: unknown;
3361
4529
  };
3362
4530
  content: {
3363
- "application/json": components["schemas"]["PortResource"];
4531
+ "application/json": components["schemas"]["FloatingIPResource"];
3364
4532
  };
3365
4533
  };
3366
4534
  /** @description Error */
@@ -3374,25 +4542,25 @@ export interface operations {
3374
4542
  };
3375
4543
  };
3376
4544
  };
3377
- "detach-port": {
4545
+ "detach-instance-floating-ip": {
3378
4546
  parameters: {
3379
4547
  query?: never;
3380
4548
  header?: never;
3381
4549
  path: {
3382
4550
  instanceId: string;
3383
- portId: string;
4551
+ floatingIpId: string;
3384
4552
  };
3385
4553
  cookie?: never;
3386
4554
  };
3387
4555
  requestBody?: never;
3388
4556
  responses: {
3389
- /** @description OK */
4557
+ /** @description The current floating IP binding */
3390
4558
  200: {
3391
4559
  headers: {
3392
4560
  [name: string]: unknown;
3393
4561
  };
3394
4562
  content: {
3395
- "application/json": components["schemas"]["PortResource"];
4563
+ "application/json": components["schemas"]["FloatingIPResource"];
3396
4564
  };
3397
4565
  };
3398
4566
  /** @description Error */
@@ -3406,45 +4574,16 @@ export interface operations {
3406
4574
  };
3407
4575
  };
3408
4576
  };
3409
- "list-operation-logs": {
4577
+ "list-instance-ports": {
3410
4578
  parameters: {
3411
4579
  query?: {
3412
- /** @description Return a single kind of operation; the value matches the operation id of the endpoint */
3413
- action?: string;
3414
- limit?: number;
3415
- offset?: number;
4580
+ page?: components["parameters"]["Page"];
4581
+ page_size?: components["parameters"]["PageSize"];
3416
4582
  };
3417
4583
  header?: never;
3418
- path?: never;
3419
- cookie?: never;
3420
- };
3421
- requestBody?: never;
3422
- responses: {
3423
- /** @description OK */
3424
- 200: {
3425
- headers: {
3426
- [name: string]: unknown;
3427
- };
3428
- content: {
3429
- "application/json": components["schemas"]["OperationLogListResponseBody"];
3430
- };
3431
- };
3432
- /** @description Error */
3433
- default: {
3434
- headers: {
3435
- [name: string]: unknown;
3436
- };
3437
- content: {
3438
- "application/json": components["schemas"]["Error"];
3439
- };
4584
+ path: {
4585
+ instanceId: string;
3440
4586
  };
3441
- };
3442
- };
3443
- "list-ports": {
3444
- parameters: {
3445
- query?: never;
3446
- header?: never;
3447
- path?: never;
3448
4587
  cookie?: never;
3449
4588
  };
3450
4589
  requestBody?: never;
@@ -3455,7 +4594,7 @@ export interface operations {
3455
4594
  [name: string]: unknown;
3456
4595
  };
3457
4596
  content: {
3458
- "application/json": components["schemas"]["PortListResponseBody"];
4597
+ "application/json": components["schemas"]["PortAttachmentList"];
3459
4598
  };
3460
4599
  };
3461
4600
  /** @description Error */
@@ -3469,26 +4608,28 @@ export interface operations {
3469
4608
  };
3470
4609
  };
3471
4610
  };
3472
- "create-port": {
4611
+ "attach-port": {
3473
4612
  parameters: {
3474
4613
  query?: never;
3475
4614
  header?: never;
3476
- path?: never;
4615
+ path: {
4616
+ instanceId: string;
4617
+ };
3477
4618
  cookie?: never;
3478
4619
  };
3479
4620
  requestBody: {
3480
4621
  content: {
3481
- "application/json": components["schemas"]["CreatePortRequestBody"];
4622
+ "application/json": components["schemas"]["AttachPortRequestBody"];
3482
4623
  };
3483
4624
  };
3484
4625
  responses: {
3485
- /** @description Created */
3486
- 201: {
4626
+ /** @description The action was accepted. Wait for the returned task to finish. */
4627
+ 202: {
3487
4628
  headers: {
3488
4629
  [name: string]: unknown;
3489
4630
  };
3490
4631
  content: {
3491
- "application/json": components["schemas"]["PortResource"];
4632
+ "application/json": components["schemas"]["Task"];
3492
4633
  };
3493
4634
  };
3494
4635
  /** @description Error */
@@ -3502,23 +4643,26 @@ export interface operations {
3502
4643
  };
3503
4644
  };
3504
4645
  };
3505
- "delete-port": {
4646
+ "detach-port": {
3506
4647
  parameters: {
3507
4648
  query?: never;
3508
4649
  header?: never;
3509
4650
  path: {
4651
+ instanceId: string;
3510
4652
  portId: string;
3511
4653
  };
3512
4654
  cookie?: never;
3513
4655
  };
3514
4656
  requestBody?: never;
3515
4657
  responses: {
3516
- /** @description No Content */
3517
- 204: {
4658
+ /** @description The action was accepted. Wait for the returned task to finish. */
4659
+ 202: {
3518
4660
  headers: {
3519
4661
  [name: string]: unknown;
3520
4662
  };
3521
- content?: never;
4663
+ content: {
4664
+ "application/json": components["schemas"]["Task"];
4665
+ };
3522
4666
  };
3523
4667
  /** @description Error */
3524
4668
  default: {
@@ -3531,11 +4675,13 @@ export interface operations {
3531
4675
  };
3532
4676
  };
3533
4677
  };
3534
- "list-private-images": {
4678
+ "list-operation-logs": {
3535
4679
  parameters: {
3536
4680
  query?: {
3537
- /** @description Return only the images of this region. An image can only be used in the region that holds it */
3538
- region_code?: string;
4681
+ /** @description Return a single kind of operation; the value matches the operation id of the endpoint */
4682
+ action?: string;
4683
+ page?: components["parameters"]["Page"];
4684
+ page_size?: components["parameters"]["PageSize"];
3539
4685
  };
3540
4686
  header?: never;
3541
4687
  path?: never;
@@ -3549,7 +4695,7 @@ export interface operations {
3549
4695
  [name: string]: unknown;
3550
4696
  };
3551
4697
  content: {
3552
- "application/json": components["schemas"]["PrivateImageListResponseBody"];
4698
+ "application/json": components["schemas"]["OperationLogListResponseBody"];
3553
4699
  };
3554
4700
  };
3555
4701
  /** @description Error */
@@ -3563,46 +4709,14 @@ export interface operations {
3563
4709
  };
3564
4710
  };
3565
4711
  };
3566
- "create-private-image": {
4712
+ "list-ports": {
3567
4713
  parameters: {
3568
- query?: never;
3569
- header?: never;
3570
- path?: never;
3571
- cookie?: never;
3572
- };
3573
- requestBody: {
3574
- content: {
3575
- "application/json": components["schemas"]["CreatePrivateImageRequestBody"];
3576
- };
3577
- };
3578
- responses: {
3579
- /** @description Created */
3580
- 201: {
3581
- headers: {
3582
- [name: string]: unknown;
3583
- };
3584
- content: {
3585
- "application/json": components["schemas"]["PrivateImageResource"];
3586
- };
3587
- };
3588
- /** @description Error */
3589
- default: {
3590
- headers: {
3591
- [name: string]: unknown;
3592
- };
3593
- content: {
3594
- "application/json": components["schemas"]["Error"];
3595
- };
4714
+ query?: {
4715
+ page?: components["parameters"]["Page"];
4716
+ page_size?: components["parameters"]["PageSize"];
3596
4717
  };
3597
- };
3598
- };
3599
- "get-private-image": {
3600
- parameters: {
3601
- query?: never;
3602
4718
  header?: never;
3603
- path: {
3604
- privateImageId: string;
3605
- };
4719
+ path?: never;
3606
4720
  cookie?: never;
3607
4721
  };
3608
4722
  requestBody?: never;
@@ -3613,7 +4727,7 @@ export interface operations {
3613
4727
  [name: string]: unknown;
3614
4728
  };
3615
4729
  content: {
3616
- "application/json": components["schemas"]["PrivateImageResource"];
4730
+ "application/json": components["schemas"]["PortListResponseBody"];
3617
4731
  };
3618
4732
  };
3619
4733
  /** @description Error */
@@ -3627,23 +4741,27 @@ export interface operations {
3627
4741
  };
3628
4742
  };
3629
4743
  };
3630
- "delete-private-image": {
4744
+ "create-port": {
3631
4745
  parameters: {
3632
4746
  query?: never;
3633
4747
  header?: never;
3634
- path: {
3635
- privateImageId: string;
3636
- };
4748
+ path?: never;
3637
4749
  cookie?: never;
3638
4750
  };
3639
- requestBody?: never;
4751
+ requestBody: {
4752
+ content: {
4753
+ "application/json": components["schemas"]["CreatePortRequestBody"];
4754
+ };
4755
+ };
3640
4756
  responses: {
3641
- /** @description No Content */
3642
- 204: {
4757
+ /** @description Created */
4758
+ 201: {
3643
4759
  headers: {
3644
4760
  [name: string]: unknown;
3645
4761
  };
3646
- content?: never;
4762
+ content: {
4763
+ "application/json": components["schemas"]["PortResource"];
4764
+ };
3647
4765
  };
3648
4766
  /** @description Error */
3649
4767
  default: {
@@ -3656,29 +4774,23 @@ export interface operations {
3656
4774
  };
3657
4775
  };
3658
4776
  };
3659
- "rename-private-image": {
4777
+ "delete-port": {
3660
4778
  parameters: {
3661
4779
  query?: never;
3662
4780
  header?: never;
3663
4781
  path: {
3664
- privateImageId: string;
4782
+ portId: string;
3665
4783
  };
3666
4784
  cookie?: never;
3667
4785
  };
3668
- requestBody: {
3669
- content: {
3670
- "application/json": components["schemas"]["RenamePrivateImageRequestBody"];
3671
- };
3672
- };
4786
+ requestBody?: never;
3673
4787
  responses: {
3674
- /** @description OK */
3675
- 200: {
4788
+ /** @description No Content */
4789
+ 204: {
3676
4790
  headers: {
3677
4791
  [name: string]: unknown;
3678
4792
  };
3679
- content: {
3680
- "application/json": components["schemas"]["PrivateImageResource"];
3681
- };
4793
+ content?: never;
3682
4794
  };
3683
4795
  /** @description Error */
3684
4796
  default: {
@@ -3695,7 +4807,9 @@ export interface operations {
3695
4807
  parameters: {
3696
4808
  query?: {
3697
4809
  /** @description Returns every region when omitted */
3698
- region_code?: string;
4810
+ region_id?: string;
4811
+ page?: components["parameters"]["Page"];
4812
+ page_size?: components["parameters"]["PageSize"];
3699
4813
  };
3700
4814
  header?: never;
3701
4815
  path?: never;
@@ -3944,7 +5058,10 @@ export interface operations {
3944
5058
  };
3945
5059
  "list-routes": {
3946
5060
  parameters: {
3947
- query?: never;
5061
+ query?: {
5062
+ page?: components["parameters"]["Page"];
5063
+ page_size?: components["parameters"]["PageSize"];
5064
+ };
3948
5065
  header?: never;
3949
5066
  path: {
3950
5067
  privateNetworkId: string;
@@ -4040,7 +5157,10 @@ export interface operations {
4040
5157
  };
4041
5158
  "list-subnets": {
4042
5159
  parameters: {
4043
- query?: never;
5160
+ query?: {
5161
+ page?: components["parameters"]["Page"];
5162
+ page_size?: components["parameters"]["PageSize"];
5163
+ };
4044
5164
  header?: never;
4045
5165
  path: {
4046
5166
  privateNetworkId: string;
@@ -4170,9 +5290,11 @@ export interface operations {
4170
5290
  "list-security-groups": {
4171
5291
  parameters: {
4172
5292
  query?: {
4173
- region_code?: string;
5293
+ region_id?: string;
4174
5294
  /** @description Return only the security groups of this private network */
4175
5295
  private_network_id?: string;
5296
+ page?: components["parameters"]["Page"];
5297
+ page_size?: components["parameters"]["PageSize"];
4176
5298
  };
4177
5299
  header?: never;
4178
5300
  path?: never;
@@ -4330,7 +5452,10 @@ export interface operations {
4330
5452
  };
4331
5453
  "list-security-group-rules": {
4332
5454
  parameters: {
4333
- query?: never;
5455
+ query?: {
5456
+ page?: components["parameters"]["Page"];
5457
+ page_size?: components["parameters"]["PageSize"];
5458
+ };
4334
5459
  header?: never;
4335
5460
  path: {
4336
5461
  securityGroupId: string;
@@ -4429,6 +5554,8 @@ export interface operations {
4429
5554
  query?: {
4430
5555
  /** @description Return only the snapshots of this disk */
4431
5556
  disk_id?: string;
5557
+ page?: components["parameters"]["Page"];
5558
+ page_size?: components["parameters"]["PageSize"];
4432
5559
  };
4433
5560
  header?: never;
4434
5561
  path?: never;
@@ -4475,7 +5602,7 @@ export interface operations {
4475
5602
  [name: string]: unknown;
4476
5603
  };
4477
5604
  content: {
4478
- "application/json": components["schemas"]["SnapshotResource"];
5605
+ "application/json": components["schemas"]["PurchaseResult"];
4479
5606
  };
4480
5607
  };
4481
5608
  /** @description Error */
@@ -4531,12 +5658,23 @@ export interface operations {
4531
5658
  };
4532
5659
  requestBody?: never;
4533
5660
  responses: {
4534
- /** @description No Content */
4535
- 204: {
5661
+ /** @description The action was accepted. Wait for the returned task to finish. */
5662
+ 202: {
4536
5663
  headers: {
4537
5664
  [name: string]: unknown;
4538
5665
  };
4539
- content?: never;
5666
+ content: {
5667
+ "application/json": components["schemas"]["Task"];
5668
+ };
5669
+ };
5670
+ /** @description The deletion was refused. */
5671
+ 409: {
5672
+ headers: {
5673
+ [name: string]: unknown;
5674
+ };
5675
+ content: {
5676
+ "application/json": components["schemas"]["Error"];
5677
+ };
4540
5678
  };
4541
5679
  /** @description Error */
4542
5680
  default: {
@@ -4584,4 +5722,257 @@ export interface operations {
4584
5722
  };
4585
5723
  };
4586
5724
  };
5725
+ "get-task": {
5726
+ parameters: {
5727
+ query?: never;
5728
+ header?: never;
5729
+ path: {
5730
+ taskId: string;
5731
+ };
5732
+ cookie?: never;
5733
+ };
5734
+ requestBody?: never;
5735
+ responses: {
5736
+ /** @description The task. */
5737
+ 200: {
5738
+ headers: {
5739
+ [name: string]: unknown;
5740
+ };
5741
+ content: {
5742
+ "application/json": components["schemas"]["Task"];
5743
+ };
5744
+ };
5745
+ /** @description The request could not be completed. */
5746
+ default: {
5747
+ headers: {
5748
+ [name: string]: unknown;
5749
+ };
5750
+ content: {
5751
+ "application/json": components["schemas"]["Error"];
5752
+ };
5753
+ };
5754
+ };
5755
+ };
5756
+ "list-ipv4-pools": {
5757
+ parameters: {
5758
+ query?: {
5759
+ region_id?: string;
5760
+ page?: components["parameters"]["Page"];
5761
+ page_size?: components["parameters"]["PageSize"];
5762
+ };
5763
+ header?: never;
5764
+ path?: never;
5765
+ cookie?: never;
5766
+ };
5767
+ requestBody?: never;
5768
+ responses: {
5769
+ /** @description OK */
5770
+ 200: {
5771
+ headers: {
5772
+ [name: string]: unknown;
5773
+ };
5774
+ content: {
5775
+ "application/json": components["schemas"]["IPv4PoolListResponseBody"];
5776
+ };
5777
+ };
5778
+ /** @description Error */
5779
+ default: {
5780
+ headers: {
5781
+ [name: string]: unknown;
5782
+ };
5783
+ content: {
5784
+ "application/json": components["schemas"]["Error"];
5785
+ };
5786
+ };
5787
+ };
5788
+ };
5789
+ "list-peerings": {
5790
+ parameters: {
5791
+ query?: {
5792
+ page?: components["parameters"]["Page"];
5793
+ page_size?: components["parameters"]["PageSize"];
5794
+ };
5795
+ header?: never;
5796
+ path?: never;
5797
+ cookie?: never;
5798
+ };
5799
+ requestBody?: never;
5800
+ responses: {
5801
+ /** @description Success */
5802
+ 200: {
5803
+ headers: {
5804
+ [name: string]: unknown;
5805
+ };
5806
+ content: {
5807
+ "application/json": components["schemas"]["PeeringListResponseBody"];
5808
+ };
5809
+ };
5810
+ /** @description Error */
5811
+ default: {
5812
+ headers: {
5813
+ [name: string]: unknown;
5814
+ };
5815
+ content: {
5816
+ "application/json": components["schemas"]["Error"];
5817
+ };
5818
+ };
5819
+ };
5820
+ };
5821
+ "create-peering": {
5822
+ parameters: {
5823
+ query?: never;
5824
+ header?: never;
5825
+ path?: never;
5826
+ cookie?: never;
5827
+ };
5828
+ requestBody: {
5829
+ content: {
5830
+ "application/json": components["schemas"]["CreatePeeringRequestBody"];
5831
+ };
5832
+ };
5833
+ responses: {
5834
+ /** @description Success */
5835
+ 201: {
5836
+ headers: {
5837
+ [name: string]: unknown;
5838
+ };
5839
+ content: {
5840
+ "application/json": components["schemas"]["PeeringResource"];
5841
+ };
5842
+ };
5843
+ /** @description Error */
5844
+ default: {
5845
+ headers: {
5846
+ [name: string]: unknown;
5847
+ };
5848
+ content: {
5849
+ "application/json": components["schemas"]["Error"];
5850
+ };
5851
+ };
5852
+ };
5853
+ };
5854
+ "get-peering": {
5855
+ parameters: {
5856
+ query?: never;
5857
+ header?: never;
5858
+ path: {
5859
+ peeringId: string;
5860
+ };
5861
+ cookie?: never;
5862
+ };
5863
+ requestBody?: never;
5864
+ responses: {
5865
+ /** @description Success */
5866
+ 200: {
5867
+ headers: {
5868
+ [name: string]: unknown;
5869
+ };
5870
+ content: {
5871
+ "application/json": components["schemas"]["PeeringResource"];
5872
+ };
5873
+ };
5874
+ /** @description Error */
5875
+ default: {
5876
+ headers: {
5877
+ [name: string]: unknown;
5878
+ };
5879
+ content: {
5880
+ "application/json": components["schemas"]["Error"];
5881
+ };
5882
+ };
5883
+ };
5884
+ };
5885
+ "delete-peering": {
5886
+ parameters: {
5887
+ query?: never;
5888
+ header?: never;
5889
+ path: {
5890
+ peeringId: string;
5891
+ };
5892
+ cookie?: never;
5893
+ };
5894
+ requestBody?: never;
5895
+ responses: {
5896
+ /** @description Success */
5897
+ 202: {
5898
+ headers: {
5899
+ [name: string]: unknown;
5900
+ };
5901
+ content: {
5902
+ "application/json": components["schemas"]["PeeringResource"];
5903
+ };
5904
+ };
5905
+ /** @description Error */
5906
+ default: {
5907
+ headers: {
5908
+ [name: string]: unknown;
5909
+ };
5910
+ content: {
5911
+ "application/json": components["schemas"]["Error"];
5912
+ };
5913
+ };
5914
+ };
5915
+ };
5916
+ "accept-peering": {
5917
+ parameters: {
5918
+ query?: never;
5919
+ header?: never;
5920
+ path: {
5921
+ peeringId: string;
5922
+ };
5923
+ cookie?: never;
5924
+ };
5925
+ requestBody?: never;
5926
+ responses: {
5927
+ /** @description Success */
5928
+ 202: {
5929
+ headers: {
5930
+ [name: string]: unknown;
5931
+ };
5932
+ content: {
5933
+ "application/json": components["schemas"]["PeeringResource"];
5934
+ };
5935
+ };
5936
+ /** @description Error */
5937
+ default: {
5938
+ headers: {
5939
+ [name: string]: unknown;
5940
+ };
5941
+ content: {
5942
+ "application/json": components["schemas"]["Error"];
5943
+ };
5944
+ };
5945
+ };
5946
+ };
5947
+ "reject-peering": {
5948
+ parameters: {
5949
+ query?: never;
5950
+ header?: never;
5951
+ path: {
5952
+ peeringId: string;
5953
+ };
5954
+ cookie?: never;
5955
+ };
5956
+ requestBody?: never;
5957
+ responses: {
5958
+ /** @description Success */
5959
+ 200: {
5960
+ headers: {
5961
+ [name: string]: unknown;
5962
+ };
5963
+ content: {
5964
+ "application/json": components["schemas"]["PeeringResource"];
5965
+ };
5966
+ };
5967
+ /** @description Error */
5968
+ default: {
5969
+ headers: {
5970
+ [name: string]: unknown;
5971
+ };
5972
+ content: {
5973
+ "application/json": components["schemas"]["Error"];
5974
+ };
5975
+ };
5976
+ };
5977
+ };
4587
5978
  }