@leaflow/sdk 0.0.0-dev.25.g6c5751f → 0.0.0-dev.250.g6df166c

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 +1945 -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,175 @@ 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
+ total: number;
1451
+ pagination: components["schemas"]["OffsetPagination"];
1452
+ };
1453
+ CreatePeeringRequestBody: {
1454
+ name: string;
1455
+ /** Format: uuid */
1456
+ requester_network_id: string;
1457
+ /** Format: uuid */
1458
+ accepter_project_id: string;
1459
+ /** Format: uuid */
1460
+ accepter_network_id: string;
1461
+ };
1462
+ Error: {
1463
+ code?: string;
1464
+ message: string;
1465
+ /**
1466
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
1467
+ * and a client that does not recognise one ignores it.
1468
+ */
1469
+ meta?: {
1470
+ [key: string]: unknown;
1471
+ };
1472
+ /** Format: int64 */
1473
+ status: number;
1474
+ };
1172
1475
  BackupResource: {
1173
- /** @description Availability zone of the source disk. A restore may target another zone in the same region */
1174
- availability_zone: string;
1175
1476
  /** Format: date-time */
1176
1477
  created_at: string;
1177
1478
  /** Format: uuid */
1178
1479
  id: string;
1179
1480
  name: string;
1180
- region_code: string;
1481
+ /** Format: uuid */
1482
+ region_id: string;
1181
1483
  /**
1182
1484
  * Format: int64
1183
1485
  * @description Capacity of the source disk when the backup was created. A restored disk cannot be smaller than this
@@ -1190,14 +1492,53 @@ export interface components {
1190
1492
  source_disk_id: string;
1191
1493
  /** @enum {string} */
1192
1494
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
1495
+ /** Format: uuid */
1496
+ order_id: string | null;
1497
+ /** Format: uuid */
1498
+ price_id: string | null;
1499
+ /** Format: uuid */
1500
+ subscription_item_id: string | null;
1501
+ /** @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. */
1502
+ release_subscription_ids: string[];
1503
+ /** @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. */
1504
+ release_set: components["schemas"]["ReleaseSetItem"][];
1505
+ /** @enum {string|null} */
1506
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1507
+ task: components["schemas"]["Task"] | null;
1508
+ /** Format: int64 */
1509
+ generation: number;
1510
+ /** Format: date-time */
1511
+ observed_at: string | null;
1512
+ /**
1513
+ * Format: uuid
1514
+ * @description Availability zone of the source disk. A restore may target another zone in the same region
1515
+ */
1516
+ source_availability_zone_id: string;
1193
1517
  };
1194
1518
  BackupListResponseBody: {
1195
1519
  items: components["schemas"]["BackupResource"][] | null;
1520
+ pagination: components["schemas"]["OffsetPagination"];
1196
1521
  };
1197
1522
  CreateBackupRequestBody: {
1198
1523
  /** Format: uuid */
1199
1524
  disk_id: string;
1200
1525
  name: string;
1526
+ /** Format: uuid */
1527
+ price_id: string;
1528
+ order: components["schemas"]["OrderOptions"];
1529
+ };
1530
+ /** @description The fields of `CreateBackupRequestBody` that decide the price */
1531
+ CreateBackupQuoteRequestBody: {
1532
+ /**
1533
+ * Format: uuid
1534
+ * @description The disk that would be backed up
1535
+ */
1536
+ disk_id: string;
1537
+ /**
1538
+ * Format: uuid
1539
+ * @description A price of the region's backup offering. One is selected when omitted
1540
+ */
1541
+ price_id?: string;
1201
1542
  };
1202
1543
  RenameBackupRequestBody: {
1203
1544
  name: string;
@@ -1205,7 +1546,7 @@ export interface components {
1205
1546
  RestoreBackupRequestBody: {
1206
1547
  /**
1207
1548
  * Format: uuid
1208
- * @description May differ from the availability zone of the source disk, but must be in the same region
1549
+ * @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
1550
  */
1210
1551
  disk_type_id: string;
1211
1552
  name: string;
@@ -1214,33 +1555,83 @@ export interface components {
1214
1555
  * @description Matches the size of the backup when omitted. When given, it must not be smaller than the backup
1215
1556
  */
1216
1557
  size_gb?: number;
1558
+ /** Format: uuid */
1559
+ price_id: string;
1560
+ order: components["schemas"]["OrderOptions"];
1217
1561
  };
1218
1562
  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;
1563
+ /**
1564
+ * Format: uuid
1565
+ * @description Availability zone the disk actually resides in. An instance must be in the same zone to attach it
1566
+ */
1567
+ availability_zone_id: string;
1222
1568
  /** Format: date-time */
1223
1569
  created_at: string;
1224
- /** @description Device name assigned by the system, as seen inside the instance */
1225
- device: string | null;
1226
1570
  /** Format: uuid */
1227
1571
  disk_type_id: string;
1228
1572
  /** Format: uuid */
1229
1573
  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
1574
  name: string;
1233
- region_code: string;
1575
+ /** Format: uuid */
1576
+ region_id: string;
1234
1577
  /** Format: int64 */
1235
1578
  size_gb: number;
1579
+ /**
1580
+ * Format: int64
1581
+ * @description IOPS this disk is allowed. Null when its type is not rate-limited.
1582
+ *
1583
+ * Computed from the disk's own capacity, so it grows when the disk is grown — but see the
1584
+ * note on the resize endpoint: growing a disk that is attached is refused, precisely because
1585
+ * the new figure would not take effect until it was attached again.
1586
+ */
1587
+ iops: number | null;
1588
+ /**
1589
+ * Format: int64
1590
+ * @description Throughput this disk is allowed, in bytes per second. Null when its type is not rate-limited
1591
+ */
1592
+ throughput_bytes_per_sec: number | null;
1236
1593
  /** @enum {string} */
1237
1594
  status: "provisioning" | "available" | "attaching" | "in_use" | "detaching" | "resizing" | "reverting" | "restoring" | "releasing" | "deleting" | "error";
1595
+ /** Format: uuid */
1596
+ order_id: string | null;
1597
+ /** Format: uuid */
1598
+ price_id: string | null;
1599
+ /** Format: uuid */
1600
+ subscription_item_id: string | null;
1601
+ /** @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. */
1602
+ release_subscription_ids: string[];
1603
+ /** @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. */
1604
+ release_set: components["schemas"]["ReleaseSetItem"][];
1605
+ /** @enum {string|null} */
1606
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1607
+ task: components["schemas"]["Task"] | null;
1608
+ attachment?: components["schemas"]["DiskAttachment"] | null;
1609
+ /** Format: int64 */
1610
+ generation: number;
1611
+ /** Format: date-time */
1612
+ observed_at: string | null;
1238
1613
  };
1239
1614
  DiskTypeResource: {
1240
- availability_zone_code: string;
1615
+ /** Format: uuid */
1616
+ availability_zone_id: string;
1241
1617
  /** Format: uuid */
1242
1618
  id: string;
1243
- iops_display: string;
1619
+ /** @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. */
1620
+ for_system: boolean;
1621
+ /**
1622
+ * Format: int64
1623
+ * @description IOPS a disk of `min_size_gb` gets. Null when this type is not rate-limited.
1624
+ *
1625
+ * Performance grows with capacity, so this and `iops_at_max_size` are the two ends of the
1626
+ * range. The exact figure for the size actually bought appears on the disk itself once it
1627
+ * exists.
1628
+ */
1629
+ iops_at_min_size: number | null;
1630
+ /**
1631
+ * Format: int64
1632
+ * @description IOPS a disk of `max_size_gb` gets. Null when this type is not rate-limited
1633
+ */
1634
+ iops_at_max_size: number | null;
1244
1635
  /** Format: int64 */
1245
1636
  max_size_gb: number;
1246
1637
  /** @enum {string} */
@@ -1248,39 +1639,134 @@ export interface components {
1248
1639
  /** Format: int64 */
1249
1640
  min_size_gb: number;
1250
1641
  name: string;
1251
- region_code: string;
1642
+ /** Format: uuid */
1643
+ region_id: string;
1252
1644
  /** Format: int64 */
1253
1645
  step_gb: number;
1254
- throughput_display: string;
1646
+ /**
1647
+ * Format: int64
1648
+ * @description Throughput a disk of `min_size_gb` gets, in **bytes per second**. Null when this type is
1649
+ * not rate-limited.
1650
+ *
1651
+ * Bytes rather than MiB so the number needs no rounding on the way out; divide by 1048576
1652
+ * for MiB/s at the point of display.
1653
+ */
1654
+ throughput_at_min_size: number | null;
1655
+ /**
1656
+ * Format: int64
1657
+ * @description Throughput a disk of `max_size_gb` gets, in bytes per second. Null when this type is not rate-limited
1658
+ */
1659
+ throughput_at_max_size: number | null;
1660
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1661
+ product_id: string | null;
1662
+ /** Format: uuid */
1663
+ plan_id: string | null;
1664
+ /** Format: uuid */
1665
+ snapshot_plan_id: string | null;
1255
1666
  };
1256
1667
  DiskTypeListResponseBody: {
1257
1668
  items: components["schemas"]["DiskTypeResource"][] | null;
1669
+ pagination: components["schemas"]["OffsetPagination"];
1258
1670
  };
1671
+ /**
1672
+ * @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.
1673
+ * @enum {string}
1674
+ */
1675
+ ImageVisibility: "public" | "private";
1676
+ /** @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
1677
  ImageResource: {
1260
- architecture: string;
1261
1678
  /** Format: uuid */
1262
1679
  id: string;
1263
- /** Format: int64 */
1264
- min_disk_gb: number;
1265
- /** Format: int64 */
1266
- min_ram_mb: number;
1680
+ /** Format: uuid */
1681
+ region_id: string;
1682
+ visibility: components["schemas"]["ImageVisibility"];
1267
1683
  name: string;
1268
1684
  os_family: string;
1269
1685
  os_version: string;
1270
- region_code: string;
1686
+ architecture: string;
1687
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
1688
+ login_username: string;
1689
+ /**
1690
+ * Format: int64
1691
+ * @description The system disk of an instance created from this image cannot be smaller than this
1692
+ */
1693
+ min_disk_gb: number;
1694
+ /**
1695
+ * Format: int64
1696
+ * @description The instance type of an instance created from this image must have at least this much memory
1697
+ */
1698
+ min_ram_mb: number;
1271
1699
  /** @description False means a new password can only be set by rebuilding an instance created from this image */
1272
1700
  supports_password_reset: boolean;
1701
+ /**
1702
+ * @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.
1703
+ * @enum {string}
1704
+ */
1705
+ status: "provisioning" | "uploading" | "available" | "deleting" | "error";
1706
+ /** @description Reason the capture failed; non-empty only when `status` is `error` */
1707
+ failure: string | null;
1708
+ /**
1709
+ * Format: int64
1710
+ * @description Storage occupied by a private image, which is what it is billed for; 0 until its capture completes, and 0 for public images
1711
+ */
1712
+ size_bytes: number;
1713
+ /**
1714
+ * Format: uuid
1715
+ * @description The instance a private image was captured from. The image remains usable after that instance is released. Null for public images
1716
+ */
1717
+ source_instance_id: string | null;
1718
+ /** Format: date-time */
1719
+ created_at: string;
1720
+ /** Format: uuid */
1721
+ order_id: string | null;
1722
+ /** Format: uuid */
1723
+ price_id: string | null;
1724
+ /** Format: uuid */
1725
+ subscription_item_id: string | null;
1726
+ /** @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. */
1727
+ release_subscription_ids: string[];
1728
+ /** @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. */
1729
+ release_set: components["schemas"]["ReleaseSetItem"][];
1730
+ /** @enum {string|null} */
1731
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1732
+ task: components["schemas"]["Task"] | null;
1733
+ /** Format: int64 */
1734
+ generation: number;
1735
+ /** Format: date-time */
1736
+ observed_at: string | null;
1273
1737
  };
1274
1738
  ImageListResponseBody: {
1275
- items: components["schemas"]["ImageResource"][] | null;
1739
+ items: components["schemas"]["ImageResource"][];
1740
+ pagination: components["schemas"]["OffsetPagination"];
1276
1741
  };
1277
1742
  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;
1743
+ /** Format: uuid */
1744
+ availability_zone_id: string;
1280
1745
  /** Format: uuid */
1281
1746
  id: string;
1282
- /** Format: int64 */
1747
+ /**
1748
+ * Format: int64
1749
+ * @description The most public bandwidth a machine of this type may be given, in Mbps. Asking for more
1750
+ * when creating a machine, or raising a bound address past it, is refused.
1751
+ *
1752
+ * A ceiling on what can be bought, not a speed. How fast the machine's own interfaces run is
1753
+ * `network_egress_kbps` / `network_ingress_kbps`.
1754
+ */
1283
1755
  max_bandwidth_mbps: number;
1756
+ /**
1757
+ * Format: int64
1758
+ * @description Outbound ceiling of **each** network interface, in kbps. Null when this type is not
1759
+ * rate-limited.
1760
+ *
1761
+ * Per interface rather than per machine: a machine with two interfaces has this ceiling on
1762
+ * each of them, not shared between them. `max_ports` says how many it may have.
1763
+ */
1764
+ network_egress_kbps: number | null;
1765
+ /**
1766
+ * Format: int64
1767
+ * @description Inbound ceiling of each network interface, in kbps. Null when this type is not rate-limited
1768
+ */
1769
+ network_ingress_kbps: number | null;
1284
1770
  /** Format: int64 */
1285
1771
  max_floating_ips: number;
1286
1772
  /** Format: int64 */
@@ -1288,33 +1774,54 @@ export interface components {
1288
1774
  name: string;
1289
1775
  /** Format: int64 */
1290
1776
  ram_mb: number;
1291
- region_code: string;
1777
+ /** Format: uuid */
1778
+ region_id: string;
1292
1779
  /** Format: int64 */
1293
1780
  vcpus: number;
1781
+ /** @description Billing Product ID. Null when no Product is assigned; otherwise `compute`. */
1782
+ product_id: string | null;
1783
+ /** Format: uuid */
1784
+ plan_id: string | null;
1294
1785
  };
1295
1786
  InstanceTypeListResponseBody: {
1296
- items: components["schemas"]["InstanceTypeResource"][] | null;
1787
+ items: components["schemas"]["InstanceTypeResource"][];
1788
+ pagination: components["schemas"]["OffsetPagination"];
1297
1789
  };
1298
1790
  RegionResource: {
1299
- code: string;
1791
+ /** @description ISO 3166-1 alpha-2 country this region sits in. Two letters, uppercase. */
1300
1792
  country_code: string;
1793
+ /** @description Display name for this place, shown to tenants (Hong Kong). The stable handle is code. */
1301
1794
  name: string;
1795
+ /** @description The region's code, the way the outside world names this place (hk-1). Stable and human-written; addressing is by id. */
1796
+ code: string;
1797
+ /** Format: uuid */
1798
+ id: string;
1302
1799
  };
1303
1800
  RegionListResponseBody: {
1304
1801
  items: components["schemas"]["RegionResource"][] | null;
1802
+ pagination: components["schemas"]["OffsetPagination"];
1305
1803
  };
1306
1804
  ZoneResource: {
1307
- code: string;
1805
+ /** @description Display name for this zone, shown to tenants (Hong Kong A). The stable handle is code. */
1308
1806
  name: string;
1807
+ /** @description The zone's code within its region (hk-1-a). Stable and human-written; addressing is by id. */
1808
+ code: string;
1809
+ /** Format: uuid */
1810
+ id: string;
1309
1811
  };
1310
1812
  ZoneListResponseBody: {
1311
1813
  items: components["schemas"]["ZoneResource"][] | null;
1814
+ pagination: components["schemas"]["OffsetPagination"];
1312
1815
  };
1313
1816
  DiskListResponseBody: {
1314
1817
  items: components["schemas"]["DiskResource"][] | null;
1818
+ pagination: components["schemas"]["OffsetPagination"];
1315
1819
  };
1316
1820
  CreateDiskRequestBody: {
1317
- /** Format: uuid */
1821
+ /**
1822
+ * Format: uuid
1823
+ * @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
1824
+ */
1318
1825
  disk_type_id: string;
1319
1826
  name: string;
1320
1827
  /** Format: int64 */
@@ -1324,6 +1831,9 @@ export interface components {
1324
1831
  * @description Restore from this snapshot. When given, the capacity need only be no smaller than the snapshot
1325
1832
  */
1326
1833
  snapshot_id?: string;
1834
+ /** Format: uuid */
1835
+ price_id: string;
1836
+ order: components["schemas"]["OrderOptions"];
1327
1837
  };
1328
1838
  RenameDiskRequestBody: {
1329
1839
  name: string;
@@ -1334,6 +1844,9 @@ export interface components {
1334
1844
  * @description Must be larger than the current capacity
1335
1845
  */
1336
1846
  size_gb: number;
1847
+ /** Format: uuid */
1848
+ price_id: string;
1849
+ order: components["schemas"]["OrderOptions"];
1337
1850
  };
1338
1851
  RevertDiskRequestBody: {
1339
1852
  /**
@@ -1344,31 +1857,71 @@ export interface components {
1344
1857
  };
1345
1858
  FloatingIPResource: {
1346
1859
  address: string;
1347
- attached_fixed_ip: string | null;
1348
- attached_port_id: string | null;
1349
1860
  /** Format: int64 */
1350
1861
  bandwidth_mbps: number | null;
1351
1862
  /** Format: date-time */
1352
1863
  created_at: string;
1353
- /** Format: date-time */
1354
- detached_at: string | null;
1355
1864
  /** Format: uuid */
1356
1865
  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";
1866
+ /** Format: uuid */
1867
+ region_id: string;
1868
+ /** @enum {string} */
1869
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1870
+ /** Format: uuid */
1871
+ order_id: string | null;
1872
+ /** Format: uuid */
1873
+ price_id: string | null;
1874
+ /** Format: uuid */
1875
+ subscription_item_id: string | null;
1876
+ /** @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. */
1877
+ release_subscription_ids: string[];
1878
+ /** @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. */
1879
+ release_set: components["schemas"]["ReleaseSetItem"][];
1880
+ /** @enum {string|null} */
1881
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1882
+ task: components["schemas"]["Task"] | null;
1883
+ /** Format: uuid */
1884
+ bandwidth_order_id: string | null;
1885
+ /** Format: uuid */
1886
+ bandwidth_price_id: string | null;
1887
+ /** Format: uuid */
1888
+ bandwidth_subscription_item_id: string | null;
1889
+ /** @enum {string|null} */
1890
+ bandwidth_access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1891
+ /** Format: int64 */
1892
+ generation: number;
1893
+ /** Format: date-time */
1894
+ observed_at: string | null;
1895
+ binding: components["schemas"]["IPv4Binding"] | null;
1363
1896
  };
1364
1897
  FloatingIPListResponseBody: {
1365
1898
  items: components["schemas"]["FloatingIPResource"][] | null;
1899
+ pagination: components["schemas"]["OffsetPagination"];
1366
1900
  };
1367
1901
  AllocateFloatingIPRequestBody: {
1368
1902
  /** @description The address to allocate. Allocated by the platform when omitted */
1369
1903
  address?: string;
1904
+ /**
1905
+ * Format: int64
1906
+ * @description The bandwidth ceiling of this address, in Mbit/s, applied to both directions.
1907
+ *
1908
+ * Required, and there is no "unlimited": an address with no ceiling runs at line rate and is
1909
+ * charged nothing for the traffic, while the address itself bills normally — so the invoice
1910
+ * looks correct and nothing anywhere reports it.
1911
+ *
1912
+ * It is billed separately from the address, per Mbit/s-hour, and appears as its own line on
1913
+ * the order. Changing it later goes through the bandwidth endpoint.
1914
+ */
1915
+ bandwidth_mbps: number;
1370
1916
  /** Format: uuid */
1371
1917
  private_network_id: string;
1918
+ /** Format: uuid */
1919
+ ipv4_pool_id: string;
1920
+ /** Format: uuid */
1921
+ price_id: string;
1922
+ /** Format: uuid */
1923
+ bandwidth_price_id: string;
1924
+ order: components["schemas"]["OrderOptions"];
1372
1925
  };
1373
1926
  SetBandwidthRequestBody: {
1374
1927
  /**
@@ -1376,13 +1929,17 @@ export interface components {
1376
1929
  * @description Applied to both directions
1377
1930
  */
1378
1931
  mbps: number;
1932
+ /** Format: uuid */
1933
+ price_id: string;
1934
+ order: components["schemas"]["OrderOptions"];
1379
1935
  };
1380
1936
  BindFloatingIPRequestBody: {
1381
1937
  /** Format: uuid */
1382
- port_id: string;
1938
+ port_address_id: string;
1383
1939
  };
1384
1940
  InstanceResource: {
1385
- availability_zone: string;
1941
+ /** Format: uuid */
1942
+ availability_zone_id: string;
1386
1943
  /** Format: date-time */
1387
1944
  created_at: string;
1388
1945
  /** @description Hostname inside the instance; equals the instance id */
@@ -1391,7 +1948,7 @@ export interface components {
1391
1948
  id: string;
1392
1949
  /**
1393
1950
  * Format: uuid
1394
- * @description Non-empty when the instance was created from a platform image
1951
+ * @description Non-empty when the instance was created from an image, public or private
1395
1952
  */
1396
1953
  image_id: string | null;
1397
1954
  /**
@@ -1401,79 +1958,112 @@ export interface components {
1401
1958
  instance_type_id: string;
1402
1959
  /** @description IPv6 address of the primary network interface. Assigned automatically once IPv6 is enabled on the private network */
1403
1960
  ipv6_address: string | null;
1961
+ /** @description Your own classification of this instance, as key-value pairs. Empty when never set */
1962
+ labels: {
1963
+ [key: string]: string;
1964
+ };
1965
+ /** @description The account to log in as over SSH. The password set at creation belongs to this account */
1966
+ login_username: string;
1404
1967
  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;
1968
+ /** @description A free-text note about this instance. Empty when never set */
1969
+ notes: string;
1415
1970
  /** @description Private address of the instance */
1416
1971
  private_ip: string | null;
1417
- /** @description Private network of the primary network interface */
1972
+ /** Format: uuid */
1418
1973
  private_network_id: string | null;
1419
1974
  /** @description Floating IPv4 addresses bound to the primary network interface; an empty array when none are bound */
1420
1975
  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 */
1976
+ /** Format: uuid */
1977
+ region_id: string;
1978
+ /** @enum {string} */
1979
+ status: "pending" | "building" | "active" | "stopped" | "paused" | "suspended" | "shelved" | "shelved_offloaded" | "rescued" | "deleting" | "deleted" | "error" | "unknown";
1980
+ /** Format: uuid */
1432
1981
  subnet_id: string | null;
1982
+ /** Format: date-time */
1983
+ updated_at: string;
1984
+ /** @enum {string} */
1985
+ desired_state: "running" | "stopped" | "deleted";
1986
+ /** @enum {string} */
1987
+ power_state: "no_state" | "running" | "paused" | "shutdown" | "crashed" | "suspended" | "unknown";
1988
+ /** @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. */
1989
+ task_state: string;
1990
+ /** Format: int64 */
1991
+ generation: number;
1992
+ /** Format: date-time */
1993
+ observed_at: string | null;
1994
+ restrictions: components["schemas"]["InstanceRestriction"][];
1995
+ task: components["schemas"]["Task"] | null;
1996
+ /** Format: uuid */
1997
+ order_id: string | null;
1998
+ /** Format: uuid */
1999
+ price_id: string | null;
2000
+ /** Format: uuid */
2001
+ subscription_item_id: string | null;
2002
+ /** @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. */
2003
+ release_subscription_ids: string[];
2004
+ /** @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. */
2005
+ release_set: components["schemas"]["ReleaseSetItem"][];
2006
+ /** @enum {string|null} */
2007
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1433
2008
  /**
1434
- * Format: date-time
1435
- * @description Non-empty once the platform has suspended the instance, which must be lifted before any operation
2009
+ * Format: uuid
2010
+ * @description Non-empty when the instance was created from a disk you already had, instead of from an image
1436
2011
  */
1437
- suspended_at: string | null;
1438
- /** Format: date-time */
1439
- updated_at: string;
2012
+ source_disk_id: string | null;
1440
2013
  };
1441
2014
  InstanceListResponseBody: {
1442
- items: components["schemas"]["InstanceResource"][] | null;
2015
+ items: components["schemas"]["InstanceResource"][];
2016
+ pagination: components["schemas"]["OffsetPagination"];
1443
2017
  };
1444
2018
  LaunchInstanceRequestBody: {
2019
+ /**
2020
+ * Format: uuid
2021
+ * @description Bind a floating IP you already hold, instead of allocating a new one. It must be idle and in
2022
+ * the same region.
2023
+ *
2024
+ * Mutually exclusive with `bandwidth_mbps`: an address you already hold has its own bandwidth
2025
+ * ceiling, set when it was allocated, and changing it is a separate operation.
2026
+ *
2027
+ * Like `bandwidth_mbps`, this happens **inside the creation**: if binding fails, no instance is
2028
+ * created. Binding afterwards is still possible from the instance page, but then it is two
2029
+ * operations and a failure in between leaves an instance you cannot reach.
2030
+ *
2031
+ * Only one instance can be created when it is used — one address binds to one interface.
2032
+ */
2033
+ floating_ip_id?: string;
1445
2034
  /**
1446
2035
  * Format: int64
1447
2036
  * @description Number of instances to create; 1 when omitted. Names are numbered automatically for several
2037
+ * @default 1
1448
2038
  */
1449
2039
  count?: number;
1450
2040
  /** @description Have the platform generate a random password, returned only in this response */
1451
2041
  generate_password?: boolean;
1452
2042
  /**
1453
2043
  * Format: uuid
1454
- * @description A platform image. Exactly one of this and `private_image_id`
2044
+ * @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`
2045
+ */
2046
+ boot_disk_id?: string;
2047
+ /**
2048
+ * Format: uuid
2049
+ * @description A public image currently on sale, or an available private image of this project. Exactly one of this and `boot_disk_id`
1455
2050
  */
1456
2051
  image_id?: string;
1457
- /** Format: uuid */
2052
+ /**
2053
+ * Format: uuid
2054
+ * @description An instance type currently on sale. A withdrawn one is rejected even though its identifier still resolves
2055
+ */
1458
2056
  instance_type_id: string;
2057
+ /** @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 */
2058
+ login_username?: string;
1459
2059
  name: string;
1460
- /** @description Root password. Only the SSH public keys of the project are used when omitted */
2060
+ /** @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
2061
  password?: string;
1462
2062
  /**
1463
2063
  * Format: uuid
1464
2064
  * @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
2065
  */
1466
2066
  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
2067
  /** @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
2068
  security_group_ids?: string[] | null;
1479
2069
  /**
@@ -1481,22 +2071,27 @@ export interface components {
1481
2071
  * @description Create the primary network interface in this subnet. Exactly one of this and `port_id`
1482
2072
  */
1483
2073
  subnet_id?: string;
2074
+ order: components["schemas"]["OrderOptions"];
2075
+ /** Format: uuid */
2076
+ price_id: string;
2077
+ boot_disk?: components["schemas"]["NewBootDisk"];
2078
+ floating_ip?: components["schemas"]["NewFloatingIP"];
1484
2079
  };
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;
2080
+ SetInstanceLabelsRequestBody: {
2081
+ /** @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 */
2082
+ labels: {
2083
+ [key: string]: string;
2084
+ };
2085
+ };
2086
+ SetInstanceNotesRequestBody: {
2087
+ /** @description The complete note. Send an empty string to clear it */
2088
+ notes: string;
1492
2089
  };
1493
2090
  RenameInstanceRequestBody: {
1494
2091
  name: string;
1495
2092
  };
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 */
2093
+ RebootInstanceRequestBody: {
2094
+ /** @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
2095
  force?: boolean;
1501
2096
  };
1502
2097
  RunCommandRequestBody: {
@@ -1507,16 +2102,11 @@ export interface components {
1507
2102
  * @description Kill the command after this long. 60 when omitted
1508
2103
  */
1509
2104
  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
2105
  };
1516
2106
  CommandResultResponseBody: {
1517
2107
  /**
1518
2108
  * Format: int64
1519
- * @description Null when the command was killed rather than finishing on its own, which includes the timeout
2109
+ * @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
2110
  */
1521
2111
  exit_code: number | null;
1522
2112
  stderr: string;
@@ -1548,15 +2138,10 @@ export interface components {
1548
2138
  generate_password?: boolean;
1549
2139
  /**
1550
2140
  * Format: uuid
1551
- * @description A platform image. Exactly one of this and `private_image_id`
2141
+ * @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
2142
  */
1553
- image_id?: string;
2143
+ image_id: string;
1554
2144
  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
2145
  };
1561
2146
  RebuildInstanceResponseBody: {
1562
2147
  instance: components["schemas"]["InstanceResource"];
@@ -1569,6 +2154,9 @@ export interface components {
1569
2154
  * @description Must be in the same region and availability zone as the current instance type
1570
2155
  */
1571
2156
  instance_type_id: string;
2157
+ order: components["schemas"]["OrderOptions"];
2158
+ /** Format: uuid */
2159
+ price_id: string;
1572
2160
  };
1573
2161
  AttachDiskRequestBody: {
1574
2162
  /** Format: uuid */
@@ -1579,24 +2167,26 @@ export interface components {
1579
2167
  floating_ip_id: string;
1580
2168
  };
1581
2169
  PortResource: {
1582
- attached_instance_id: string | null;
1583
2170
  /** Format: uuid */
1584
2171
  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
2172
  mac: string | null;
1589
2173
  name: string;
1590
- private_ip: string | null;
1591
2174
  /** Format: uuid */
1592
2175
  private_network_id: string;
1593
2176
  /** @description Floating IPv4 addresses bound to this network interface; an empty array when none are bound */
1594
2177
  public_ips: string[] | null;
1595
- /** Format: uuid */
1596
- subnet_id: string;
2178
+ addresses?: components["schemas"]["PortAddress"][];
2179
+ attachment?: components["schemas"]["PortAttachment"] | null;
2180
+ /** @enum {string} */
2181
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
2182
+ /** Format: int64 */
2183
+ generation: number;
2184
+ /** Format: date-time */
2185
+ observed_at: string | null;
1597
2186
  };
1598
2187
  PortListResponseBody: {
1599
2188
  items: components["schemas"]["PortResource"][] | null;
2189
+ pagination: components["schemas"]["OffsetPagination"];
1600
2190
  };
1601
2191
  AttachPortRequestBody: {
1602
2192
  /** Format: uuid */
@@ -1607,6 +2197,12 @@ export interface components {
1607
2197
  action: string;
1608
2198
  /** @description The user who initiated the operation. Empty when the platform performed it */
1609
2199
  actor: string | null;
2200
+ /**
2201
+ * @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.
2202
+ *
2203
+ * 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.
2204
+ */
2205
+ actor_name: string | null;
1610
2206
  /** @description True when the operation was performed by the platform */
1611
2207
  by_platform: boolean;
1612
2208
  /** Format: date-time */
@@ -1619,76 +2215,51 @@ export interface components {
1619
2215
  payload: {
1620
2216
  [key: string]: unknown;
1621
2217
  };
1622
- region_code: string | null;
2218
+ /** Format: uuid */
2219
+ region_id: string | null;
1623
2220
  /** @description Empty for create operations: the id of the new resource is in the response, not in the request path */
1624
2221
  subject_id: string;
1625
2222
  subject_type: string;
1626
2223
  succeeded: boolean;
1627
2224
  };
1628
2225
  OperationLogListResponseBody: {
1629
- items: components["schemas"]["OperationLogResource"][] | null;
1630
- /** Format: int64 */
1631
- total: number;
2226
+ items: components["schemas"]["OperationLogResource"][];
2227
+ pagination: components["schemas"]["OffsetPagination"];
1632
2228
  };
1633
2229
  CreatePortRequestBody: {
1634
2230
  name?: string;
1635
- /** @description The private address to assign. Allocated automatically when omitted */
1636
- private_ip?: string;
1637
2231
  /** @description At least one, and all must belong to the same private network */
1638
2232
  security_group_ids: string[] | null;
1639
2233
  /** Format: uuid */
1640
2234
  subnet_id: string;
2235
+ /** @description The private address to assign. Allocated automatically when omitted */
2236
+ address?: string;
1641
2237
  };
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;
2238
+ CreateImageRequestBody: {
1655
2239
  /**
1656
- * Format: int64
1657
- * @description The instance type of an instance created from this image must have at least this much memory
2240
+ * Format: uuid
2241
+ * @description Captured from the system disk of this instance; data disks are not included
1658
2242
  */
1659
- min_ram_mb: number;
2243
+ instance_id: string;
1660
2244
  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;
2245
+ /** Format: uuid */
2246
+ price_id: string;
2247
+ order: components["schemas"]["OrderOptions"];
2248
+ };
2249
+ /** @description The fields of `CreateImageRequestBody` that decide the price */
2250
+ CreateImageQuoteRequestBody: {
1670
2251
  /**
1671
2252
  * Format: uuid
1672
- * @description The instance this image was captured from. The image remains usable after that instance is released
2253
+ * @description The instance whose system disk would be captured
1673
2254
  */
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: {
2255
+ instance_id: string;
1684
2256
  /**
1685
2257
  * Format: uuid
1686
- * @description Captured from the system disk of this instance; data disks are not included
2258
+ * @description A price of the region's private image offering. One is selected when omitted
1687
2259
  */
1688
- instance_id: string;
1689
- name: string;
2260
+ price_id?: string;
1690
2261
  };
1691
- RenamePrivateImageRequestBody: {
2262
+ RenameImageRequestBody: {
1692
2263
  name: string;
1693
2264
  };
1694
2265
  PrivateNetworkResource: {
@@ -1699,20 +2270,26 @@ export interface components {
1699
2270
  /** Format: uuid */
1700
2271
  id: string;
1701
2272
  name: string;
1702
- region_code: string;
1703
- /** @enum {string} */
1704
- status: "available" | "error";
2273
+ /** Format: uuid */
2274
+ region_id: string;
2275
+ /**
2276
+ * @description Only `available` accepts new instances, interfaces and floating IPs
2277
+ * @enum {string}
2278
+ */
2279
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1705
2280
  /** Format: date-time */
1706
2281
  updated_at: string;
1707
2282
  };
1708
2283
  PrivateNetworkListResponseBody: {
1709
2284
  items: components["schemas"]["PrivateNetworkResource"][] | null;
2285
+ pagination: components["schemas"]["OffsetPagination"];
1710
2286
  };
1711
2287
  CreatePrivateNetworkRequestBody: {
1712
2288
  /** @description Must be an RFC 1918 private CIDR with a prefix length between /8 and /24, for example `10.0.0.0/16` */
1713
2289
  cidr: string;
1714
2290
  name: string;
1715
- region_code: string;
2291
+ /** Format: uuid */
2292
+ region_id: string;
1716
2293
  };
1717
2294
  RenamePrivateNetworkRequestBody: {
1718
2295
  name: string;
@@ -1728,16 +2305,23 @@ export interface components {
1728
2305
  status: "pending" | "active" | "draining";
1729
2306
  };
1730
2307
  RouteResource: {
2308
+ /**
2309
+ * Format: uuid
2310
+ * @description System-owned peering route. Delete the peering to remove this route.
2311
+ */
2312
+ peering_id?: string;
1731
2313
  /** Format: date-time */
1732
2314
  created_at: string;
1733
2315
  description: string;
1734
2316
  destination: string;
1735
2317
  /** Format: uuid */
1736
2318
  id: string;
1737
- nexthop: string;
2319
+ /** @description Present for custom routes; peering routes expose peering_id instead. */
2320
+ nexthop?: string;
1738
2321
  };
1739
2322
  RouteListResponseBody: {
1740
2323
  items: components["schemas"]["RouteResource"][] | null;
2324
+ pagination: components["schemas"]["OffsetPagination"];
1741
2325
  };
1742
2326
  CreateRouteRequestBody: {
1743
2327
  description?: string;
@@ -1762,6 +2346,7 @@ export interface components {
1762
2346
  };
1763
2347
  SubnetListResponseBody: {
1764
2348
  items: components["schemas"]["SubnetResource"][] | null;
2349
+ pagination: components["schemas"]["OffsetPagination"];
1765
2350
  };
1766
2351
  CreateSubnetRequestBody: {
1767
2352
  /** @description Must fall inside the CIDR of the private network and must not overlap an existing subnet */
@@ -1786,6 +2371,7 @@ export interface components {
1786
2371
  };
1787
2372
  SecurityGroupListResponseBody: {
1788
2373
  items: components["schemas"]["SecurityGroupResource"][] | null;
2374
+ pagination: components["schemas"]["OffsetPagination"];
1789
2375
  };
1790
2376
  CreateSecurityGroupRequestBody: {
1791
2377
  description?: string;
@@ -1818,6 +2404,7 @@ export interface components {
1818
2404
  };
1819
2405
  SecurityRuleListResponseBody: {
1820
2406
  items: components["schemas"]["SecurityRuleResource"][] | null;
2407
+ pagination: components["schemas"]["OffsetPagination"];
1821
2408
  };
1822
2409
  CreateSecurityRuleRequestBody: {
1823
2410
  description?: string;
@@ -1841,8 +2428,11 @@ export interface components {
1841
2428
  remote_ip_prefix?: string;
1842
2429
  };
1843
2430
  SnapshotResource: {
1844
- /** @description A disk restored from this snapshot must reside in this availability zone */
1845
- availability_zone: string;
2431
+ /**
2432
+ * Format: uuid
2433
+ * @description A disk restored from this snapshot must reside in this availability zone
2434
+ */
2435
+ availability_zone_id: string;
1846
2436
  /** Format: date-time */
1847
2437
  created_at: string;
1848
2438
  /** Format: uuid */
@@ -1850,7 +2440,8 @@ export interface components {
1850
2440
  /** Format: uuid */
1851
2441
  id: string;
1852
2442
  name: string;
1853
- region_code: string;
2443
+ /** Format: uuid */
2444
+ region_id: string;
1854
2445
  /**
1855
2446
  * Format: int64
1856
2447
  * @description Capacity of the source disk when the snapshot was created. A disk restored from it cannot be smaller
@@ -1858,14 +2449,35 @@ export interface components {
1858
2449
  size_gb: number;
1859
2450
  /** @enum {string} */
1860
2451
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
2452
+ /** Format: uuid */
2453
+ order_id: string | null;
2454
+ /** Format: uuid */
2455
+ price_id: string | null;
2456
+ /** Format: uuid */
2457
+ subscription_item_id: string | null;
2458
+ /** @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. */
2459
+ release_subscription_ids: string[];
2460
+ /** @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. */
2461
+ release_set: components["schemas"]["ReleaseSetItem"][];
2462
+ /** @enum {string|null} */
2463
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
2464
+ task: components["schemas"]["Task"] | null;
2465
+ /** Format: int64 */
2466
+ generation: number;
2467
+ /** Format: date-time */
2468
+ observed_at: string | null;
1861
2469
  };
1862
2470
  SnapshotListResponseBody: {
1863
2471
  items: components["schemas"]["SnapshotResource"][] | null;
2472
+ pagination: components["schemas"]["OffsetPagination"];
1864
2473
  };
1865
2474
  CreateSnapshotRequestBody: {
1866
2475
  /** Format: uuid */
1867
2476
  disk_id: string;
1868
2477
  name: string;
2478
+ /** Format: uuid */
2479
+ price_id: string;
2480
+ order: components["schemas"]["OrderOptions"];
1869
2481
  };
1870
2482
  RenameSecurityGroupRequestBody: {
1871
2483
  name: string;
@@ -1873,9 +2485,274 @@ export interface components {
1873
2485
  RenameSnapshotRequestBody: {
1874
2486
  name: string;
1875
2487
  };
2488
+ /** @description Purchase options. Every request places an order of its own. */
2489
+ OrderOptions: {
2490
+ /**
2491
+ * @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.
2492
+ * @default true
2493
+ */
2494
+ auto_pay?: boolean;
2495
+ expected_amount?: string;
2496
+ redemption_code?: string;
2497
+ };
2498
+ /** @description Identifies the purchase. Read the order for purchase progress and its invoice for amounts and payment status. */
2499
+ PlacedOrder: {
2500
+ /**
2501
+ * Format: uuid
2502
+ * @description The invoice for this purchase. Null when there is no immediate invoice. Read the invoice for its current payment state.
2503
+ */
2504
+ invoice_id: string | null;
2505
+ /**
2506
+ * Format: uuid
2507
+ * @description The order, including for purchases without an immediate charge. Payment alone does not imply that the service has completed delivery.
2508
+ */
2509
+ order_id: string;
2510
+ };
2511
+ /** @description What a purchase would be charged, priced as a service would order it, without ordering anything. Nothing is reserved and nothing is recorded. */
2512
+ PurchaseQuote: {
2513
+ /** @description One line for each item the purchase would order, in the order it would order them. */
2514
+ lines: components["schemas"]["PurchaseQuoteLine"][];
2515
+ /** @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. */
2516
+ total: components["schemas"]["Money"] | null;
2517
+ currency: string;
2518
+ };
2519
+ /** @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. */
2520
+ PurchaseResult: {
2521
+ /**
2522
+ * Format: uuid
2523
+ * @description The Compute task that carries out the purchase.
2524
+ */
2525
+ task_id: string;
2526
+ order: components["schemas"]["PlacedOrder"];
2527
+ };
2528
+ /** @description A system disk purchased in the same order. Required when booting from an image; mutually exclusive with boot_disk_id. */
2529
+ NewBootDisk: {
2530
+ /**
2531
+ * Format: uuid
2532
+ * @description A system disk type on sale in the availability zone of the instance, one whose `for_system` is true
2533
+ */
2534
+ disk_type_id: string;
2535
+ /** Format: int64 */
2536
+ size_gb: number;
2537
+ /** Format: uuid */
2538
+ price_id: string;
2539
+ /** @default true */
2540
+ delete_with_instance?: boolean;
2541
+ };
2542
+ /** @description An address and bandwidth purchased in the same order. Mutually exclusive with floating_ip_id. */
2543
+ NewFloatingIP: {
2544
+ /** Format: uuid */
2545
+ price_id: string;
2546
+ /** Format: uuid */
2547
+ bandwidth_price_id: string;
2548
+ /** Format: int64 */
2549
+ bandwidth_mbps: number;
2550
+ /** Format: uuid */
2551
+ ipv4_pool_id: string;
2552
+ };
2553
+ /** @description An independent restriction on use. Removing one restriction never removes another source’s restriction or changes the user’s desired power state. */
2554
+ InstanceRestriction: {
2555
+ /** Format: uuid */
2556
+ id: string;
2557
+ /** @enum {string} */
2558
+ source: "billing" | "iam" | "operator";
2559
+ source_id: string;
2560
+ reason_code: string;
2561
+ /** Format: date-time */
2562
+ created_at: string;
2563
+ };
2564
+ PowerRequest: {
2565
+ /** Format: int64 */
2566
+ expected_generation?: number;
2567
+ };
2568
+ /** @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. */
2569
+ Task: {
2570
+ /** Format: uuid */
2571
+ id: string;
2572
+ /** @description Action requested from the owning service. */
2573
+ type: string;
2574
+ /** @enum {string} */
2575
+ state: "pending" | "running" | "succeeded" | "failed" | "canceled";
2576
+ /** @description Terminal failure. Absent while work can still recover. */
2577
+ error?: components["schemas"]["Error"];
2578
+ /** Format: date-time */
2579
+ created_at: string;
2580
+ /** Format: date-time */
2581
+ started_at: string | null;
2582
+ /** Format: date-time */
2583
+ completed_at: string | null;
2584
+ };
2585
+ PortAddress: {
2586
+ /** Format: uuid */
2587
+ id: string;
2588
+ /** Format: uuid */
2589
+ subnet_id: string;
2590
+ address: string;
2591
+ is_primary: boolean;
2592
+ /** @enum {string} */
2593
+ state: "reserved" | "assigned" | "releasing" | "released" | "unknown";
2594
+ /** Format: date-time */
2595
+ assigned_at: string | null;
2596
+ /** Format: date-time */
2597
+ released_at: string | null;
2598
+ };
2599
+ DiskAttachment: {
2600
+ /** Format: uuid */
2601
+ id: string;
2602
+ /** Format: uuid */
2603
+ instance_id: string;
2604
+ /** Format: uuid */
2605
+ disk_id: string;
2606
+ /** @enum {string} */
2607
+ role: "boot" | "data";
2608
+ delete_with_instance: boolean;
2609
+ /** @enum {string} */
2610
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2611
+ /** Format: date-time */
2612
+ attached_at: string | null;
2613
+ /** Format: date-time */
2614
+ detached_at: string | null;
2615
+ /** Format: date-time */
2616
+ released_at: string | null;
2617
+ device: string | null;
2618
+ };
2619
+ DiskAttachmentList: {
2620
+ items: components["schemas"]["DiskAttachment"][];
2621
+ pagination: components["schemas"]["OffsetPagination"];
2622
+ };
2623
+ PortAttachment: {
2624
+ /** Format: uuid */
2625
+ id: string;
2626
+ /** Format: uuid */
2627
+ instance_id: string;
2628
+ /** Format: uuid */
2629
+ port_id: string;
2630
+ /** @enum {string} */
2631
+ role: "primary" | "additional";
2632
+ delete_with_instance: boolean;
2633
+ /** @enum {string} */
2634
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2635
+ /** Format: date-time */
2636
+ attached_at: string | null;
2637
+ /** Format: date-time */
2638
+ detached_at: string | null;
2639
+ /** Format: date-time */
2640
+ released_at: string | null;
2641
+ };
2642
+ PortAttachmentList: {
2643
+ items: components["schemas"]["PortAttachment"][];
2644
+ pagination: components["schemas"]["OffsetPagination"];
2645
+ };
2646
+ LaunchInstanceResponseBody: {
2647
+ /** @description Instances created by this operation. Empty before resource creation starts. */
2648
+ instance_ids: string[];
2649
+ /**
2650
+ * Format: uuid
2651
+ * @description The Compute task that carries out the purchase.
2652
+ */
2653
+ task_id: string;
2654
+ order: components["schemas"]["PlacedOrder"];
2655
+ /** @description Generated login password, returned only by this response. Null when no password was generated. */
2656
+ password: string | null;
2657
+ };
2658
+ IPv4PoolResource: {
2659
+ /** Format: uuid */
2660
+ id: string;
2661
+ /** Format: uuid */
2662
+ region_id: string;
2663
+ name: string;
2664
+ /** Format: uuid */
2665
+ plan_id: string | null;
2666
+ /** Format: uuid */
2667
+ bandwidth_plan_id: string | null;
2668
+ };
2669
+ IPv4PoolListResponseBody: {
2670
+ items: components["schemas"]["IPv4PoolResource"][];
2671
+ pagination: components["schemas"]["OffsetPagination"];
2672
+ };
2673
+ IPv4Binding: {
2674
+ /** Format: uuid */
2675
+ id: string;
2676
+ /** Format: uuid */
2677
+ ipv4_allocation_id: string;
2678
+ /** Format: uuid */
2679
+ port_address_id: string;
2680
+ address: string;
2681
+ fixed_ip: string;
2682
+ /** @enum {string} */
2683
+ state: "binding" | "bound" | "unbinding" | "released" | "unknown";
2684
+ /** Format: date-time */
2685
+ bound_at: string | null;
2686
+ /** Format: date-time */
2687
+ unbound_at: string | null;
2688
+ /** Format: date-time */
2689
+ released_at: string | null;
2690
+ };
2691
+ /** @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. */
2692
+ ReleaseSetItem: {
2693
+ /** Format: uuid */
2694
+ subscription_id: string;
2695
+ resource: components["schemas"]["ReleaseResource"];
2696
+ };
2697
+ /** @description A resource a release set releases. */
2698
+ ReleaseResource: {
2699
+ /** @enum {string} */
2700
+ type: "instance" | "disk" | "snapshot" | "backup" | "image" | "floating_ip";
2701
+ /** Format: uuid */
2702
+ id: string;
2703
+ /** @description The resource's name. A floating IP is named by its address. */
2704
+ name: string;
2705
+ };
2706
+ /** @description Pagination metadata for stable numbered pages. total_count is returned only when the operation can determine it without an unbounded scan. */
2707
+ OffsetPagination: {
2708
+ /** Format: int64 */
2709
+ page: number;
2710
+ /** Format: int64 */
2711
+ page_size: number;
2712
+ /** Format: int64 */
2713
+ total_count?: number;
2714
+ };
2715
+ /**
2716
+ * @description A decimal string, in the currency stated alongside it.
2717
+ *
2718
+ * **The currency is not part of this type.** It is carried by a `currency` field next to the
2719
+ * amount, or by the account the amount belongs to. Reading an amount without that field is
2720
+ * reading a number with no unit.
2721
+ *
2722
+ * It is a string rather than a JSON number because a JSON number is a float in most parsers,
2723
+ * and a float loses precision on the first arithmetic. Nothing on this platform puts an amount
2724
+ * through a float.
2725
+ * @example 10.2500000000
2726
+ */
2727
+ Money: string;
2728
+ PurchaseQuoteLine: {
2729
+ /** @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. */
2730
+ priced: boolean;
2731
+ /**
2732
+ * @description Why no price was found; `none` while `priced` is true.
2733
+ * @enum {string}
2734
+ */
2735
+ unpriced_reason: "none" | "no_price" | "no_rate_card" | "no_meter" | "no_dimensions" | "no_effective_rule";
2736
+ /**
2737
+ * Format: uuid
2738
+ * @description The price selected, including when the request left the choice to the service. Order with this price.
2739
+ */
2740
+ price_id: string | null;
2741
+ plan_name: string;
2742
+ unit_amount: components["schemas"]["Money"] | null;
2743
+ /** @description The quantity priced. */
2744
+ quantity: string;
2745
+ /** @description Not rounded. Round only for display. */
2746
+ amount: components["schemas"]["Money"] | null;
2747
+ tax_amount: components["schemas"]["Money"] | null;
2748
+ currency: string;
2749
+ };
1876
2750
  };
1877
2751
  responses: never;
1878
- parameters: never;
2752
+ parameters: {
2753
+ Page: number;
2754
+ PageSize: number;
2755
+ };
1879
2756
  requestBodies: never;
1880
2757
  headers: never;
1881
2758
  pathItems: never;
@@ -1887,20 +2764,55 @@ export interface operations {
1887
2764
  query?: {
1888
2765
  /** @description Return only the backups of this disk */
1889
2766
  disk_id?: string;
2767
+ page?: components["parameters"]["Page"];
2768
+ page_size?: components["parameters"]["PageSize"];
2769
+ };
2770
+ header?: never;
2771
+ path?: never;
2772
+ cookie?: never;
2773
+ };
2774
+ requestBody?: never;
2775
+ responses: {
2776
+ /** @description OK */
2777
+ 200: {
2778
+ headers: {
2779
+ [name: string]: unknown;
2780
+ };
2781
+ content: {
2782
+ "application/json": components["schemas"]["BackupListResponseBody"];
2783
+ };
2784
+ };
2785
+ /** @description Error */
2786
+ default: {
2787
+ headers: {
2788
+ [name: string]: unknown;
2789
+ };
2790
+ content: {
2791
+ "application/json": components["schemas"]["Error"];
2792
+ };
1890
2793
  };
2794
+ };
2795
+ };
2796
+ "create-backup": {
2797
+ parameters: {
2798
+ query?: never;
1891
2799
  header?: never;
1892
2800
  path?: never;
1893
2801
  cookie?: never;
1894
2802
  };
1895
- requestBody?: never;
2803
+ requestBody: {
2804
+ content: {
2805
+ "application/json": components["schemas"]["CreateBackupRequestBody"];
2806
+ };
2807
+ };
1896
2808
  responses: {
1897
- /** @description OK */
1898
- 200: {
2809
+ /** @description Created */
2810
+ 201: {
1899
2811
  headers: {
1900
2812
  [name: string]: unknown;
1901
2813
  };
1902
2814
  content: {
1903
- "application/json": components["schemas"]["BackupListResponseBody"];
2815
+ "application/json": components["schemas"]["PurchaseResult"];
1904
2816
  };
1905
2817
  };
1906
2818
  /** @description Error */
@@ -1914,7 +2826,7 @@ export interface operations {
1914
2826
  };
1915
2827
  };
1916
2828
  };
1917
- "create-backup": {
2829
+ "create-backup-quote": {
1918
2830
  parameters: {
1919
2831
  query?: never;
1920
2832
  header?: never;
@@ -1923,17 +2835,17 @@ export interface operations {
1923
2835
  };
1924
2836
  requestBody: {
1925
2837
  content: {
1926
- "application/json": components["schemas"]["CreateBackupRequestBody"];
2838
+ "application/json": components["schemas"]["CreateBackupQuoteRequestBody"];
1927
2839
  };
1928
2840
  };
1929
2841
  responses: {
1930
- /** @description Created */
1931
- 201: {
2842
+ /** @description OK */
2843
+ 200: {
1932
2844
  headers: {
1933
2845
  [name: string]: unknown;
1934
2846
  };
1935
2847
  content: {
1936
- "application/json": components["schemas"]["BackupResource"];
2848
+ "application/json": components["schemas"]["PurchaseQuote"];
1937
2849
  };
1938
2850
  };
1939
2851
  /** @description Error */
@@ -1989,12 +2901,23 @@ export interface operations {
1989
2901
  };
1990
2902
  requestBody?: never;
1991
2903
  responses: {
1992
- /** @description No Content */
1993
- 204: {
2904
+ /** @description The action was accepted. Wait for the returned task to finish. */
2905
+ 202: {
1994
2906
  headers: {
1995
2907
  [name: string]: unknown;
1996
2908
  };
1997
- content?: never;
2909
+ content: {
2910
+ "application/json": components["schemas"]["Task"];
2911
+ };
2912
+ };
2913
+ /** @description The deletion was refused. */
2914
+ 409: {
2915
+ headers: {
2916
+ [name: string]: unknown;
2917
+ };
2918
+ content: {
2919
+ "application/json": components["schemas"]["Error"];
2920
+ };
1998
2921
  };
1999
2922
  /** @description Error */
2000
2923
  default: {
@@ -2063,7 +2986,7 @@ export interface operations {
2063
2986
  [name: string]: unknown;
2064
2987
  };
2065
2988
  content: {
2066
- "application/json": components["schemas"]["DiskResource"];
2989
+ "application/json": components["schemas"]["PurchaseResult"];
2067
2990
  };
2068
2991
  };
2069
2992
  /** @description Error */
@@ -2079,8 +3002,12 @@ export interface operations {
2079
3002
  };
2080
3003
  "list-disk-types": {
2081
3004
  parameters: {
2082
- query: {
2083
- region_code: string;
3005
+ query?: {
3006
+ region_id?: string;
3007
+ /** @description `true` lists only system disk types and `false` only data disk types. Both are listed when omitted. */
3008
+ for_system?: boolean;
3009
+ page?: components["parameters"]["Page"];
3010
+ page_size?: components["parameters"]["PageSize"];
2084
3011
  };
2085
3012
  header?: never;
2086
3013
  path?: never;
@@ -2108,10 +3035,46 @@ export interface operations {
2108
3035
  };
2109
3036
  };
2110
3037
  };
3038
+ "get-disk-type": {
3039
+ parameters: {
3040
+ query?: never;
3041
+ header?: never;
3042
+ path: {
3043
+ diskTypeId: string;
3044
+ };
3045
+ cookie?: never;
3046
+ };
3047
+ requestBody?: never;
3048
+ responses: {
3049
+ /** @description OK */
3050
+ 200: {
3051
+ headers: {
3052
+ [name: string]: unknown;
3053
+ };
3054
+ content: {
3055
+ "application/json": components["schemas"]["DiskTypeResource"];
3056
+ };
3057
+ };
3058
+ /** @description Error */
3059
+ default: {
3060
+ headers: {
3061
+ [name: string]: unknown;
3062
+ };
3063
+ content: {
3064
+ "application/json": components["schemas"]["Error"];
3065
+ };
3066
+ };
3067
+ };
3068
+ };
2111
3069
  "list-images": {
2112
3070
  parameters: {
2113
- query: {
2114
- region_code: string;
3071
+ query?: {
3072
+ /** @description Return only the images of this region */
3073
+ region_id?: string;
3074
+ /** @description Return only public or only private images. Both are returned when omitted */
3075
+ visibility?: components["schemas"]["ImageVisibility"];
3076
+ page?: components["parameters"]["Page"];
3077
+ page_size?: components["parameters"]["PageSize"];
2115
3078
  };
2116
3079
  header?: never;
2117
3080
  path?: never;
@@ -2139,10 +3102,184 @@ export interface operations {
2139
3102
  };
2140
3103
  };
2141
3104
  };
3105
+ "create-image": {
3106
+ parameters: {
3107
+ query?: never;
3108
+ header?: never;
3109
+ path?: never;
3110
+ cookie?: never;
3111
+ };
3112
+ requestBody: {
3113
+ content: {
3114
+ "application/json": components["schemas"]["CreateImageRequestBody"];
3115
+ };
3116
+ };
3117
+ responses: {
3118
+ /** @description Created */
3119
+ 201: {
3120
+ headers: {
3121
+ [name: string]: unknown;
3122
+ };
3123
+ content: {
3124
+ "application/json": components["schemas"]["PurchaseResult"];
3125
+ };
3126
+ };
3127
+ /** @description Error */
3128
+ default: {
3129
+ headers: {
3130
+ [name: string]: unknown;
3131
+ };
3132
+ content: {
3133
+ "application/json": components["schemas"]["Error"];
3134
+ };
3135
+ };
3136
+ };
3137
+ };
3138
+ "create-image-quote": {
3139
+ parameters: {
3140
+ query?: never;
3141
+ header?: never;
3142
+ path?: never;
3143
+ cookie?: never;
3144
+ };
3145
+ requestBody: {
3146
+ content: {
3147
+ "application/json": components["schemas"]["CreateImageQuoteRequestBody"];
3148
+ };
3149
+ };
3150
+ responses: {
3151
+ /** @description OK */
3152
+ 200: {
3153
+ headers: {
3154
+ [name: string]: unknown;
3155
+ };
3156
+ content: {
3157
+ "application/json": components["schemas"]["PurchaseQuote"];
3158
+ };
3159
+ };
3160
+ /** @description Error */
3161
+ default: {
3162
+ headers: {
3163
+ [name: string]: unknown;
3164
+ };
3165
+ content: {
3166
+ "application/json": components["schemas"]["Error"];
3167
+ };
3168
+ };
3169
+ };
3170
+ };
3171
+ "get-image": {
3172
+ parameters: {
3173
+ query?: never;
3174
+ header?: never;
3175
+ path: {
3176
+ imageId: string;
3177
+ };
3178
+ cookie?: never;
3179
+ };
3180
+ requestBody?: never;
3181
+ responses: {
3182
+ /** @description OK */
3183
+ 200: {
3184
+ headers: {
3185
+ [name: string]: unknown;
3186
+ };
3187
+ content: {
3188
+ "application/json": components["schemas"]["ImageResource"];
3189
+ };
3190
+ };
3191
+ /** @description Error */
3192
+ default: {
3193
+ headers: {
3194
+ [name: string]: unknown;
3195
+ };
3196
+ content: {
3197
+ "application/json": components["schemas"]["Error"];
3198
+ };
3199
+ };
3200
+ };
3201
+ };
3202
+ "delete-image": {
3203
+ parameters: {
3204
+ query?: never;
3205
+ header?: never;
3206
+ path: {
3207
+ imageId: string;
3208
+ };
3209
+ cookie?: never;
3210
+ };
3211
+ requestBody?: never;
3212
+ responses: {
3213
+ /** @description The action was accepted. Wait for the returned task to finish. */
3214
+ 202: {
3215
+ headers: {
3216
+ [name: string]: unknown;
3217
+ };
3218
+ content: {
3219
+ "application/json": components["schemas"]["Task"];
3220
+ };
3221
+ };
3222
+ /** @description The deletion was refused. */
3223
+ 409: {
3224
+ headers: {
3225
+ [name: string]: unknown;
3226
+ };
3227
+ content: {
3228
+ "application/json": components["schemas"]["Error"];
3229
+ };
3230
+ };
3231
+ /** @description Error */
3232
+ default: {
3233
+ headers: {
3234
+ [name: string]: unknown;
3235
+ };
3236
+ content: {
3237
+ "application/json": components["schemas"]["Error"];
3238
+ };
3239
+ };
3240
+ };
3241
+ };
3242
+ "rename-image": {
3243
+ parameters: {
3244
+ query?: never;
3245
+ header?: never;
3246
+ path: {
3247
+ imageId: string;
3248
+ };
3249
+ cookie?: never;
3250
+ };
3251
+ requestBody: {
3252
+ content: {
3253
+ "application/json": components["schemas"]["RenameImageRequestBody"];
3254
+ };
3255
+ };
3256
+ responses: {
3257
+ /** @description OK */
3258
+ 200: {
3259
+ headers: {
3260
+ [name: string]: unknown;
3261
+ };
3262
+ content: {
3263
+ "application/json": components["schemas"]["ImageResource"];
3264
+ };
3265
+ };
3266
+ /** @description Error */
3267
+ default: {
3268
+ headers: {
3269
+ [name: string]: unknown;
3270
+ };
3271
+ content: {
3272
+ "application/json": components["schemas"]["Error"];
3273
+ };
3274
+ };
3275
+ };
3276
+ };
2142
3277
  "list-instance-types": {
2143
3278
  parameters: {
2144
- query: {
2145
- region_code: string;
3279
+ query?: {
3280
+ region_id?: string;
3281
+ page?: components["parameters"]["Page"];
3282
+ page_size?: components["parameters"]["PageSize"];
2146
3283
  };
2147
3284
  header?: never;
2148
3285
  path?: never;
@@ -2172,7 +3309,10 @@ export interface operations {
2172
3309
  };
2173
3310
  "list-regions": {
2174
3311
  parameters: {
2175
- query?: never;
3312
+ query?: {
3313
+ page?: components["parameters"]["Page"];
3314
+ page_size?: components["parameters"]["PageSize"];
3315
+ };
2176
3316
  header?: never;
2177
3317
  path?: never;
2178
3318
  cookie?: never;
@@ -2201,10 +3341,13 @@ export interface operations {
2201
3341
  };
2202
3342
  "list-availability-zones": {
2203
3343
  parameters: {
2204
- query?: never;
3344
+ query?: {
3345
+ page?: components["parameters"]["Page"];
3346
+ page_size?: components["parameters"]["PageSize"];
3347
+ };
2205
3348
  header?: never;
2206
3349
  path: {
2207
- regionCode: string;
3350
+ regionId: string;
2208
3351
  };
2209
3352
  cookie?: never;
2210
3353
  };
@@ -2233,9 +3376,11 @@ export interface operations {
2233
3376
  "list-disks": {
2234
3377
  parameters: {
2235
3378
  query?: {
2236
- region_code?: string;
3379
+ region_id?: string;
2237
3380
  /** @description Supplied together with `region_code` to filter attachable disks */
2238
- availability_zone?: string;
3381
+ availability_zone_id?: string;
3382
+ page?: components["parameters"]["Page"];
3383
+ page_size?: components["parameters"]["PageSize"];
2239
3384
  };
2240
3385
  header?: never;
2241
3386
  path?: never;
@@ -2282,7 +3427,7 @@ export interface operations {
2282
3427
  [name: string]: unknown;
2283
3428
  };
2284
3429
  content: {
2285
- "application/json": components["schemas"]["DiskResource"];
3430
+ "application/json": components["schemas"]["PurchaseResult"];
2286
3431
  };
2287
3432
  };
2288
3433
  /** @description Error */
@@ -2338,12 +3483,23 @@ export interface operations {
2338
3483
  };
2339
3484
  requestBody?: never;
2340
3485
  responses: {
2341
- /** @description No Content */
2342
- 204: {
3486
+ /** @description The action was accepted. Wait for the returned task to finish. */
3487
+ 202: {
2343
3488
  headers: {
2344
3489
  [name: string]: unknown;
2345
3490
  };
2346
- content?: never;
3491
+ content: {
3492
+ "application/json": components["schemas"]["Task"];
3493
+ };
3494
+ };
3495
+ /** @description The deletion was refused. */
3496
+ 409: {
3497
+ headers: {
3498
+ [name: string]: unknown;
3499
+ };
3500
+ content: {
3501
+ "application/json": components["schemas"]["Error"];
3502
+ };
2347
3503
  };
2348
3504
  /** @description Error */
2349
3505
  default: {
@@ -2412,7 +3568,7 @@ export interface operations {
2412
3568
  [name: string]: unknown;
2413
3569
  };
2414
3570
  content: {
2415
- "application/json": components["schemas"]["DiskResource"];
3571
+ "application/json": components["schemas"]["PurchaseResult"];
2416
3572
  };
2417
3573
  };
2418
3574
  /** @description Error */
@@ -2441,13 +3597,13 @@ export interface operations {
2441
3597
  };
2442
3598
  };
2443
3599
  responses: {
2444
- /** @description OK */
2445
- 200: {
3600
+ /** @description The action was accepted. Wait for the returned task to finish. */
3601
+ 202: {
2446
3602
  headers: {
2447
3603
  [name: string]: unknown;
2448
3604
  };
2449
3605
  content: {
2450
- "application/json": components["schemas"]["DiskResource"];
3606
+ "application/json": components["schemas"]["Task"];
2451
3607
  };
2452
3608
  };
2453
3609
  /** @description Error */
@@ -2463,7 +3619,10 @@ export interface operations {
2463
3619
  };
2464
3620
  "list-floating-ips": {
2465
3621
  parameters: {
2466
- query?: never;
3622
+ query?: {
3623
+ page?: components["parameters"]["Page"];
3624
+ page_size?: components["parameters"]["PageSize"];
3625
+ };
2467
3626
  header?: never;
2468
3627
  path?: never;
2469
3628
  cookie?: never;
@@ -2509,7 +3668,7 @@ export interface operations {
2509
3668
  [name: string]: unknown;
2510
3669
  };
2511
3670
  content: {
2512
- "application/json": components["schemas"]["FloatingIPResource"];
3671
+ "application/json": components["schemas"]["PurchaseResult"];
2513
3672
  };
2514
3673
  };
2515
3674
  /** @description Error */
@@ -2565,12 +3724,23 @@ export interface operations {
2565
3724
  };
2566
3725
  requestBody?: never;
2567
3726
  responses: {
2568
- /** @description No Content */
2569
- 204: {
3727
+ /** @description The release has been accepted. */
3728
+ 202: {
3729
+ headers: {
3730
+ [name: string]: unknown;
3731
+ };
3732
+ content: {
3733
+ "application/json": components["schemas"]["Task"];
3734
+ };
3735
+ };
3736
+ /** @description The deletion was refused. */
3737
+ 409: {
2570
3738
  headers: {
2571
3739
  [name: string]: unknown;
2572
3740
  };
2573
- content?: never;
3741
+ content: {
3742
+ "application/json": components["schemas"]["Error"];
3743
+ };
2574
3744
  };
2575
3745
  /** @description Error */
2576
3746
  default: {
@@ -2604,7 +3774,7 @@ export interface operations {
2604
3774
  [name: string]: unknown;
2605
3775
  };
2606
3776
  content: {
2607
- "application/json": components["schemas"]["FloatingIPResource"];
3777
+ "application/json": components["schemas"]["PurchaseResult"];
2608
3778
  };
2609
3779
  };
2610
3780
  /** @description Error */
@@ -2686,7 +3856,12 @@ export interface operations {
2686
3856
  };
2687
3857
  "list-instances": {
2688
3858
  parameters: {
2689
- query?: never;
3859
+ query?: {
3860
+ /** @description Only instances carrying this label, written as `key:value` — for example `env:prod`. Both halves are matched exactly */
3861
+ label?: string;
3862
+ page?: components["parameters"]["Page"];
3863
+ page_size?: components["parameters"]["PageSize"];
3864
+ };
2690
3865
  header?: never;
2691
3866
  path?: never;
2692
3867
  cookie?: never;
@@ -2726,8 +3901,8 @@ export interface operations {
2726
3901
  };
2727
3902
  };
2728
3903
  responses: {
2729
- /** @description Created */
2730
- 201: {
3904
+ /** @description Accepted */
3905
+ 202: {
2731
3906
  headers: {
2732
3907
  [name: string]: unknown;
2733
3908
  };
@@ -2788,46 +3963,22 @@ export interface operations {
2788
3963
  };
2789
3964
  requestBody?: never;
2790
3965
  responses: {
2791
- /** @description No Content */
2792
- 204: {
2793
- headers: {
2794
- [name: string]: unknown;
2795
- };
2796
- content?: never;
2797
- };
2798
- /** @description Error */
2799
- default: {
3966
+ /** @description The action was accepted. Wait for the returned task to finish. */
3967
+ 202: {
2800
3968
  headers: {
2801
3969
  [name: string]: unknown;
2802
3970
  };
2803
3971
  content: {
2804
- "application/json": components["schemas"]["Error"];
3972
+ "application/json": components["schemas"]["Task"];
2805
3973
  };
2806
3974
  };
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: {
3975
+ /** @description The deletion was refused. */
3976
+ 409: {
2826
3977
  headers: {
2827
3978
  [name: string]: unknown;
2828
3979
  };
2829
3980
  content: {
2830
- "application/json": components["schemas"]["InstanceResource"];
3981
+ "application/json": components["schemas"]["Error"];
2831
3982
  };
2832
3983
  };
2833
3984
  /** @description Error */
@@ -2841,7 +3992,7 @@ export interface operations {
2841
3992
  };
2842
3993
  };
2843
3994
  };
2844
- "act-on-instance": {
3995
+ "rename-instance": {
2845
3996
  parameters: {
2846
3997
  query?: never;
2847
3998
  header?: never;
@@ -2852,7 +4003,7 @@ export interface operations {
2852
4003
  };
2853
4004
  requestBody: {
2854
4005
  content: {
2855
- "application/json": components["schemas"]["ActOnInstanceRequestBody"];
4006
+ "application/json": components["schemas"]["RenameInstanceRequestBody"];
2856
4007
  };
2857
4008
  };
2858
4009
  responses: {
@@ -2976,7 +4127,7 @@ export interface operations {
2976
4127
  };
2977
4128
  };
2978
4129
  };
2979
- "reset-instance-password": {
4130
+ "set-instance-labels": {
2980
4131
  parameters: {
2981
4132
  query?: never;
2982
4133
  header?: never;
@@ -2987,7 +4138,7 @@ export interface operations {
2987
4138
  };
2988
4139
  requestBody: {
2989
4140
  content: {
2990
- "application/json": components["schemas"]["ResetPasswordRequestBody"];
4141
+ "application/json": components["schemas"]["SetInstanceLabelsRequestBody"];
2991
4142
  };
2992
4143
  };
2993
4144
  responses: {
@@ -2997,7 +4148,7 @@ export interface operations {
2997
4148
  [name: string]: unknown;
2998
4149
  };
2999
4150
  content: {
3000
- "application/json": components["schemas"]["ResetPasswordResponseBody"];
4151
+ "application/json": components["schemas"]["InstanceResource"];
3001
4152
  };
3002
4153
  };
3003
4154
  /** @description Error */
@@ -3011,7 +4162,7 @@ export interface operations {
3011
4162
  };
3012
4163
  };
3013
4164
  };
3014
- "rebuild-instance": {
4165
+ "set-instance-notes": {
3015
4166
  parameters: {
3016
4167
  query?: never;
3017
4168
  header?: never;
@@ -3022,7 +4173,7 @@ export interface operations {
3022
4173
  };
3023
4174
  requestBody: {
3024
4175
  content: {
3025
- "application/json": components["schemas"]["RebuildInstanceRequestBody"];
4176
+ "application/json": components["schemas"]["SetInstanceNotesRequestBody"];
3026
4177
  };
3027
4178
  };
3028
4179
  responses: {
@@ -3032,7 +4183,7 @@ export interface operations {
3032
4183
  [name: string]: unknown;
3033
4184
  };
3034
4185
  content: {
3035
- "application/json": components["schemas"]["RebuildInstanceResponseBody"];
4186
+ "application/json": components["schemas"]["InstanceResource"];
3036
4187
  };
3037
4188
  };
3038
4189
  /** @description Error */
@@ -3046,7 +4197,7 @@ export interface operations {
3046
4197
  };
3047
4198
  };
3048
4199
  };
3049
- "resize-instance": {
4200
+ "reset-instance-password": {
3050
4201
  parameters: {
3051
4202
  query?: never;
3052
4203
  header?: never;
@@ -3057,7 +4208,7 @@ export interface operations {
3057
4208
  };
3058
4209
  requestBody: {
3059
4210
  content: {
3060
- "application/json": components["schemas"]["ResizeInstanceRequestBody"];
4211
+ "application/json": components["schemas"]["ResetPasswordRequestBody"];
3061
4212
  };
3062
4213
  };
3063
4214
  responses: {
@@ -3067,7 +4218,7 @@ export interface operations {
3067
4218
  [name: string]: unknown;
3068
4219
  };
3069
4220
  content: {
3070
- "application/json": components["schemas"]["InstanceResource"];
4221
+ "application/json": components["schemas"]["ResetPasswordResponseBody"];
3071
4222
  };
3072
4223
  };
3073
4224
  /** @description Error */
@@ -3081,7 +4232,7 @@ export interface operations {
3081
4232
  };
3082
4233
  };
3083
4234
  };
3084
- "confirm-instance-resize": {
4235
+ "reboot-instance": {
3085
4236
  parameters: {
3086
4237
  query?: never;
3087
4238
  header?: never;
@@ -3090,15 +4241,19 @@ export interface operations {
3090
4241
  };
3091
4242
  cookie?: never;
3092
4243
  };
3093
- requestBody?: never;
4244
+ requestBody: {
4245
+ content: {
4246
+ "application/json": components["schemas"]["RebootInstanceRequestBody"];
4247
+ };
4248
+ };
3094
4249
  responses: {
3095
- /** @description OK */
3096
- 200: {
4250
+ /** @description The action was accepted. Wait for the returned task to finish. */
4251
+ 202: {
3097
4252
  headers: {
3098
4253
  [name: string]: unknown;
3099
4254
  };
3100
4255
  content: {
3101
- "application/json": components["schemas"]["InstanceResource"];
4256
+ "application/json": components["schemas"]["Task"];
3102
4257
  };
3103
4258
  };
3104
4259
  /** @description Error */
@@ -3112,7 +4267,7 @@ export interface operations {
3112
4267
  };
3113
4268
  };
3114
4269
  };
3115
- "revert-instance-resize": {
4270
+ "rebuild-instance": {
3116
4271
  parameters: {
3117
4272
  query?: never;
3118
4273
  header?: never;
@@ -3121,7 +4276,11 @@ export interface operations {
3121
4276
  };
3122
4277
  cookie?: never;
3123
4278
  };
3124
- requestBody?: never;
4279
+ requestBody: {
4280
+ content: {
4281
+ "application/json": components["schemas"]["RebuildInstanceRequestBody"];
4282
+ };
4283
+ };
3125
4284
  responses: {
3126
4285
  /** @description OK */
3127
4286
  200: {
@@ -3129,7 +4288,7 @@ export interface operations {
3129
4288
  [name: string]: unknown;
3130
4289
  };
3131
4290
  content: {
3132
- "application/json": components["schemas"]["InstanceResource"];
4291
+ "application/json": components["schemas"]["RebuildInstanceResponseBody"];
3133
4292
  };
3134
4293
  };
3135
4294
  /** @description Error */
@@ -3143,7 +4302,7 @@ export interface operations {
3143
4302
  };
3144
4303
  };
3145
4304
  };
3146
- "list-instance-disks": {
4305
+ "resize-instance": {
3147
4306
  parameters: {
3148
4307
  query?: never;
3149
4308
  header?: never;
@@ -3152,15 +4311,19 @@ export interface operations {
3152
4311
  };
3153
4312
  cookie?: never;
3154
4313
  };
3155
- requestBody?: never;
4314
+ requestBody: {
4315
+ content: {
4316
+ "application/json": components["schemas"]["ResizeInstanceRequestBody"];
4317
+ };
4318
+ };
3156
4319
  responses: {
3157
- /** @description OK */
3158
- 200: {
4320
+ /** @description Accepted */
4321
+ 202: {
3159
4322
  headers: {
3160
4323
  [name: string]: unknown;
3161
4324
  };
3162
4325
  content: {
3163
- "application/json": components["schemas"]["DiskListResponseBody"];
4326
+ "application/json": components["schemas"]["PurchaseResult"];
3164
4327
  };
3165
4328
  };
3166
4329
  /** @description Error */
@@ -3174,7 +4337,7 @@ export interface operations {
3174
4337
  };
3175
4338
  };
3176
4339
  };
3177
- "attach-disk": {
4340
+ "start-instance": {
3178
4341
  parameters: {
3179
4342
  query?: never;
3180
4343
  header?: never;
@@ -3185,17 +4348,17 @@ export interface operations {
3185
4348
  };
3186
4349
  requestBody: {
3187
4350
  content: {
3188
- "application/json": components["schemas"]["AttachDiskRequestBody"];
4351
+ "application/json": components["schemas"]["PowerRequest"];
3189
4352
  };
3190
4353
  };
3191
4354
  responses: {
3192
- /** @description OK */
3193
- 200: {
4355
+ /** @description The action was accepted. Wait for the returned task to finish. */
4356
+ 202: {
3194
4357
  headers: {
3195
4358
  [name: string]: unknown;
3196
4359
  };
3197
4360
  content: {
3198
- "application/json": components["schemas"]["DiskResource"];
4361
+ "application/json": components["schemas"]["Task"];
3199
4362
  };
3200
4363
  };
3201
4364
  /** @description Error */
@@ -3209,25 +4372,28 @@ export interface operations {
3209
4372
  };
3210
4373
  };
3211
4374
  };
3212
- "detach-disk": {
4375
+ "stop-instance": {
3213
4376
  parameters: {
3214
4377
  query?: never;
3215
4378
  header?: never;
3216
4379
  path: {
3217
4380
  instanceId: string;
3218
- diskId: string;
3219
4381
  };
3220
4382
  cookie?: never;
3221
4383
  };
3222
- requestBody?: never;
4384
+ requestBody: {
4385
+ content: {
4386
+ "application/json": components["schemas"]["PowerRequest"];
4387
+ };
4388
+ };
3223
4389
  responses: {
3224
- /** @description OK */
3225
- 200: {
4390
+ /** @description The action was accepted. Wait for the returned task to finish. */
4391
+ 202: {
3226
4392
  headers: {
3227
4393
  [name: string]: unknown;
3228
4394
  };
3229
4395
  content: {
3230
- "application/json": components["schemas"]["DiskResource"];
4396
+ "application/json": components["schemas"]["Task"];
3231
4397
  };
3232
4398
  };
3233
4399
  /** @description Error */
@@ -3241,20 +4407,19 @@ export interface operations {
3241
4407
  };
3242
4408
  };
3243
4409
  };
3244
- "attach-instance-floating-ip": {
4410
+ "list-instance-disks": {
3245
4411
  parameters: {
3246
- query?: never;
4412
+ query?: {
4413
+ page?: components["parameters"]["Page"];
4414
+ page_size?: components["parameters"]["PageSize"];
4415
+ };
3247
4416
  header?: never;
3248
4417
  path: {
3249
4418
  instanceId: string;
3250
4419
  };
3251
4420
  cookie?: never;
3252
4421
  };
3253
- requestBody: {
3254
- content: {
3255
- "application/json": components["schemas"]["AttachFloatingIPRequestBody"];
3256
- };
3257
- };
4422
+ requestBody?: never;
3258
4423
  responses: {
3259
4424
  /** @description OK */
3260
4425
  200: {
@@ -3262,7 +4427,7 @@ export interface operations {
3262
4427
  [name: string]: unknown;
3263
4428
  };
3264
4429
  content: {
3265
- "application/json": components["schemas"]["FloatingIPResource"];
4430
+ "application/json": components["schemas"]["DiskAttachmentList"];
3266
4431
  };
3267
4432
  };
3268
4433
  /** @description Error */
@@ -3276,25 +4441,28 @@ export interface operations {
3276
4441
  };
3277
4442
  };
3278
4443
  };
3279
- "detach-instance-floating-ip": {
4444
+ "attach-disk": {
3280
4445
  parameters: {
3281
4446
  query?: never;
3282
4447
  header?: never;
3283
4448
  path: {
3284
4449
  instanceId: string;
3285
- floatingIpId: string;
3286
4450
  };
3287
4451
  cookie?: never;
3288
4452
  };
3289
- requestBody?: never;
4453
+ requestBody: {
4454
+ content: {
4455
+ "application/json": components["schemas"]["AttachDiskRequestBody"];
4456
+ };
4457
+ };
3290
4458
  responses: {
3291
- /** @description OK */
3292
- 200: {
4459
+ /** @description The action was accepted. Wait for the returned task to finish. */
4460
+ 202: {
3293
4461
  headers: {
3294
4462
  [name: string]: unknown;
3295
4463
  };
3296
4464
  content: {
3297
- "application/json": components["schemas"]["FloatingIPResource"];
4465
+ "application/json": components["schemas"]["Task"];
3298
4466
  };
3299
4467
  };
3300
4468
  /** @description Error */
@@ -3308,24 +4476,25 @@ export interface operations {
3308
4476
  };
3309
4477
  };
3310
4478
  };
3311
- "list-instance-ports": {
4479
+ "detach-disk": {
3312
4480
  parameters: {
3313
4481
  query?: never;
3314
4482
  header?: never;
3315
4483
  path: {
3316
4484
  instanceId: string;
4485
+ diskId: string;
3317
4486
  };
3318
4487
  cookie?: never;
3319
4488
  };
3320
4489
  requestBody?: never;
3321
4490
  responses: {
3322
- /** @description OK */
3323
- 200: {
4491
+ /** @description The action was accepted. Wait for the returned task to finish. */
4492
+ 202: {
3324
4493
  headers: {
3325
4494
  [name: string]: unknown;
3326
4495
  };
3327
4496
  content: {
3328
- "application/json": components["schemas"]["PortListResponseBody"];
4497
+ "application/json": components["schemas"]["Task"];
3329
4498
  };
3330
4499
  };
3331
4500
  /** @description Error */
@@ -3339,7 +4508,7 @@ export interface operations {
3339
4508
  };
3340
4509
  };
3341
4510
  };
3342
- "attach-port": {
4511
+ "attach-instance-floating-ip": {
3343
4512
  parameters: {
3344
4513
  query?: never;
3345
4514
  header?: never;
@@ -3350,17 +4519,17 @@ export interface operations {
3350
4519
  };
3351
4520
  requestBody: {
3352
4521
  content: {
3353
- "application/json": components["schemas"]["AttachPortRequestBody"];
4522
+ "application/json": components["schemas"]["AttachFloatingIPRequestBody"];
3354
4523
  };
3355
4524
  };
3356
4525
  responses: {
3357
- /** @description OK */
4526
+ /** @description The current floating IP binding */
3358
4527
  200: {
3359
4528
  headers: {
3360
4529
  [name: string]: unknown;
3361
4530
  };
3362
4531
  content: {
3363
- "application/json": components["schemas"]["PortResource"];
4532
+ "application/json": components["schemas"]["FloatingIPResource"];
3364
4533
  };
3365
4534
  };
3366
4535
  /** @description Error */
@@ -3374,25 +4543,25 @@ export interface operations {
3374
4543
  };
3375
4544
  };
3376
4545
  };
3377
- "detach-port": {
4546
+ "detach-instance-floating-ip": {
3378
4547
  parameters: {
3379
4548
  query?: never;
3380
4549
  header?: never;
3381
4550
  path: {
3382
4551
  instanceId: string;
3383
- portId: string;
4552
+ floatingIpId: string;
3384
4553
  };
3385
4554
  cookie?: never;
3386
4555
  };
3387
4556
  requestBody?: never;
3388
4557
  responses: {
3389
- /** @description OK */
4558
+ /** @description The current floating IP binding */
3390
4559
  200: {
3391
4560
  headers: {
3392
4561
  [name: string]: unknown;
3393
4562
  };
3394
4563
  content: {
3395
- "application/json": components["schemas"]["PortResource"];
4564
+ "application/json": components["schemas"]["FloatingIPResource"];
3396
4565
  };
3397
4566
  };
3398
4567
  /** @description Error */
@@ -3406,45 +4575,16 @@ export interface operations {
3406
4575
  };
3407
4576
  };
3408
4577
  };
3409
- "list-operation-logs": {
4578
+ "list-instance-ports": {
3410
4579
  parameters: {
3411
4580
  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;
4581
+ page?: components["parameters"]["Page"];
4582
+ page_size?: components["parameters"]["PageSize"];
3416
4583
  };
3417
4584
  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
- };
4585
+ path: {
4586
+ instanceId: string;
3440
4587
  };
3441
- };
3442
- };
3443
- "list-ports": {
3444
- parameters: {
3445
- query?: never;
3446
- header?: never;
3447
- path?: never;
3448
4588
  cookie?: never;
3449
4589
  };
3450
4590
  requestBody?: never;
@@ -3455,7 +4595,7 @@ export interface operations {
3455
4595
  [name: string]: unknown;
3456
4596
  };
3457
4597
  content: {
3458
- "application/json": components["schemas"]["PortListResponseBody"];
4598
+ "application/json": components["schemas"]["PortAttachmentList"];
3459
4599
  };
3460
4600
  };
3461
4601
  /** @description Error */
@@ -3469,26 +4609,28 @@ export interface operations {
3469
4609
  };
3470
4610
  };
3471
4611
  };
3472
- "create-port": {
4612
+ "attach-port": {
3473
4613
  parameters: {
3474
4614
  query?: never;
3475
4615
  header?: never;
3476
- path?: never;
4616
+ path: {
4617
+ instanceId: string;
4618
+ };
3477
4619
  cookie?: never;
3478
4620
  };
3479
4621
  requestBody: {
3480
4622
  content: {
3481
- "application/json": components["schemas"]["CreatePortRequestBody"];
4623
+ "application/json": components["schemas"]["AttachPortRequestBody"];
3482
4624
  };
3483
4625
  };
3484
4626
  responses: {
3485
- /** @description Created */
3486
- 201: {
4627
+ /** @description The action was accepted. Wait for the returned task to finish. */
4628
+ 202: {
3487
4629
  headers: {
3488
4630
  [name: string]: unknown;
3489
4631
  };
3490
4632
  content: {
3491
- "application/json": components["schemas"]["PortResource"];
4633
+ "application/json": components["schemas"]["Task"];
3492
4634
  };
3493
4635
  };
3494
4636
  /** @description Error */
@@ -3502,23 +4644,26 @@ export interface operations {
3502
4644
  };
3503
4645
  };
3504
4646
  };
3505
- "delete-port": {
4647
+ "detach-port": {
3506
4648
  parameters: {
3507
4649
  query?: never;
3508
4650
  header?: never;
3509
4651
  path: {
4652
+ instanceId: string;
3510
4653
  portId: string;
3511
4654
  };
3512
4655
  cookie?: never;
3513
4656
  };
3514
4657
  requestBody?: never;
3515
4658
  responses: {
3516
- /** @description No Content */
3517
- 204: {
4659
+ /** @description The action was accepted. Wait for the returned task to finish. */
4660
+ 202: {
3518
4661
  headers: {
3519
4662
  [name: string]: unknown;
3520
4663
  };
3521
- content?: never;
4664
+ content: {
4665
+ "application/json": components["schemas"]["Task"];
4666
+ };
3522
4667
  };
3523
4668
  /** @description Error */
3524
4669
  default: {
@@ -3531,11 +4676,13 @@ export interface operations {
3531
4676
  };
3532
4677
  };
3533
4678
  };
3534
- "list-private-images": {
4679
+ "list-operation-logs": {
3535
4680
  parameters: {
3536
4681
  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;
4682
+ /** @description Return a single kind of operation; the value matches the operation id of the endpoint */
4683
+ action?: string;
4684
+ page?: components["parameters"]["Page"];
4685
+ page_size?: components["parameters"]["PageSize"];
3539
4686
  };
3540
4687
  header?: never;
3541
4688
  path?: never;
@@ -3549,7 +4696,7 @@ export interface operations {
3549
4696
  [name: string]: unknown;
3550
4697
  };
3551
4698
  content: {
3552
- "application/json": components["schemas"]["PrivateImageListResponseBody"];
4699
+ "application/json": components["schemas"]["OperationLogListResponseBody"];
3553
4700
  };
3554
4701
  };
3555
4702
  /** @description Error */
@@ -3563,46 +4710,14 @@ export interface operations {
3563
4710
  };
3564
4711
  };
3565
4712
  };
3566
- "create-private-image": {
4713
+ "list-ports": {
3567
4714
  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
- };
4715
+ query?: {
4716
+ page?: components["parameters"]["Page"];
4717
+ page_size?: components["parameters"]["PageSize"];
3596
4718
  };
3597
- };
3598
- };
3599
- "get-private-image": {
3600
- parameters: {
3601
- query?: never;
3602
4719
  header?: never;
3603
- path: {
3604
- privateImageId: string;
3605
- };
4720
+ path?: never;
3606
4721
  cookie?: never;
3607
4722
  };
3608
4723
  requestBody?: never;
@@ -3613,7 +4728,7 @@ export interface operations {
3613
4728
  [name: string]: unknown;
3614
4729
  };
3615
4730
  content: {
3616
- "application/json": components["schemas"]["PrivateImageResource"];
4731
+ "application/json": components["schemas"]["PortListResponseBody"];
3617
4732
  };
3618
4733
  };
3619
4734
  /** @description Error */
@@ -3627,23 +4742,27 @@ export interface operations {
3627
4742
  };
3628
4743
  };
3629
4744
  };
3630
- "delete-private-image": {
4745
+ "create-port": {
3631
4746
  parameters: {
3632
4747
  query?: never;
3633
4748
  header?: never;
3634
- path: {
3635
- privateImageId: string;
3636
- };
4749
+ path?: never;
3637
4750
  cookie?: never;
3638
4751
  };
3639
- requestBody?: never;
4752
+ requestBody: {
4753
+ content: {
4754
+ "application/json": components["schemas"]["CreatePortRequestBody"];
4755
+ };
4756
+ };
3640
4757
  responses: {
3641
- /** @description No Content */
3642
- 204: {
4758
+ /** @description Created */
4759
+ 201: {
3643
4760
  headers: {
3644
4761
  [name: string]: unknown;
3645
4762
  };
3646
- content?: never;
4763
+ content: {
4764
+ "application/json": components["schemas"]["PortResource"];
4765
+ };
3647
4766
  };
3648
4767
  /** @description Error */
3649
4768
  default: {
@@ -3656,29 +4775,23 @@ export interface operations {
3656
4775
  };
3657
4776
  };
3658
4777
  };
3659
- "rename-private-image": {
4778
+ "delete-port": {
3660
4779
  parameters: {
3661
4780
  query?: never;
3662
4781
  header?: never;
3663
4782
  path: {
3664
- privateImageId: string;
4783
+ portId: string;
3665
4784
  };
3666
4785
  cookie?: never;
3667
4786
  };
3668
- requestBody: {
3669
- content: {
3670
- "application/json": components["schemas"]["RenamePrivateImageRequestBody"];
3671
- };
3672
- };
4787
+ requestBody?: never;
3673
4788
  responses: {
3674
- /** @description OK */
3675
- 200: {
4789
+ /** @description No Content */
4790
+ 204: {
3676
4791
  headers: {
3677
4792
  [name: string]: unknown;
3678
4793
  };
3679
- content: {
3680
- "application/json": components["schemas"]["PrivateImageResource"];
3681
- };
4794
+ content?: never;
3682
4795
  };
3683
4796
  /** @description Error */
3684
4797
  default: {
@@ -3695,7 +4808,9 @@ export interface operations {
3695
4808
  parameters: {
3696
4809
  query?: {
3697
4810
  /** @description Returns every region when omitted */
3698
- region_code?: string;
4811
+ region_id?: string;
4812
+ page?: components["parameters"]["Page"];
4813
+ page_size?: components["parameters"]["PageSize"];
3699
4814
  };
3700
4815
  header?: never;
3701
4816
  path?: never;
@@ -3944,7 +5059,10 @@ export interface operations {
3944
5059
  };
3945
5060
  "list-routes": {
3946
5061
  parameters: {
3947
- query?: never;
5062
+ query?: {
5063
+ page?: components["parameters"]["Page"];
5064
+ page_size?: components["parameters"]["PageSize"];
5065
+ };
3948
5066
  header?: never;
3949
5067
  path: {
3950
5068
  privateNetworkId: string;
@@ -4040,7 +5158,10 @@ export interface operations {
4040
5158
  };
4041
5159
  "list-subnets": {
4042
5160
  parameters: {
4043
- query?: never;
5161
+ query?: {
5162
+ page?: components["parameters"]["Page"];
5163
+ page_size?: components["parameters"]["PageSize"];
5164
+ };
4044
5165
  header?: never;
4045
5166
  path: {
4046
5167
  privateNetworkId: string;
@@ -4170,9 +5291,11 @@ export interface operations {
4170
5291
  "list-security-groups": {
4171
5292
  parameters: {
4172
5293
  query?: {
4173
- region_code?: string;
5294
+ region_id?: string;
4174
5295
  /** @description Return only the security groups of this private network */
4175
5296
  private_network_id?: string;
5297
+ page?: components["parameters"]["Page"];
5298
+ page_size?: components["parameters"]["PageSize"];
4176
5299
  };
4177
5300
  header?: never;
4178
5301
  path?: never;
@@ -4330,7 +5453,10 @@ export interface operations {
4330
5453
  };
4331
5454
  "list-security-group-rules": {
4332
5455
  parameters: {
4333
- query?: never;
5456
+ query?: {
5457
+ page?: components["parameters"]["Page"];
5458
+ page_size?: components["parameters"]["PageSize"];
5459
+ };
4334
5460
  header?: never;
4335
5461
  path: {
4336
5462
  securityGroupId: string;
@@ -4429,6 +5555,8 @@ export interface operations {
4429
5555
  query?: {
4430
5556
  /** @description Return only the snapshots of this disk */
4431
5557
  disk_id?: string;
5558
+ page?: components["parameters"]["Page"];
5559
+ page_size?: components["parameters"]["PageSize"];
4432
5560
  };
4433
5561
  header?: never;
4434
5562
  path?: never;
@@ -4475,7 +5603,7 @@ export interface operations {
4475
5603
  [name: string]: unknown;
4476
5604
  };
4477
5605
  content: {
4478
- "application/json": components["schemas"]["SnapshotResource"];
5606
+ "application/json": components["schemas"]["PurchaseResult"];
4479
5607
  };
4480
5608
  };
4481
5609
  /** @description Error */
@@ -4531,12 +5659,23 @@ export interface operations {
4531
5659
  };
4532
5660
  requestBody?: never;
4533
5661
  responses: {
4534
- /** @description No Content */
4535
- 204: {
5662
+ /** @description The action was accepted. Wait for the returned task to finish. */
5663
+ 202: {
4536
5664
  headers: {
4537
5665
  [name: string]: unknown;
4538
5666
  };
4539
- content?: never;
5667
+ content: {
5668
+ "application/json": components["schemas"]["Task"];
5669
+ };
5670
+ };
5671
+ /** @description The deletion was refused. */
5672
+ 409: {
5673
+ headers: {
5674
+ [name: string]: unknown;
5675
+ };
5676
+ content: {
5677
+ "application/json": components["schemas"]["Error"];
5678
+ };
4540
5679
  };
4541
5680
  /** @description Error */
4542
5681
  default: {
@@ -4584,4 +5723,257 @@ export interface operations {
4584
5723
  };
4585
5724
  };
4586
5725
  };
5726
+ "get-task": {
5727
+ parameters: {
5728
+ query?: never;
5729
+ header?: never;
5730
+ path: {
5731
+ taskId: string;
5732
+ };
5733
+ cookie?: never;
5734
+ };
5735
+ requestBody?: never;
5736
+ responses: {
5737
+ /** @description The task. */
5738
+ 200: {
5739
+ headers: {
5740
+ [name: string]: unknown;
5741
+ };
5742
+ content: {
5743
+ "application/json": components["schemas"]["Task"];
5744
+ };
5745
+ };
5746
+ /** @description The request could not be completed. */
5747
+ default: {
5748
+ headers: {
5749
+ [name: string]: unknown;
5750
+ };
5751
+ content: {
5752
+ "application/json": components["schemas"]["Error"];
5753
+ };
5754
+ };
5755
+ };
5756
+ };
5757
+ "list-ipv4-pools": {
5758
+ parameters: {
5759
+ query?: {
5760
+ region_id?: string;
5761
+ page?: components["parameters"]["Page"];
5762
+ page_size?: components["parameters"]["PageSize"];
5763
+ };
5764
+ header?: never;
5765
+ path?: never;
5766
+ cookie?: never;
5767
+ };
5768
+ requestBody?: never;
5769
+ responses: {
5770
+ /** @description OK */
5771
+ 200: {
5772
+ headers: {
5773
+ [name: string]: unknown;
5774
+ };
5775
+ content: {
5776
+ "application/json": components["schemas"]["IPv4PoolListResponseBody"];
5777
+ };
5778
+ };
5779
+ /** @description Error */
5780
+ default: {
5781
+ headers: {
5782
+ [name: string]: unknown;
5783
+ };
5784
+ content: {
5785
+ "application/json": components["schemas"]["Error"];
5786
+ };
5787
+ };
5788
+ };
5789
+ };
5790
+ "list-peerings": {
5791
+ parameters: {
5792
+ query?: {
5793
+ page?: components["parameters"]["Page"];
5794
+ page_size?: components["parameters"]["PageSize"];
5795
+ };
5796
+ header?: never;
5797
+ path?: never;
5798
+ cookie?: never;
5799
+ };
5800
+ requestBody?: never;
5801
+ responses: {
5802
+ /** @description Success */
5803
+ 200: {
5804
+ headers: {
5805
+ [name: string]: unknown;
5806
+ };
5807
+ content: {
5808
+ "application/json": components["schemas"]["PeeringListResponseBody"];
5809
+ };
5810
+ };
5811
+ /** @description Error */
5812
+ default: {
5813
+ headers: {
5814
+ [name: string]: unknown;
5815
+ };
5816
+ content: {
5817
+ "application/json": components["schemas"]["Error"];
5818
+ };
5819
+ };
5820
+ };
5821
+ };
5822
+ "create-peering": {
5823
+ parameters: {
5824
+ query?: never;
5825
+ header?: never;
5826
+ path?: never;
5827
+ cookie?: never;
5828
+ };
5829
+ requestBody: {
5830
+ content: {
5831
+ "application/json": components["schemas"]["CreatePeeringRequestBody"];
5832
+ };
5833
+ };
5834
+ responses: {
5835
+ /** @description Success */
5836
+ 201: {
5837
+ headers: {
5838
+ [name: string]: unknown;
5839
+ };
5840
+ content: {
5841
+ "application/json": components["schemas"]["PeeringResource"];
5842
+ };
5843
+ };
5844
+ /** @description Error */
5845
+ default: {
5846
+ headers: {
5847
+ [name: string]: unknown;
5848
+ };
5849
+ content: {
5850
+ "application/json": components["schemas"]["Error"];
5851
+ };
5852
+ };
5853
+ };
5854
+ };
5855
+ "get-peering": {
5856
+ parameters: {
5857
+ query?: never;
5858
+ header?: never;
5859
+ path: {
5860
+ peeringId: string;
5861
+ };
5862
+ cookie?: never;
5863
+ };
5864
+ requestBody?: never;
5865
+ responses: {
5866
+ /** @description Success */
5867
+ 200: {
5868
+ headers: {
5869
+ [name: string]: unknown;
5870
+ };
5871
+ content: {
5872
+ "application/json": components["schemas"]["PeeringResource"];
5873
+ };
5874
+ };
5875
+ /** @description Error */
5876
+ default: {
5877
+ headers: {
5878
+ [name: string]: unknown;
5879
+ };
5880
+ content: {
5881
+ "application/json": components["schemas"]["Error"];
5882
+ };
5883
+ };
5884
+ };
5885
+ };
5886
+ "delete-peering": {
5887
+ parameters: {
5888
+ query?: never;
5889
+ header?: never;
5890
+ path: {
5891
+ peeringId: string;
5892
+ };
5893
+ cookie?: never;
5894
+ };
5895
+ requestBody?: never;
5896
+ responses: {
5897
+ /** @description Success */
5898
+ 202: {
5899
+ headers: {
5900
+ [name: string]: unknown;
5901
+ };
5902
+ content: {
5903
+ "application/json": components["schemas"]["PeeringResource"];
5904
+ };
5905
+ };
5906
+ /** @description Error */
5907
+ default: {
5908
+ headers: {
5909
+ [name: string]: unknown;
5910
+ };
5911
+ content: {
5912
+ "application/json": components["schemas"]["Error"];
5913
+ };
5914
+ };
5915
+ };
5916
+ };
5917
+ "accept-peering": {
5918
+ parameters: {
5919
+ query?: never;
5920
+ header?: never;
5921
+ path: {
5922
+ peeringId: string;
5923
+ };
5924
+ cookie?: never;
5925
+ };
5926
+ requestBody?: never;
5927
+ responses: {
5928
+ /** @description Success */
5929
+ 202: {
5930
+ headers: {
5931
+ [name: string]: unknown;
5932
+ };
5933
+ content: {
5934
+ "application/json": components["schemas"]["PeeringResource"];
5935
+ };
5936
+ };
5937
+ /** @description Error */
5938
+ default: {
5939
+ headers: {
5940
+ [name: string]: unknown;
5941
+ };
5942
+ content: {
5943
+ "application/json": components["schemas"]["Error"];
5944
+ };
5945
+ };
5946
+ };
5947
+ };
5948
+ "reject-peering": {
5949
+ parameters: {
5950
+ query?: never;
5951
+ header?: never;
5952
+ path: {
5953
+ peeringId: string;
5954
+ };
5955
+ cookie?: never;
5956
+ };
5957
+ requestBody?: never;
5958
+ responses: {
5959
+ /** @description Success */
5960
+ 200: {
5961
+ headers: {
5962
+ [name: string]: unknown;
5963
+ };
5964
+ content: {
5965
+ "application/json": components["schemas"]["PeeringResource"];
5966
+ };
5967
+ };
5968
+ /** @description Error */
5969
+ default: {
5970
+ headers: {
5971
+ [name: string]: unknown;
5972
+ };
5973
+ content: {
5974
+ "application/json": components["schemas"]["Error"];
5975
+ };
5976
+ };
5977
+ };
5978
+ };
4587
5979
  }