@leaflow/sdk 0.0.0-dev.17.geb299fb → 0.0.0-dev.171.g5d23fa1

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 (81) hide show
  1. package/README.md +13 -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 +34 -21
  5. package/dist/account/v1/index.js +4 -4
  6. package/dist/account/v1/schema.d.ts +374 -81
  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 +69 -40
  10. package/dist/assistant/v1/index.js +4 -4
  11. package/dist/assistant/v1/schema.d.ts +1089 -133
  12. package/dist/billing/v1/client.d.ts +6 -0
  13. package/dist/billing/v1/client.js +6 -0
  14. package/dist/billing/v1/index.d.ts +205 -0
  15. package/dist/billing/v1/index.js +5 -0
  16. package/dist/billing/v1/schema.d.ts +4976 -0
  17. package/dist/billing/v1/schema.js +5 -0
  18. package/dist/canopy/v1/client.d.ts +4 -0
  19. package/dist/canopy/v1/client.js +7 -0
  20. package/dist/canopy/v1/index.d.ts +24 -23
  21. package/dist/canopy/v1/index.js +4 -4
  22. package/dist/canopy/v1/schema.d.ts +113 -109
  23. package/dist/compute/v1/client.d.ts +4 -0
  24. package/dist/compute/v1/client.js +7 -0
  25. package/dist/compute/v1/index.d.ts +174 -127
  26. package/dist/compute/v1/index.js +4 -4
  27. package/dist/compute/v1/schema.d.ts +1688 -499
  28. package/dist/dns/v1/client.d.ts +4 -0
  29. package/dist/dns/v1/client.js +7 -0
  30. package/dist/dns/v1/index.d.ts +43 -0
  31. package/dist/dns/v1/index.js +5 -0
  32. package/dist/dns/v1/schema.d.ts +887 -0
  33. package/dist/dns/v1/schema.js +5 -0
  34. package/dist/fabric/v1/client.d.ts +4 -0
  35. package/dist/fabric/v1/client.js +7 -0
  36. package/dist/fabric/v1/index.d.ts +115 -0
  37. package/dist/fabric/v1/index.js +5 -0
  38. package/dist/fabric/v1/schema.d.ts +2311 -0
  39. package/dist/fabric/v1/schema.js +5 -0
  40. package/dist/fleet/v1/client.d.ts +4 -0
  41. package/dist/fleet/v1/client.js +7 -0
  42. package/dist/fleet/v1/index.d.ts +15 -0
  43. package/dist/fleet/v1/index.js +5 -0
  44. package/dist/fleet/v1/schema.d.ts +291 -0
  45. package/dist/fleet/v1/schema.js +5 -0
  46. package/dist/iam/v1/client.d.ts +4 -0
  47. package/dist/iam/v1/client.js +7 -0
  48. package/dist/iam/v1/index.d.ts +55 -32
  49. package/dist/iam/v1/index.js +4 -4
  50. package/dist/iam/v1/schema.d.ts +521 -88
  51. package/dist/index.d.ts +14 -7
  52. package/dist/index.js +22 -5
  53. package/dist/monitoring/v1/client.d.ts +4 -0
  54. package/dist/monitoring/v1/client.js +7 -0
  55. package/dist/monitoring/v1/index.d.ts +130 -49
  56. package/dist/monitoring/v1/index.js +4 -4
  57. package/dist/monitoring/v1/schema.d.ts +2420 -527
  58. package/dist/notification/v1/client.d.ts +4 -0
  59. package/dist/notification/v1/client.js +7 -0
  60. package/dist/notification/v1/index.d.ts +77 -0
  61. package/dist/notification/v1/index.js +5 -0
  62. package/dist/notification/v1/schema.d.ts +2048 -0
  63. package/dist/notification/v1/schema.js +5 -0
  64. package/dist/storage/v1/client.d.ts +4 -0
  65. package/dist/storage/v1/client.js +7 -0
  66. package/dist/storage/v1/index.d.ts +35 -0
  67. package/dist/storage/v1/index.js +5 -0
  68. package/dist/storage/v1/schema.d.ts +751 -0
  69. package/dist/storage/v1/schema.js +5 -0
  70. package/dist/support/v1/client.d.ts +4 -0
  71. package/dist/support/v1/client.js +7 -0
  72. package/dist/support/v1/index.d.ts +51 -0
  73. package/dist/support/v1/index.js +5 -0
  74. package/dist/support/v1/schema.d.ts +1082 -0
  75. package/dist/support/v1/schema.js +5 -0
  76. package/dist/tunnel/v1/client.d.ts +4 -0
  77. package/dist/tunnel/v1/client.js +7 -0
  78. package/dist/tunnel/v1/index.d.ts +8 -7
  79. package/dist/tunnel/v1/index.js +4 -4
  80. package/dist/tunnel/v1/schema.d.ts +40 -34
  81. package/package.json +34 -10
@@ -10,16 +10,16 @@ export interface paths {
10
10
  path?: never;
11
11
  cookie?: never;
12
12
  };
13
- /** 列出备份 */
13
+ /** List backups */
14
14
  get: operations["list-backups"];
15
15
  put?: never;
16
16
  /**
17
- * 创建备份
18
- * @description 备份是云硬盘在独立存储中的一份完整副本:**源云硬盘删除后仍可恢复,且可恢复到本地区的其他可用区。**快照不具备这两项能力,它与源云硬盘位于同一存储,且源云硬盘存在快照时无法删除。
17
+ * Create a backup
18
+ * @description A backup is a complete copy of a disk held in separate storage: **it remains restorable after the source disk is deleted, and can be restored to another availability zone in the same region.** A snapshot offers neither capability, as it resides in the same storage as the source disk and prevents that disk from being deleted while it exists.
19
19
  *
20
- * 运行中云服务器上挂载的云硬盘、以及系统盘,均可创建备份。
20
+ * Disks attached to a running instance, including system disks, can be backed up.
21
21
  *
22
- * 备份耗时取决于数据量。接口返回时尚未完成,请轮询查看接口。
22
+ * The duration depends on the amount of data. The backup is not complete when this endpoint returns; poll the retrieve endpoint.
23
23
  */
24
24
  post: operations["create-backup"];
25
25
  delete?: never;
@@ -36,20 +36,20 @@ export interface paths {
36
36
  cookie?: never;
37
37
  };
38
38
  /**
39
- * 查看备份
40
- * @description 会实时查询备份的当前状态,因此比列表接口慢但更准确。轮询创建进度请使用本接口。
39
+ * Retrieve a backup
40
+ * @description Queries the current state of the backup, which makes it slower but more accurate than the list endpoint. Use it to poll creation progress.
41
41
  */
42
42
  get: operations["get-backup"];
43
43
  put?: never;
44
44
  post?: never;
45
45
  /**
46
- * 删除备份
47
- * @description 与源云硬盘无关,源云硬盘是否存在都不影响删除。
46
+ * Delete a backup
47
+ * @description Independent of the source disk: deletion succeeds whether or not that disk still exists.
48
48
  */
49
49
  delete: operations["delete-backup"];
50
50
  options?: never;
51
51
  head?: never;
52
- /** 重命名备份 */
52
+ /** Rename a backup */
53
53
  patch: operations["rename-backup"];
54
54
  trace?: never;
55
55
  };
@@ -63,10 +63,10 @@ export interface paths {
63
63
  get?: never;
64
64
  put?: never;
65
65
  /**
66
- * 由备份恢复
67
- * @description 恢复到一块**新建的**云硬盘上,源云硬盘不受影响,也不要求它仍然存在。
66
+ * Restore from a backup
67
+ * @description Restores onto a **newly created** disk. The source disk is unaffected and need not still exist.
68
68
  *
69
- * 目标硬盘类型可位于本地区的其他可用区,容量不能小于备份。恢复完成前该云硬盘不可挂载,请轮询云硬盘查看接口。
69
+ * The target disk type may belong to another availability zone of the same region, and its capacity must not be smaller than the backup. The disk cannot be attached until the restore completes; poll the disk retrieve endpoint.
70
70
  */
71
71
  post: operations["restore-backup"];
72
72
  delete?: never;
@@ -82,7 +82,10 @@ export interface paths {
82
82
  path?: never;
83
83
  cookie?: never;
84
84
  };
85
- /** 列出在售硬盘类型 */
85
+ /**
86
+ * List disk types on sale
87
+ * @description Only disk types currently on sale are listed. 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.
88
+ */
86
89
  get: operations["list-disk-types"];
87
90
  put?: never;
88
91
  post?: never;
@@ -92,6 +95,26 @@ export interface paths {
92
95
  patch?: never;
93
96
  trace?: never;
94
97
  };
98
+ "/api/v1/disk-types/{diskTypeId}": {
99
+ parameters: {
100
+ query?: never;
101
+ header?: never;
102
+ path?: never;
103
+ cookie?: never;
104
+ };
105
+ /**
106
+ * Get a disk type
107
+ * @description Retrieve capacity and performance constraints for an existing disk, including system disk types and types withdrawn from sale.
108
+ */
109
+ get: operations["get-disk-type"];
110
+ put?: never;
111
+ post?: never;
112
+ delete?: never;
113
+ options?: never;
114
+ head?: never;
115
+ patch?: never;
116
+ trace?: never;
117
+ };
95
118
  "/api/v1/images": {
96
119
  parameters: {
97
120
  query?: never;
@@ -100,8 +123,10 @@ export interface paths {
100
123
  cookie?: never;
101
124
  };
102
125
  /**
103
- * 列出在售镜像
104
- * @description min_ram_mb 超过所选机型内存的镜像无法启动,请据此过滤可选项。
126
+ * List images on sale
127
+ * @description An image whose `min_ram_mb` exceeds the memory of the selected instance type cannot boot. Filter the options accordingly.
128
+ *
129
+ * Only images currently on sale are listed. An image 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.
105
130
  */
106
131
  get: operations["list-images"];
107
132
  put?: never;
@@ -119,7 +144,10 @@ export interface paths {
119
144
  path?: never;
120
145
  cookie?: never;
121
146
  };
122
- /** 列出在售机型 */
147
+ /**
148
+ * List instance types on sale
149
+ * @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.
150
+ */
123
151
  get: operations["list-instance-types"];
124
152
  put?: never;
125
153
  post?: never;
@@ -136,7 +164,7 @@ export interface paths {
136
164
  path?: never;
137
165
  cookie?: never;
138
166
  };
139
- /** 列出可用的地区 */
167
+ /** List available regions */
140
168
  get: operations["list-regions"];
141
169
  put?: never;
142
170
  post?: never;
@@ -146,7 +174,7 @@ export interface paths {
146
174
  patch?: never;
147
175
  trace?: never;
148
176
  };
149
- "/api/v1/regions/{regionCode}/availability-zones": {
177
+ "/api/v1/regions/{regionId}/availability-zones": {
150
178
  parameters: {
151
179
  query?: never;
152
180
  header?: never;
@@ -154,8 +182,8 @@ export interface paths {
154
182
  cookie?: never;
155
183
  };
156
184
  /**
157
- * 列出一个地区的可用区
158
- * @description 云硬盘与云服务器必须位于同一可用区才能挂载,创建前请确认所选可用区。
185
+ * List the availability zones of a region
186
+ * @description A disk and an instance must reside in the same availability zone to be attached. Confirm the zone before creating either.
159
187
  */
160
188
  get: operations["list-availability-zones"];
161
189
  put?: never;
@@ -174,14 +202,16 @@ export interface paths {
174
202
  cookie?: never;
175
203
  };
176
204
  /**
177
- * 列出云硬盘
178
- * @description 同时提供 region_code 与 availability_zone 时,只返回可挂载到该位置云服务器的云硬盘。
205
+ * List disks
206
+ * @description When both `region_code` and `availability_zone` are supplied, only disks attachable to an instance at that location are returned.
179
207
  */
180
208
  get: operations["list-disks"];
181
209
  put?: never;
182
210
  /**
183
- * 创建云硬盘
184
- * @description 云硬盘创建在所选硬盘类型所属的可用区,云服务器必须位于同一可用区才能挂载。因此选定硬盘类型即确定了可用区。
211
+ * Create a disk
212
+ * @description The disk is created in the availability zone of the selected disk type, and an instance must reside in the same zone to attach it. Choosing the disk type therefore determines the zone.
213
+ *
214
+ * A disk type that has been withdrawn is rejected with `DISK_TYPE_RETIRED`, even though its identifier still resolves. Withdrawn types stop appearing in the disk type listing; disks already bought on one keep working and can still be resized.
185
215
  */
186
216
  post: operations["create-disk"];
187
217
  delete?: never;
@@ -198,22 +228,22 @@ export interface paths {
198
228
  cookie?: never;
199
229
  };
200
230
  /**
201
- * 查看云硬盘
202
- * @description 会实时查询云硬盘的当前状态,因此比列表接口慢但更准确。
231
+ * Retrieve a disk
232
+ * @description Queries the current state of the disk, which makes it slower but more accurate than the list endpoint.
203
233
  */
204
234
  get: operations["get-disk"];
205
235
  put?: never;
206
236
  post?: never;
207
237
  /**
208
- * 删除云硬盘
209
- * @description 云硬盘处于挂载状态,或仍存在基于它创建的快照时,删除会被拒绝。
238
+ * Delete a disk
239
+ * @description Deletion is rejected while the disk is attached, or while snapshots created from it still exist.
210
240
  */
211
241
  delete: operations["delete-disk"];
212
242
  options?: never;
213
243
  head?: never;
214
244
  /**
215
- * 重命名云硬盘
216
- * @description 仅可修改名称。容量请使用扩容接口,类型与可用区不可修改。
245
+ * Rename a disk
246
+ * @description Changes the name only. Use the resize endpoint for capacity; type and availability zone are immutable.
217
247
  */
218
248
  patch: operations["rename-disk"];
219
249
  trace?: never;
@@ -228,8 +258,14 @@ export interface paths {
228
258
  get?: never;
229
259
  put?: never;
230
260
  /**
231
- * 扩容
232
- * @description 容量只能增加,不支持缩容。扩容完成后需在云服务器内自行扩展文件系统。
261
+ * Resize a disk
262
+ * @description Capacity can only be increased; shrinking is not supported. Extend the file system inside the instance once the resize completes.
263
+ *
264
+ * **A data disk whose performance grows with its size has to be detached first.** The storage backend decides a volume's limit when the volume is attached and never revisits it, so growing one that is attached would give you the capacity immediately and leave the speed at the old size's figure — indefinitely, and stopping the instance does not help. Rather than take the money for performance that does not arrive, this is refused with `DISK_RESIZE_NEEDS_DETACH`; detach the disk, resize it, and attach it again.
265
+ *
266
+ * It is only refused when the two sizes really would differ in speed. A disk whose type has no QoS level, or whose performance has already reached the type's ceiling, grows online as before.
267
+ *
268
+ * **A system disk is the exception and grows online**, because a root volume cannot be detached at all. Its performance does not change with size for exactly that reason — system disk types are required to carry a level that does not scale.
233
269
  */
234
270
  post: operations["resize-disk"];
235
271
  delete?: never;
@@ -248,12 +284,12 @@ export interface paths {
248
284
  get?: never;
249
285
  put?: never;
250
286
  /**
251
- * 回滚到快照
252
- * @description 将云硬盘的内容恢复到创建该快照的时刻。**该时刻之后写入的数据全部丢失,且无法撤销。**
287
+ * Revert to a snapshot
288
+ * @description Restores the contents of the disk to the moment the snapshot was taken. **All data written after that moment is lost and cannot be recovered.**
253
289
  *
254
- * 三项限制:只能回滚到该云硬盘最新的一个快照;云硬盘必须先从云服务器上卸载;创建快照后扩容过的云硬盘不能回滚。需要回到更早的时刻,或需要保留现有云硬盘时,请改用由快照创建一块新的云硬盘。
290
+ * Three restrictions apply: only the most recent snapshot of the disk can be reverted to; the disk must be detached from its instance first; and a disk resized since the snapshot was taken cannot be reverted. To return to an earlier point in time, or to keep the existing disk, create a new disk from the snapshot instead.
255
291
  *
256
- * 接口返回时回滚尚未完成,请轮询查看接口。
292
+ * The revert is not complete when this endpoint returns; poll the retrieve endpoint.
257
293
  */
258
294
  post: operations["revert-disk"];
259
295
  delete?: never;
@@ -269,14 +305,14 @@ export interface paths {
269
305
  path?: never;
270
306
  cookie?: never;
271
307
  };
272
- /** 列出公网 IP */
308
+ /** List floating IPs */
273
309
  get: operations["list-floating-ips"];
274
310
  put?: never;
275
311
  /**
276
- * 申领公网 IP
277
- * @description 若该私有网络尚未连通外网,会一并为其接入外网。
312
+ * Allocate a floating IP
313
+ * @description If the private network is not yet connected to the internet, connectivity is established as part of this call.
278
314
  *
279
- * IPv6 不通过本接口申请。IPv6 地址由私有网络自动下发至云服务器,在私有网络上启用即可。
315
+ * IPv6 is not requested through this endpoint. IPv6 addresses are assigned to instances by the private network; enable IPv6 on that network instead.
280
316
  */
281
317
  post: operations["allocate-floating-ip"];
282
318
  delete?: never;
@@ -292,13 +328,13 @@ export interface paths {
292
328
  path?: never;
293
329
  cookie?: never;
294
330
  };
295
- /** 查看公网 IP */
331
+ /** Retrieve a floating IP */
296
332
  get: operations["get-floating-ip"];
297
333
  put?: never;
298
334
  post?: never;
299
335
  /**
300
- * 释放公网 IP
301
- * @description 地址释放后进入冷却期才会重新分配,以免仍指向它的 DNS 记录和访问白名单立即失效。因此释放后的短时间内**无法重新申领同一个地址**,请谨慎操作。
336
+ * Release a floating IP
337
+ * @description Releases the floating IP after unbinding it. Completion is reported by the returned task.
302
338
  */
303
339
  delete: operations["release-floating-ip"];
304
340
  options?: never;
@@ -315,8 +351,10 @@ export interface paths {
315
351
  };
316
352
  get?: never;
317
353
  /**
318
- * 设带宽上限
319
- * @description 出入两个方向同时限速。仅限制出方向无法防止入方向流量打满上联带宽。
354
+ * Set the bandwidth limit
355
+ * @description Limits both directions at once. Limiting egress alone does not prevent ingress traffic from saturating the uplink.
356
+ *
357
+ * While the address is bound to an instance, the ceiling has to fit that instance type's `max_bandwidth_mbps`; asking for more is refused with `INSTANCE_BANDWIDTH_CEILING`. An address bound to nothing is not checked against any type — there is none to check against — and is checked again when it is attached.
320
358
  */
321
359
  put: operations["set-floating-ip-bandwidth"];
322
360
  post?: never;
@@ -334,12 +372,12 @@ export interface paths {
334
372
  cookie?: never;
335
373
  };
336
374
  get?: never;
337
- /** 将公网 IP 绑定到网卡 */
375
+ /** Bind a floating IP to a network interface */
338
376
  put: operations["bind-floating-ip"];
339
377
  post?: never;
340
378
  /**
341
- * 解绑公网 IP
342
- * @description 地址仍归本项目持有,只是不再指向任何网卡。
379
+ * Unbind a floating IP
380
+ * @description The address remains held by the project and simply no longer points at any network interface.
343
381
  */
344
382
  delete: operations["unbind-floating-ip"];
345
383
  options?: never;
@@ -354,22 +392,15 @@ export interface paths {
354
392
  path?: never;
355
393
  cookie?: never;
356
394
  };
357
- /** 列出云服务器 */
395
+ /**
396
+ * List instances
397
+ * @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.
398
+ */
358
399
  get: operations["list-instances"];
359
400
  put?: never;
360
401
  /**
361
- * 创建云服务器
362
- * @description **必须在请求中设置密码**:不设置时请求会被拒绝,否则创建出的云服务器将无法登录。密码可由平台生成,此时仅在本次响应中返回一次。
363
- *
364
- * `count` 可一次创建多台(最多 20 台),名称自动加 `-1`、`-2` 编号,所有云服务器共用同一个密码。**响应中的 `instances` 始终是数组**,单台创建时也是。
365
- *
366
- * 批量创建按顺序逐台进行。若中途失败(例如配额不足),**已创建的云服务器会保留**,响应中的 `failure` 给出中止原因;第一台就失败时视为整次请求失败,不会创建任何云服务器。
367
- *
368
- * 镜像二选一:`image_id` 使用平台提供的镜像,`private_image_id` 使用自制镜像。两者都给或都不给都会被拒绝。
369
- *
370
- * 云服务器创建在机型所属的可用区。后续要挂载的云硬盘必须位于同一可用区。
371
- *
372
- * 接口返回时创建尚未完成(status 为 provisioning),请轮询 GET 确认结果。
402
+ * Create instances
403
+ * @description Creates a Billing order, including for metered pricing. The price must belong to the resource’s Billing Plan; applicable contract pricing is resolved by Billing. Technical capacity is checked before sellable quota is reserved. Provisioning continues automatically after payment; do not submit a new purchase after paying. Reuse the original idempotency key after an uncertain response. Exactly one of image_id, private_image_id or boot_disk_id is required, and exactly one of port_id or subnet_id. Existing ports, boot disks or floating IPs require count=1. Image boots require boot_disk; existing disks retain their own subscription. Instances, disks and public IPs keep their own subscription items on the same order.
373
404
  */
374
405
  post: operations["launch-instance"];
375
406
  delete?: never;
@@ -386,29 +417,29 @@ export interface paths {
386
417
  cookie?: never;
387
418
  };
388
419
  /**
389
- * 查看云服务器
390
- * @description 会实时查询云服务器的当前状态,因此比列表接口慢但更准确。轮询创建进度请使用本接口。
420
+ * Retrieve an instance
421
+ * @description Queries the current state of the instance, which makes it slower but more accurate than the list endpoint. Use it to poll creation progress.
391
422
  */
392
423
  get: operations["get-instance"];
393
424
  put?: never;
394
425
  post?: never;
395
426
  /**
396
- * 释放云服务器
397
- * @description 系统盘随云服务器一并删除,**基于系统盘创建的快照也会一并删除**。数据盘会被卸载并保留,其快照与备份不受影响。主网卡随云服务器一并释放。
427
+ * Release an instance
428
+ * @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
429
  *
399
- * 正在制作镜像的云服务器无法释放,请等待制作完成或先删除该镜像。
430
+ * An instance being captured as a private image cannot be released. Wait for the capture to finish, or delete that image first.
400
431
  */
401
432
  delete: operations["delete-instance"];
402
433
  options?: never;
403
434
  head?: never;
404
435
  /**
405
- * 重命名云服务器
406
- * @description 仅修改显示名称。云服务器内的主机名不变,它等于云服务器 id。
436
+ * Rename an instance
437
+ * @description Changes the display name only. The hostname inside the instance is unchanged; it equals the instance id.
407
438
  */
408
439
  patch: operations["rename-instance"];
409
440
  trace?: never;
410
441
  };
411
- "/api/v1/instances/{instanceId}/actions": {
442
+ "/api/v1/instances/{instanceId}/commands": {
412
443
  parameters: {
413
444
  query?: never;
414
445
  header?: never;
@@ -418,14 +449,26 @@ export interface paths {
418
449
  get?: never;
419
450
  put?: never;
420
451
  /**
421
- * 开机、关机、重启
422
- * @description 重启默认为软重启,由操作系统正常关闭后重新启动。
452
+ * Run a command on an instance
453
+ * @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.
454
+ *
455
+ * **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.
456
+ *
457
+ * 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`.
458
+ *
459
+ * Three conditions must hold; the instance is unreachable otherwise:
423
460
  *
424
- * 系统已无响应时软重启不会生效,此时可设置 `force` 强制重启。强制重启不等待操作系统关闭,**未落盘的数据会丢失**。`force` 仅适用于 reboot。
461
+ * - it is `running`
462
+ * - a floating IP is bound to it, since this endpoint connects over the public internet
463
+ * - its security group permits inbound TCP 22
425
464
  *
426
- * 已被平台停服的云服务器需先解除停服。
465
+ * Authentication uses the key the platform attaches to every instance at creation, so nothing has to be set up first. The instance must have applied that key at first boot, which images without a full cloud-init do not do.
466
+ *
467
+ * **Do not pass secrets in the command.** Read them from a file on the instance instead: neither the command nor its output is a confidential channel.
468
+ *
469
+ * Each stream is capped at 1 MiB. Beyond that the rest is discarded and `truncated` is true.
427
470
  */
428
- post: operations["act-on-instance"];
471
+ post: operations["run-instance-command"];
429
472
  delete?: never;
430
473
  options?: never;
431
474
  head?: never;
@@ -442,10 +485,10 @@ export interface paths {
442
485
  get?: never;
443
486
  put?: never;
444
487
  /**
445
- * 打开远程控制台
446
- * @description 在浏览器中直接操作云服务器,无需网络可达,适用于网络配置失误导致无法登录的情况。
488
+ * Open a remote console
489
+ * @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.
447
490
  *
448
- * 返回的地址一次性使用,数分钟后失效。**请勿缓存**,每次使用前重新获取。
491
+ * The returned address is single-use and expires within minutes. **Do not cache it**; request a new one before each use.
449
492
  */
450
493
  post: operations["open-instance-console"];
451
494
  delete?: never;
@@ -462,10 +505,10 @@ export interface paths {
462
505
  cookie?: never;
463
506
  };
464
507
  /**
465
- * 读取串口输出
466
- * @description 云服务器启动过程与内核输出的原始文本。无法登录或远程控制台无输出时,应首先查看本接口。其中可查看启动停止于哪一步、系统盘是否正常挂载、初始化过程是否报错。
508
+ * Read the console output
509
+ * @description The raw text produced by the instance during boot and by the kernel. Consult it first when login fails or the remote console shows no output: it reveals where boot stopped, whether the system disk was mounted, and whether initialisation reported errors.
467
510
  *
468
- * 处于错误状态或已被平台停服的云服务器同样可以读取。
511
+ * Instances in an error state, and instances suspended by the platform, can be read as well.
469
512
  */
470
513
  get: operations["get-instance-console-output"];
471
514
  put?: never;
@@ -476,6 +519,54 @@ export interface paths {
476
519
  patch?: never;
477
520
  trace?: never;
478
521
  };
522
+ "/api/v1/instances/{instanceId}/labels": {
523
+ parameters: {
524
+ query?: never;
525
+ header?: never;
526
+ path?: never;
527
+ cookie?: never;
528
+ };
529
+ get?: never;
530
+ /**
531
+ * Replace an instance's labels
532
+ * @description Records what this instance is for, as key-value pairs. Nothing on the platform reads them.
533
+ *
534
+ * **The whole set is replaced**: whatever is absent from the request is removed.
535
+ *
536
+ * Do not put credentials here. Labels are visible to platform operators.
537
+ */
538
+ put: operations["set-instance-labels"];
539
+ post?: never;
540
+ delete?: never;
541
+ options?: never;
542
+ head?: never;
543
+ patch?: never;
544
+ trace?: never;
545
+ };
546
+ "/api/v1/instances/{instanceId}/notes": {
547
+ parameters: {
548
+ query?: never;
549
+ header?: never;
550
+ path?: never;
551
+ cookie?: never;
552
+ };
553
+ get?: never;
554
+ /**
555
+ * Replace an instance's note
556
+ * @description A free-text note about this instance — what it runs, and what to be careful about before touching it.
557
+ *
558
+ * **The whole note is replaced**; send an empty string to clear it.
559
+ *
560
+ * Do not put credentials here. The note is visible to platform operators.
561
+ */
562
+ put: operations["set-instance-notes"];
563
+ post?: never;
564
+ delete?: never;
565
+ options?: never;
566
+ head?: never;
567
+ patch?: never;
568
+ trace?: never;
569
+ };
479
570
  "/api/v1/instances/{instanceId}/password": {
480
571
  parameters: {
481
572
  query?: never;
@@ -486,12 +577,12 @@ export interface paths {
486
577
  get?: never;
487
578
  put?: never;
488
579
  /**
489
- * 重置登录密码
490
- * @description 在不重启的情况下改掉 root 的密码,云服务器必须处于运行中。
580
+ * Reset the login password
581
+ * @description Changes the root password without a reboot. The instance must be running.
491
582
  *
492
- * **并非所有镜像都支持**:镜像列表中 `supports_password_reset` 为 false 的镜像做不到,此时只能通过重装系统设置新密码,而重装会清除系统盘上的全部数据。
583
+ * **Not every image supports this.** Images whose `supports_password_reset` is false cannot, and a new password can then only be set by rebuilding the instance, which erases all data on the system disk.
493
584
  *
494
- * 镜像标记为支持、但云服务器内相应组件已被卸载或停止时,本接口同样会被拒绝。
585
+ * The request is also rejected when the image is marked as supported but the corresponding component has been removed or stopped inside the instance.
495
586
  */
496
587
  post: operations["reset-instance-password"];
497
588
  delete?: never;
@@ -500,6 +591,34 @@ export interface paths {
500
591
  patch?: never;
501
592
  trace?: never;
502
593
  };
594
+ "/api/v1/instances/{instanceId}/reboot": {
595
+ parameters: {
596
+ query?: never;
597
+ header?: never;
598
+ path?: never;
599
+ cookie?: never;
600
+ };
601
+ get?: never;
602
+ put?: never;
603
+ /**
604
+ * Reboot an instance
605
+ * @description A reboot defaults to soft, in which the operating system shuts down normally before starting again.
606
+ *
607
+ * 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**.
608
+ *
609
+ * 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.
610
+ *
611
+ * An instance suspended by the platform must be unsuspended first.
612
+ *
613
+ * This endpoint returns immediately and the `status` it returns is the transient `rebooting`. Poll the instance until it settles at `running`.
614
+ */
615
+ post: operations["reboot-instance"];
616
+ delete?: never;
617
+ options?: never;
618
+ head?: never;
619
+ patch?: never;
620
+ trace?: never;
621
+ };
503
622
  "/api/v1/instances/{instanceId}/rebuild": {
504
623
  parameters: {
505
624
  query?: never;
@@ -510,8 +629,10 @@ export interface paths {
510
629
  get?: never;
511
630
  put?: never;
512
631
  /**
513
- * 重装系统
514
- * @description **系统盘数据将被清除且无法恢复。** 已挂载的数据盘不受影响。
632
+ * Rebuild an instance
633
+ * @description **All data on the system disk is erased and cannot be recovered.** Attached data disks are unaffected.
634
+ *
635
+ * 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.
515
636
  */
516
637
  post: operations["rebuild-instance"];
517
638
  delete?: never;
@@ -530,12 +651,8 @@ export interface paths {
530
651
  get?: never;
531
652
  put?: never;
532
653
  /**
533
- * 变配
534
- * @description 只能变更为同一地区、同一可用区的机型,否则已挂载的云硬盘无法随之迁移。
535
- *
536
- * 变配分两步:本接口下发后云服务器会在新规格上重新启动,状态变为 `resize_verifying`,此时**必须**调用确认或回滚接口。目标机型在确认前记在 `pending_instance_type_id` 上,`instance_type_id` 仍为当前生效并计费的机型。
537
- *
538
- * **未确认期间新旧两份规格同时占用资源。** 请在状态变为 `resize_verifying` 后尽快确认。
654
+ * Resize an instance
655
+ * @description Creates a Billing order, including for metered pricing. The price must belong to the resource’s Billing Plan; applicable contract pricing is resolved by Billing. Technical capacity is checked before sellable quota is reserved. Provisioning continues automatically after payment; do not submit a new purchase after paying. Reuse the original idempotency key after an uncertain response.
539
656
  */
540
657
  post: operations["resize-instance"];
541
658
  delete?: never;
@@ -554,8 +671,8 @@ export interface paths {
554
671
  get?: never;
555
672
  put?: never;
556
673
  /**
557
- * 确认变配
558
- * @description 释放原规格占用的资源,`pending_instance_type_id` 成为生效机型并从此按它计费。
674
+ * Confirm a resize
675
+ * @description Releases the resources held by the previous size. `pending_instance_type_id` becomes the type in effect and is billed from then on.
559
676
  */
560
677
  post: operations["confirm-instance-resize"];
561
678
  delete?: never;
@@ -574,8 +691,8 @@ export interface paths {
574
691
  get?: never;
575
692
  put?: never;
576
693
  /**
577
- * 回滚变配
578
- * @description 云服务器回到原规格,`pending_instance_type_id` 被丢弃,计费不受本次变配影响。
694
+ * Revert a resize
695
+ * @description The instance returns to its previous size, `pending_instance_type_id` is discarded, and billing is unaffected by the resize.
579
696
  */
580
697
  post: operations["revert-instance-resize"];
581
698
  delete?: never;
@@ -584,6 +701,46 @@ export interface paths {
584
701
  patch?: never;
585
702
  trace?: never;
586
703
  };
704
+ "/api/v1/instances/{instanceId}/start": {
705
+ parameters: {
706
+ query?: never;
707
+ header?: never;
708
+ path?: never;
709
+ cookie?: never;
710
+ };
711
+ get?: never;
712
+ put?: never;
713
+ /**
714
+ * Start an instance
715
+ * @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.
716
+ */
717
+ post: operations["start-instance"];
718
+ delete?: never;
719
+ options?: never;
720
+ head?: never;
721
+ patch?: never;
722
+ trace?: never;
723
+ };
724
+ "/api/v1/instances/{instanceId}/stop": {
725
+ parameters: {
726
+ query?: never;
727
+ header?: never;
728
+ path?: never;
729
+ cookie?: never;
730
+ };
731
+ get?: never;
732
+ put?: never;
733
+ /**
734
+ * Stop an instance
735
+ * @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.
736
+ */
737
+ post: operations["stop-instance"];
738
+ delete?: never;
739
+ options?: never;
740
+ head?: never;
741
+ patch?: never;
742
+ trace?: never;
743
+ };
587
744
  "/api/v1/instances/{instanceId}/disks": {
588
745
  parameters: {
589
746
  query?: never;
@@ -591,12 +748,12 @@ export interface paths {
591
748
  path?: never;
592
749
  cookie?: never;
593
750
  };
594
- /** 列出云服务器已挂载的云硬盘 */
751
+ /** List the disks attached to an instance */
595
752
  get: operations["list-instance-disks"];
596
753
  put?: never;
597
754
  /**
598
- * 挂载云硬盘
599
- * @description 云硬盘必须与云服务器位于同一地区和可用区。挂载后需在云服务器内自行分区并挂载文件系统。
755
+ * Attach a disk
756
+ * @description The disk must be in the same region and availability zone as the instance. Partition it and mount the file system inside the instance once it is attached.
600
757
  */
601
758
  post: operations["attach-disk"];
602
759
  delete?: never;
@@ -616,8 +773,8 @@ export interface paths {
616
773
  put?: never;
617
774
  post?: never;
618
775
  /**
619
- * 卸载云硬盘
620
- * @description 请先在云服务器内卸载(umount)该设备再调用本接口,正在写入的文件系统被强制卸载会损坏数据。
776
+ * Detach a disk
777
+ * @description Unmount the device inside the instance before calling this endpoint. Forcibly detaching a file system that is being written to corrupts data.
621
778
  */
622
779
  delete: operations["detach-disk"];
623
780
  options?: never;
@@ -635,8 +792,8 @@ export interface paths {
635
792
  get?: never;
636
793
  put?: never;
637
794
  /**
638
- * 为云服务器绑定公网 IP
639
- * @description 公网 IP 绑定在云服务器的主网卡上。
795
+ * Bind a floating IP to an instance
796
+ * @description Changes the public IP binding on the instance's primary network interface. The returned task tracks confirmation of the binding change.
640
797
  */
641
798
  post: operations["attach-instance-floating-ip"];
642
799
  delete?: never;
@@ -655,7 +812,10 @@ export interface paths {
655
812
  get?: never;
656
813
  put?: never;
657
814
  post?: never;
658
- /** 解绑云服务器的公网 IP */
815
+ /**
816
+ * Unbind the floating IP of an instance
817
+ * @description Changes the public IP binding on the instance's primary network interface. The returned task tracks confirmation of the binding change.
818
+ */
659
819
  delete: operations["detach-instance-floating-ip"];
660
820
  options?: never;
661
821
  head?: never;
@@ -669,10 +829,10 @@ export interface paths {
669
829
  path?: never;
670
830
  cookie?: never;
671
831
  };
672
- /** 列出云服务器的网卡 */
832
+ /** List the network interfaces of an instance */
673
833
  get: operations["list-instance-ports"];
674
834
  put?: never;
675
- /** 挂载网卡 */
835
+ /** Attach a network interface */
676
836
  post: operations["attach-port"];
677
837
  delete?: never;
678
838
  options?: never;
@@ -691,8 +851,8 @@ export interface paths {
691
851
  put?: never;
692
852
  post?: never;
693
853
  /**
694
- * 卸载网卡
695
- * @description 主网卡不可卸载,卸载后云服务器将失去网络地址。
854
+ * Detach a network interface
855
+ * @description The primary network interface cannot be detached; the instance would lose its network address.
696
856
  */
697
857
  delete: operations["detach-port"];
698
858
  options?: never;
@@ -708,12 +868,12 @@ export interface paths {
708
868
  cookie?: never;
709
869
  };
710
870
  /**
711
- * 列出本项目的操作记录
712
- * @description 记录本项目内的每一次写操作:谁、在什么时候、对什么做了什么、成功还是失败。读取操作不记录。
871
+ * List the operation log of the project
872
+ * @description Records every write operation in the project: who performed it, when, on what, and whether it succeeded. Read operations are not recorded.
713
873
  *
714
- * **平台代为执行的操作也在其中,但不显示具体执行人**,`by_platform` 为 true。例如欠费停机、违规封禁:需要知道机器何时被平台停止,但执行人属于平台内部信息。
874
+ * **Operations performed by the platform are included, but the individual operator is not disclosed** and `by_platform` is true. Suspension for non-payment and bans for abuse are examples: the time at which an instance was stopped by the platform is needed, whereas the operator is internal information.
715
875
  *
716
- * 密码一类的字段在写入时即被替换为占位符,不会出现在 `payload` 中。
876
+ * Fields such as passwords are replaced with a placeholder as the record is written and never appear in `payload`.
717
877
  */
718
878
  get: operations["list-operation-logs"];
719
879
  put?: never;
@@ -731,12 +891,12 @@ export interface paths {
731
891
  path?: never;
732
892
  cookie?: never;
733
893
  };
734
- /** 列出网卡 */
894
+ /** List network interfaces */
735
895
  get: operations["list-ports"];
736
896
  put?: never;
737
897
  /**
738
- * 创建网卡
739
- * @description 创建出的网卡尚未挂载到任何云服务器。主网卡不由本接口创建,它随云服务器一并创建。
898
+ * Create a network interface
899
+ * @description The new network interface is not attached to any instance. Primary network interfaces are not created here; they are created with the instance.
740
900
  */
741
901
  post: operations["create-port"];
742
902
  delete?: never;
@@ -756,8 +916,8 @@ export interface paths {
756
916
  put?: never;
757
917
  post?: never;
758
918
  /**
759
- * 删除网卡
760
- * @description 主网卡不可单独删除,它随云服务器一并释放。仍挂载在云服务器上的网卡也无法删除。
919
+ * Delete a network interface
920
+ * @description The primary network interface cannot be deleted on its own, as it is released with the instance. A network interface still attached to an instance cannot be deleted either.
761
921
  */
762
922
  delete: operations["delete-port"];
763
923
  options?: never;
@@ -772,23 +932,23 @@ export interface paths {
772
932
  path?: never;
773
933
  cookie?: never;
774
934
  };
775
- /** 列出自制镜像 */
935
+ /** List private images */
776
936
  get: operations["list-private-images"];
777
937
  put?: never;
778
938
  /**
779
- * 将云服务器制作为镜像
780
- * @description 依据云服务器的系统盘制作,数据盘不包含在内。制作出的镜像可用于创建云服务器或重装系统,并在源云服务器释放后继续可用。
939
+ * Capture an instance as a private image
940
+ * @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.
781
941
  *
782
- * **镜像内容取自开始制作的那一刻,此后对云服务器的改动不会包含在内。**
942
+ * **The image reflects the moment the capture started. Later changes to the instance are not included.**
783
943
  *
784
- * 制作分两个阶段,请轮询查看接口:
944
+ * The capture has two phases. Poll the retrieve endpoint:
785
945
  *
786
- * - `provisioning` 正在读取系统盘,通常数十秒。此阶段云服务器可以继续使用,但为保证一致性建议先关机。
787
- * - `uploading` 已与系统盘无关,**此时即可开机,无需等待制作完成**。该阶段耗时与系统盘容量成正比,20 GB 约需 3 分钟。
946
+ * - `provisioning` — the system disk is being read, usually for tens of seconds. The instance remains usable during this phase, although stopping it first is recommended for consistency.
947
+ * - `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.
788
948
  *
789
- * 运行中的云服务器其文件系统可能处于写入中间状态,制作出的镜像等同于一次断电后的磁盘内容。对一致性有要求时,请在开始制作前关机,并在状态变为 `uploading` 后开机。
949
+ * 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`.
790
950
  *
791
- * 制作期间该云服务器可以正常启停与使用,但无法释放。
951
+ * The instance can be started, stopped and used normally during the capture, but cannot be released.
792
952
  */
793
953
  post: operations["create-private-image"];
794
954
  delete?: never;
@@ -805,22 +965,22 @@ export interface paths {
805
965
  cookie?: never;
806
966
  };
807
967
  /**
808
- * 查看自制镜像
809
- * @description 轮询制作进度请使用本接口。status 为 error 时,failure 给出失败原因。
968
+ * Retrieve a private image
969
+ * @description Use this endpoint to poll capture progress. When `status` is `error`, `failure` states the reason.
810
970
  */
811
971
  get: operations["get-private-image"];
812
972
  put?: never;
813
973
  post?: never;
814
974
  /**
815
- * 删除自制镜像
816
- * @description 仍有云服务器由该镜像创建时,删除会被拒绝:这些云服务器需要它才能重装系统。
975
+ * Delete a private image
976
+ * @description Deletion is rejected while instances created from the image still exist, as they need it in order to be rebuilt.
817
977
  *
818
- * 制作尚未完成的镜像也可以删除,制作会被终止。
978
+ * An image whose capture has not finished can be deleted; the capture is aborted.
819
979
  */
820
980
  delete: operations["delete-private-image"];
821
981
  options?: never;
822
982
  head?: never;
823
- /** 重命名自制镜像 */
983
+ /** Rename a private image */
824
984
  patch: operations["rename-private-image"];
825
985
  trace?: never;
826
986
  };
@@ -831,12 +991,12 @@ export interface paths {
831
991
  path?: never;
832
992
  cookie?: never;
833
993
  };
834
- /** 列出私有网络 */
994
+ /** List private networks */
835
995
  get: operations["list-private-networks"];
836
996
  put?: never;
837
997
  /**
838
- * 创建私有网络
839
- * @description 同时创建一张网络、一台路由器和一个默认安全组。默认安全组拒绝全部入站流量、放行全部出站流量。
998
+ * Create a private network
999
+ * @description Creates a network, a router and a default security group in one call. The default security group denies all inbound traffic and permits all outbound traffic.
840
1000
  */
841
1001
  post: operations["create-private-network"];
842
1002
  delete?: never;
@@ -852,20 +1012,20 @@ export interface paths {
852
1012
  path?: never;
853
1013
  cookie?: never;
854
1014
  };
855
- /** 查看私有网络 */
1015
+ /** Retrieve a private network */
856
1016
  get: operations["get-private-network"];
857
1017
  put?: never;
858
1018
  post?: never;
859
1019
  /**
860
- * 释放私有网络
861
- * @description 其中仍有云服务器或网卡时,释放会被拒绝。IPv6、路由器与安全组随之一并释放。
1020
+ * Release a private network
1021
+ * @description Release is rejected while instances or network interfaces remain in the network. IPv6, the router and the security groups are released with it.
862
1022
  */
863
1023
  delete: operations["delete-private-network"];
864
1024
  options?: never;
865
1025
  head?: never;
866
1026
  /**
867
- * 重命名私有网络
868
- * @description 仅修改显示名称。网段、路由与外网网关均不可修改。
1027
+ * Rename a private network
1028
+ * @description Changes the display name only. The CIDR, the routes and the internet gateway are immutable.
869
1029
  */
870
1030
  patch: operations["rename-private-network"];
871
1031
  trace?: never;
@@ -877,19 +1037,19 @@ export interface paths {
877
1037
  path?: never;
878
1038
  cookie?: never;
879
1039
  };
880
- /** 查看私有网络的 IPv6 */
1040
+ /** Retrieve the IPv6 configuration of a private network */
881
1041
  get: operations["get-private-network-ipv6"];
882
1042
  put?: never;
883
1043
  /**
884
- * 为私有网络启用 IPv6
885
- * @description 为该私有网络分配一段 IPv6 地址。地址由私有网络自动下发至云服务器,无需也无法单独申领,也不占用公网 IPv4。
1044
+ * Enable IPv6 on a private network
1045
+ * @description Allocates an IPv6 prefix to the private network. Addresses are assigned to instances by the network itself, can be neither requested nor released individually, and consume no public IPv4 address.
886
1046
  *
887
- * 该私有网络尚未接入外网时会自动接入,无需单独操作。
1047
+ * If the private network is not yet connected to the internet, connectivity is established as part of this call.
888
1048
  */
889
1049
  post: operations["enable-private-network-ipv6"];
890
1050
  /**
891
- * 关闭私有网络的 IPv6
892
- * @description 释放的前缀不会立即重新分配。
1051
+ * Disable IPv6 on a private network
1052
+ * @description A released prefix is not re-allocated immediately.
893
1053
  */
894
1054
  delete: operations["disable-private-network-ipv6"];
895
1055
  options?: never;
@@ -904,12 +1064,12 @@ export interface paths {
904
1064
  path?: never;
905
1065
  cookie?: never;
906
1066
  };
907
- /** 列出静态路由 */
1067
+ /** List static routes */
908
1068
  get: operations["list-routes"];
909
1069
  put?: never;
910
1070
  /**
911
- * 创建静态路由
912
- * @description 以下三种会导致网络中断的写法会被拒绝:目的网段为 0.0.0.0/0(覆盖默认路由,所有公网 IP 立即失效)、目的网段为某个子网自身(覆盖直连路由)、下一跳为某个子网的网关(指回路由器自身)。
1071
+ * Create a static route
1072
+ * @description Three forms that would sever connectivity are rejected: a destination of `0.0.0.0/0`, which overrides the default route and takes every floating IP offline immediately; a destination equal to the CIDR of a subnet, which overrides its directly connected route; and a next hop equal to the gateway of a subnet, which points back at the router itself.
913
1073
  */
914
1074
  post: operations["create-route"];
915
1075
  delete?: never;
@@ -928,7 +1088,7 @@ export interface paths {
928
1088
  get?: never;
929
1089
  put?: never;
930
1090
  post?: never;
931
- /** 删除静态路由 */
1091
+ /** Delete a static route */
932
1092
  delete: operations["delete-route"];
933
1093
  options?: never;
934
1094
  head?: never;
@@ -943,12 +1103,12 @@ export interface paths {
943
1103
  cookie?: never;
944
1104
  };
945
1105
  /**
946
- * 列出子网
947
- * @description IPv6 子网也在返回结果中,ip_version 为 6。它在启用 IPv6 时自动创建,不可单独删除。
1106
+ * List subnets
1107
+ * @description IPv6 subnets are included, with `ip_version` 6. They are created when IPv6 is enabled and cannot be deleted individually.
948
1108
  */
949
1109
  get: operations["list-subnets"];
950
1110
  put?: never;
951
- /** 创建子网 */
1111
+ /** Create a subnet */
952
1112
  post: operations["create-subnet"];
953
1113
  delete?: never;
954
1114
  options?: never;
@@ -964,8 +1124,8 @@ export interface paths {
964
1124
  cookie?: never;
965
1125
  };
966
1126
  /**
967
- * 推荐下一个空闲网段
968
- * @description 返回的只是建议值,创建子网时仍会重新校验。用于避免手工计算下一个空闲网段时出错。
1127
+ * Suggest the next free CIDR
1128
+ * @description The returned value is a suggestion and is validated again when the subnet is created. It exists to avoid errors when computing the next free CIDR by hand.
969
1129
  */
970
1130
  get: operations["suggest-subnet-cidr"];
971
1131
  put?: never;
@@ -987,8 +1147,8 @@ export interface paths {
987
1147
  put?: never;
988
1148
  post?: never;
989
1149
  /**
990
- * 删除子网
991
- * @description 该子网中仍有网卡,或仍有静态路由的下一跳落在该网段内时,删除会被拒绝。
1150
+ * Delete a subnet
1151
+ * @description Deletion is rejected while network interfaces remain in the subnet, or while a static route has a next hop inside its CIDR.
992
1152
  */
993
1153
  delete: operations["delete-subnet"];
994
1154
  options?: never;
@@ -1003,12 +1163,12 @@ export interface paths {
1003
1163
  path?: never;
1004
1164
  cookie?: never;
1005
1165
  };
1006
- /** 列出安全组 */
1166
+ /** List security groups */
1007
1167
  get: operations["list-security-groups"];
1008
1168
  put?: never;
1009
1169
  /**
1010
- * 创建安全组
1011
- * @description 新建的安全组带有一条规则:放行 ICMP 需要分片(type 3 code 4)。缺少该规则会导致路径 MTU 发现失败,表现为连接建立后传输大数据包时卡住。
1170
+ * Create a security group
1171
+ * @description A new security group carries one rule, permitting ICMP fragmentation-needed messages (type 3, code 4). Without it path MTU discovery fails, which presents as connections that establish and then stall on large packets.
1012
1172
  */
1013
1173
  post: operations["create-security-group"];
1014
1174
  delete?: never;
@@ -1024,20 +1184,20 @@ export interface paths {
1024
1184
  path?: never;
1025
1185
  cookie?: never;
1026
1186
  };
1027
- /** 查看安全组 */
1187
+ /** Retrieve a security group */
1028
1188
  get: operations["get-security-group"];
1029
1189
  put?: never;
1030
1190
  post?: never;
1031
1191
  /**
1032
- * 删除安全组
1033
- * @description 默认安全组不可删除,它随私有网络一并释放。仍被网卡引用的安全组也无法删除。
1192
+ * Delete a security group
1193
+ * @description The default security group cannot be deleted, as it is released with the private network. A security group still referenced by a network interface cannot be deleted either.
1034
1194
  */
1035
1195
  delete: operations["delete-security-group"];
1036
1196
  options?: never;
1037
1197
  head?: never;
1038
1198
  /**
1039
- * 重命名安全组
1040
- * @description 仅可修改名称,规则请用规则接口。
1199
+ * Rename a security group
1200
+ * @description Changes the name only. Use the rule endpoints to change rules.
1041
1201
  */
1042
1202
  patch: operations["rename-security-group"];
1043
1203
  trace?: never;
@@ -1049,12 +1209,12 @@ export interface paths {
1049
1209
  path?: never;
1050
1210
  cookie?: never;
1051
1211
  };
1052
- /** 列出安全组规则 */
1212
+ /** List security group rules */
1053
1213
  get: operations["list-security-group-rules"];
1054
1214
  put?: never;
1055
1215
  /**
1056
- * 创建安全组规则
1057
- * @description 重复添加同一条规则会被拒绝。判重时 `0.0.0.0/0`、`::/0` 与留空视为等同。
1216
+ * Create a security group rule
1217
+ * @description Adding an identical rule twice is rejected. For that comparison `0.0.0.0/0`, `::/0` and an omitted value are treated as equivalent.
1058
1218
  */
1059
1219
  post: operations["create-security-group-rule"];
1060
1220
  delete?: never;
@@ -1073,7 +1233,7 @@ export interface paths {
1073
1233
  get?: never;
1074
1234
  put?: never;
1075
1235
  post?: never;
1076
- /** 删除安全组规则 */
1236
+ /** Delete a security group rule */
1077
1237
  delete: operations["delete-security-group-rule"];
1078
1238
  options?: never;
1079
1239
  head?: never;
@@ -1087,14 +1247,14 @@ export interface paths {
1087
1247
  path?: never;
1088
1248
  cookie?: never;
1089
1249
  };
1090
- /** 列出快照 */
1250
+ /** List snapshots */
1091
1251
  get: operations["list-snapshots"];
1092
1252
  put?: never;
1093
1253
  /**
1094
- * 创建快照
1095
- * @description 运行中云服务器上挂载的云硬盘同样可以创建快照。快照记录的是某一时刻的块设备状态,文件系统层面可能不一致,重要数据建议先在云服务器内执行 sync。
1254
+ * Create a snapshot
1255
+ * @description Disks attached to a running instance can be snapshotted. A snapshot records the state of the block device at a point in time and may be inconsistent at the file-system level, so run `sync` inside the instance first where the data matters.
1096
1256
  *
1097
- * **系统盘的快照不能用于回滚该系统盘**:回滚要求先从云服务器上卸载,而系统盘不可卸载。它可用于创建一块新的数据盘。需要保留并恢复整个系统时,请使用自制镜像;需要可跨可用区、且在云硬盘删除后仍可恢复的副本时,请使用备份。
1257
+ * **A snapshot of a system disk cannot be used to revert that system disk**: reverting requires the disk to be detached, and a system disk cannot be detached. It can be used to create a new data disk. To preserve and restore an entire system, use a private image; for a copy that crosses availability zones and survives deletion of the disk, use a backup.
1098
1258
  */
1099
1259
  post: operations["create-snapshot"];
1100
1260
  delete?: never;
@@ -1110,18 +1270,55 @@ export interface paths {
1110
1270
  path?: never;
1111
1271
  cookie?: never;
1112
1272
  };
1113
- /** 查看快照 */
1273
+ /** Retrieve a snapshot */
1114
1274
  get: operations["get-snapshot"];
1115
1275
  put?: never;
1116
1276
  post?: never;
1117
- /** 删除快照 */
1277
+ /** Delete a snapshot */
1118
1278
  delete: operations["delete-snapshot"];
1119
1279
  options?: never;
1120
1280
  head?: never;
1121
- /** 重命名快照 */
1281
+ /** Rename a snapshot */
1122
1282
  patch: operations["rename-snapshot"];
1123
1283
  trace?: never;
1124
1284
  };
1285
+ "/api/v1/tasks/{taskId}": {
1286
+ parameters: {
1287
+ query?: never;
1288
+ header?: never;
1289
+ path?: never;
1290
+ cookie?: never;
1291
+ };
1292
+ /** Get a requested action */
1293
+ get: operations["get-task"];
1294
+ put?: never;
1295
+ post?: never;
1296
+ delete?: never;
1297
+ options?: never;
1298
+ head?: never;
1299
+ patch?: never;
1300
+ trace?: never;
1301
+ };
1302
+ "/api/v1/ipv4-pools": {
1303
+ parameters: {
1304
+ query?: never;
1305
+ header?: never;
1306
+ path?: never;
1307
+ cookie?: never;
1308
+ };
1309
+ /**
1310
+ * List public IP pools
1311
+ * @description Lists the public IP pools available for new allocations in this region.
1312
+ */
1313
+ get: operations["list-ipv4-pools"];
1314
+ put?: never;
1315
+ post?: never;
1316
+ delete?: never;
1317
+ options?: never;
1318
+ head?: never;
1319
+ patch?: never;
1320
+ trace?: never;
1321
+ };
1125
1322
  }
1126
1323
  export type webhooks = Record<string, never>;
1127
1324
  export interface components {
@@ -1129,6 +1326,10 @@ export interface components {
1129
1326
  Error: {
1130
1327
  code?: string;
1131
1328
  message: string;
1329
+ /**
1330
+ * @description What a given `code` carries alongside the message. The keys depend on the code,
1331
+ * and a client that does not recognise one ignores it.
1332
+ */
1132
1333
  meta?: {
1133
1334
  [key: string]: unknown;
1134
1335
  };
@@ -1136,26 +1337,43 @@ export interface components {
1136
1337
  status: number;
1137
1338
  };
1138
1339
  BackupResource: {
1139
- /** @description 源云硬盘所在的可用区。恢复时可选择本地区的其他可用区 */
1140
- availability_zone: string;
1141
1340
  /** Format: date-time */
1142
1341
  created_at: string;
1143
1342
  /** Format: uuid */
1144
1343
  id: string;
1145
1344
  name: string;
1146
- region_code: string;
1345
+ /** Format: uuid */
1346
+ region_id: string;
1147
1347
  /**
1148
1348
  * Format: int64
1149
- * @description 创建备份时源云硬盘的容量。恢复出的云硬盘不能小于此容量
1349
+ * @description Capacity of the source disk when the backup was created. A restored disk cannot be smaller than this
1150
1350
  */
1151
1351
  size_gb: number;
1152
1352
  /**
1153
1353
  * Format: uuid
1154
- * @description 备份来源。该云硬盘删除后本备份仍然可用
1354
+ * @description The disk this backup was taken from. The backup remains usable after that disk is deleted
1155
1355
  */
1156
1356
  source_disk_id: string;
1157
1357
  /** @enum {string} */
1158
1358
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
1359
+ /** Format: uuid */
1360
+ order_id: string | null;
1361
+ /** Format: uuid */
1362
+ price_id: string | null;
1363
+ /** Format: uuid */
1364
+ subscription_item_id: string | null;
1365
+ /** @enum {string|null} */
1366
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1367
+ task: components["schemas"]["Task"] | null;
1368
+ /** Format: int64 */
1369
+ generation: number;
1370
+ /** Format: date-time */
1371
+ observed_at: string | null;
1372
+ /**
1373
+ * Format: uuid
1374
+ * @description Availability zone of the source disk. A restore may target another zone in the same region
1375
+ */
1376
+ source_availability_zone_id: string;
1159
1377
  };
1160
1378
  BackupListResponseBody: {
1161
1379
  items: components["schemas"]["BackupResource"][] | null;
@@ -1164,6 +1382,8 @@ export interface components {
1164
1382
  /** Format: uuid */
1165
1383
  disk_id: string;
1166
1384
  name: string;
1385
+ price: components["schemas"]["CatalogReference"];
1386
+ order: components["schemas"]["OrderOptions"];
1167
1387
  };
1168
1388
  RenameBackupRequestBody: {
1169
1389
  name: string;
@@ -1171,42 +1391,85 @@ export interface components {
1171
1391
  RestoreBackupRequestBody: {
1172
1392
  /**
1173
1393
  * Format: uuid
1174
- * @description 可选择与源云硬盘不同的可用区,但必须在同一地区
1394
+ * @description May differ from the availability zone of the source disk, but must be in the same region. It has to be on sale — restoring creates a new disk, so a withdrawn type is rejected here as well
1175
1395
  */
1176
1396
  disk_type_id: string;
1177
1397
  name: string;
1178
1398
  /**
1179
1399
  * Format: int64
1180
- * @description 留空时与备份等大。给出时不能小于备份
1400
+ * @description Matches the size of the backup when omitted. When given, it must not be smaller than the backup
1181
1401
  */
1182
1402
  size_gb?: number;
1403
+ price: components["schemas"]["CatalogReference"];
1404
+ order: components["schemas"]["OrderOptions"];
1183
1405
  };
1184
1406
  DiskResource: {
1185
- attached_instance_id: string | null;
1186
- /** @description 云硬盘实际所在的可用区。挂载时云服务器必须位于同一可用区 */
1187
- availability_zone: string;
1407
+ /**
1408
+ * Format: uuid
1409
+ * @description Availability zone the disk actually resides in. An instance must be in the same zone to attach it
1410
+ */
1411
+ availability_zone_id: string;
1188
1412
  /** Format: date-time */
1189
1413
  created_at: string;
1190
- /** @description 系统分配的设备名,在云服务器内看到的即为该名称 */
1191
- device: string | null;
1192
1414
  /** Format: uuid */
1193
1415
  disk_type_id: string;
1194
1416
  /** Format: uuid */
1195
1417
  id: string;
1196
- /** @description 系统盘随云服务器一并释放,不能卸载也不能单独删除 */
1197
- is_system: boolean;
1198
1418
  name: string;
1199
- region_code: string;
1419
+ /** Format: uuid */
1420
+ region_id: string;
1200
1421
  /** Format: int64 */
1201
1422
  size_gb: number;
1423
+ /**
1424
+ * Format: int64
1425
+ * @description IOPS this disk is allowed. Null when its type is not rate-limited.
1426
+ *
1427
+ * Computed from the disk's own capacity, so it grows when the disk is grown — but see the
1428
+ * note on the resize endpoint: growing a disk that is attached is refused, precisely because
1429
+ * the new figure would not take effect until it was attached again.
1430
+ */
1431
+ iops: number | null;
1432
+ /**
1433
+ * Format: int64
1434
+ * @description Throughput this disk is allowed, in bytes per second. Null when its type is not rate-limited
1435
+ */
1436
+ throughput_bytes_per_sec: number | null;
1202
1437
  /** @enum {string} */
1203
1438
  status: "provisioning" | "available" | "attaching" | "in_use" | "detaching" | "resizing" | "reverting" | "restoring" | "releasing" | "deleting" | "error";
1439
+ /** Format: uuid */
1440
+ order_id: string | null;
1441
+ /** Format: uuid */
1442
+ price_id: string | null;
1443
+ /** Format: uuid */
1444
+ subscription_item_id: string | null;
1445
+ /** @enum {string|null} */
1446
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1447
+ task: components["schemas"]["Task"] | null;
1448
+ attachment?: components["schemas"]["DiskAttachment"] | null;
1449
+ /** Format: int64 */
1450
+ generation: number;
1451
+ /** Format: date-time */
1452
+ observed_at: string | null;
1204
1453
  };
1205
1454
  DiskTypeResource: {
1206
- availability_zone_code: string;
1455
+ /** Format: uuid */
1456
+ availability_zone_id: string;
1207
1457
  /** Format: uuid */
1208
1458
  id: string;
1209
- iops_display: string;
1459
+ /**
1460
+ * Format: int64
1461
+ * @description IOPS a disk of `min_size_gb` gets. Null when this type is not rate-limited.
1462
+ *
1463
+ * Performance grows with capacity, so this and `iops_at_max_size` are the two ends of the
1464
+ * range. The exact figure for the size actually bought appears on the disk itself once it
1465
+ * exists.
1466
+ */
1467
+ iops_at_min_size: number | null;
1468
+ /**
1469
+ * Format: int64
1470
+ * @description IOPS a disk of `max_size_gb` gets. Null when this type is not rate-limited
1471
+ */
1472
+ iops_at_max_size: number | null;
1210
1473
  /** Format: int64 */
1211
1474
  max_size_gb: number;
1212
1475
  /** @enum {string} */
@@ -1214,10 +1477,38 @@ export interface components {
1214
1477
  /** Format: int64 */
1215
1478
  min_size_gb: number;
1216
1479
  name: string;
1217
- region_code: string;
1480
+ /** Format: uuid */
1481
+ region_id: string;
1218
1482
  /** Format: int64 */
1219
1483
  step_gb: number;
1220
- throughput_display: string;
1484
+ /**
1485
+ * Format: int64
1486
+ * @description Throughput a disk of `min_size_gb` gets, in **bytes per second**. Null when this type is
1487
+ * not rate-limited.
1488
+ *
1489
+ * Bytes rather than MiB so the number needs no rounding on the way out; divide by 1048576
1490
+ * for MiB/s at the point of display.
1491
+ */
1492
+ throughput_at_min_size: number | null;
1493
+ /**
1494
+ * Format: int64
1495
+ * @description Throughput a disk of `max_size_gb` gets, in bytes per second. Null when this type is not rate-limited
1496
+ */
1497
+ throughput_at_max_size: number | null;
1498
+ /** Format: uuid */
1499
+ product_id: string | null;
1500
+ /** Format: uuid */
1501
+ plan_id: string | null;
1502
+ lookup_key: string;
1503
+ name_translations: {
1504
+ [key: string]: string;
1505
+ };
1506
+ /** Format: uuid */
1507
+ snapshot_plan_id: string | null;
1508
+ /** Format: uuid */
1509
+ backup_plan_id: string | null;
1510
+ /** Format: uuid */
1511
+ private_image_plan_id: string | null;
1221
1512
  };
1222
1513
  DiskTypeListResponseBody: {
1223
1514
  items: components["schemas"]["DiskTypeResource"][] | null;
@@ -1226,6 +1517,8 @@ export interface components {
1226
1517
  architecture: string;
1227
1518
  /** Format: uuid */
1228
1519
  id: string;
1520
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
1521
+ login_username: string;
1229
1522
  /** Format: int64 */
1230
1523
  min_disk_gb: number;
1231
1524
  /** Format: int64 */
@@ -1233,20 +1526,49 @@ export interface components {
1233
1526
  name: string;
1234
1527
  os_family: string;
1235
1528
  os_version: string;
1236
- region_code: string;
1237
- /** @description false 表示由该镜像创建的云服务器只能通过重装系统设置新密码 */
1529
+ /** Format: uuid */
1530
+ region_id: string;
1531
+ /** @description False means a new password can only be set by rebuilding an instance created from this image */
1238
1532
  supports_password_reset: boolean;
1533
+ lookup_key?: string;
1239
1534
  };
1240
1535
  ImageListResponseBody: {
1241
- items: components["schemas"]["ImageResource"][] | null;
1536
+ items: components["schemas"]["ImageResource"][];
1537
+ /** Format: int64 */
1538
+ page: number;
1539
+ /** Format: int64 */
1540
+ page_size: number;
1541
+ /** Format: int64 */
1542
+ total_count?: number;
1242
1543
  };
1243
1544
  InstanceTypeResource: {
1244
- /** @description 该机型所属的可用区。云硬盘必须位于同一可用区才能挂载 */
1245
- availability_zone_code: string;
1545
+ /** Format: uuid */
1546
+ availability_zone_id: string;
1246
1547
  /** Format: uuid */
1247
1548
  id: string;
1248
- /** Format: int64 */
1549
+ /**
1550
+ * Format: int64
1551
+ * @description The most public bandwidth a machine of this type may be given, in Mbps. Asking for more
1552
+ * when creating a machine, or raising a bound address past it, is refused.
1553
+ *
1554
+ * A ceiling on what can be bought, not a speed. How fast the machine's own interfaces run is
1555
+ * `network_egress_kbps` / `network_ingress_kbps`.
1556
+ */
1249
1557
  max_bandwidth_mbps: number;
1558
+ /**
1559
+ * Format: int64
1560
+ * @description Outbound ceiling of **each** network interface, in kbps. Null when this type is not
1561
+ * rate-limited.
1562
+ *
1563
+ * Per interface rather than per machine: a machine with two interfaces has this ceiling on
1564
+ * each of them, not shared between them. `max_ports` says how many it may have.
1565
+ */
1566
+ network_egress_kbps: number | null;
1567
+ /**
1568
+ * Format: int64
1569
+ * @description Inbound ceiling of each network interface, in kbps. Null when this type is not rate-limited
1570
+ */
1571
+ network_ingress_kbps: number | null;
1250
1572
  /** Format: int64 */
1251
1573
  max_floating_ips: number;
1252
1574
  /** Format: int64 */
@@ -1254,24 +1576,43 @@ export interface components {
1254
1576
  name: string;
1255
1577
  /** Format: int64 */
1256
1578
  ram_mb: number;
1257
- region_code: string;
1579
+ /** Format: uuid */
1580
+ region_id: string;
1258
1581
  /** Format: int64 */
1259
1582
  vcpus: number;
1583
+ /** Format: uuid */
1584
+ product_id: string | null;
1585
+ /** Format: uuid */
1586
+ plan_id: string | null;
1587
+ lookup_key: string;
1588
+ name_translations: {
1589
+ [key: string]: string;
1590
+ };
1260
1591
  };
1261
1592
  InstanceTypeListResponseBody: {
1262
- items: components["schemas"]["InstanceTypeResource"][] | null;
1593
+ items: components["schemas"]["InstanceTypeResource"][];
1594
+ /** Format: int64 */
1595
+ page: number;
1596
+ /** Format: int64 */
1597
+ page_size: number;
1598
+ /** Format: int64 */
1599
+ total_count?: number;
1263
1600
  };
1264
1601
  RegionResource: {
1265
- code: string;
1266
1602
  country_code: string;
1267
1603
  name: string;
1604
+ lookup_key: string;
1605
+ /** Format: uuid */
1606
+ id: string;
1268
1607
  };
1269
1608
  RegionListResponseBody: {
1270
1609
  items: components["schemas"]["RegionResource"][] | null;
1271
1610
  };
1272
1611
  ZoneResource: {
1273
- code: string;
1274
1612
  name: string;
1613
+ lookup_key: string;
1614
+ /** Format: uuid */
1615
+ id: string;
1275
1616
  };
1276
1617
  ZoneListResponseBody: {
1277
1618
  items: components["schemas"]["ZoneResource"][] | null;
@@ -1280,16 +1621,21 @@ export interface components {
1280
1621
  items: components["schemas"]["DiskResource"][] | null;
1281
1622
  };
1282
1623
  CreateDiskRequestBody: {
1283
- /** Format: uuid */
1624
+ /**
1625
+ * Format: uuid
1626
+ * @description A disk type currently on sale. A withdrawn one is rejected even though its identifier still resolves
1627
+ */
1284
1628
  disk_type_id: string;
1285
1629
  name: string;
1286
1630
  /** Format: int64 */
1287
1631
  size_gb: number;
1288
1632
  /**
1289
1633
  * Format: uuid
1290
- * @description 从该快照恢复。提供时容量只需不小于快照本身
1634
+ * @description Restore from this snapshot. When given, the capacity need only be no smaller than the snapshot
1291
1635
  */
1292
1636
  snapshot_id?: string;
1637
+ price: components["schemas"]["CatalogReference"];
1638
+ order: components["schemas"]["OrderOptions"];
1293
1639
  };
1294
1640
  RenameDiskRequestBody: {
1295
1641
  name: string;
@@ -1297,210 +1643,327 @@ export interface components {
1297
1643
  ResizeDiskRequestBody: {
1298
1644
  /**
1299
1645
  * Format: int64
1300
- * @description 必须大于当前容量
1646
+ * @description Must be larger than the current capacity
1301
1647
  */
1302
1648
  size_gb: number;
1649
+ price: components["schemas"]["CatalogReference"];
1650
+ order: components["schemas"]["OrderOptions"];
1303
1651
  };
1304
1652
  RevertDiskRequestBody: {
1305
1653
  /**
1306
1654
  * Format: uuid
1307
- * @description 必须是该云硬盘最新的一个快照
1655
+ * @description Must be the most recent snapshot of the disk
1308
1656
  */
1309
1657
  snapshot_id: string;
1310
1658
  };
1311
1659
  FloatingIPResource: {
1312
1660
  address: string;
1313
- attached_fixed_ip: string | null;
1314
- attached_port_id: string | null;
1315
1661
  /** Format: int64 */
1316
1662
  bandwidth_mbps: number | null;
1317
1663
  /** Format: date-time */
1318
1664
  created_at: string;
1319
- /** Format: date-time */
1320
- detached_at: string | null;
1321
1665
  /** Format: uuid */
1322
1666
  id: string;
1323
- region_code: string;
1324
- /**
1325
- * @description idle 表示尚未绑定到网卡
1326
- * @enum {string}
1327
- */
1328
- status: "idle" | "bound";
1667
+ /** Format: uuid */
1668
+ region_id: string;
1669
+ /** @enum {string} */
1670
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1671
+ /** Format: uuid */
1672
+ order_id: string | null;
1673
+ /** Format: uuid */
1674
+ price_id: string | null;
1675
+ /** Format: uuid */
1676
+ subscription_item_id: string | null;
1677
+ /** @enum {string|null} */
1678
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1679
+ task: components["schemas"]["Task"] | null;
1680
+ /** Format: uuid */
1681
+ bandwidth_order_id: string | null;
1682
+ /** Format: uuid */
1683
+ bandwidth_price_id: string | null;
1684
+ /** Format: uuid */
1685
+ bandwidth_subscription_item_id: string | null;
1686
+ /** @enum {string|null} */
1687
+ bandwidth_access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1688
+ /** Format: int64 */
1689
+ generation: number;
1690
+ /** Format: date-time */
1691
+ observed_at: string | null;
1692
+ binding: components["schemas"]["IPv4Binding"] | null;
1329
1693
  };
1330
1694
  FloatingIPListResponseBody: {
1331
1695
  items: components["schemas"]["FloatingIPResource"][] | null;
1332
1696
  };
1333
1697
  AllocateFloatingIPRequestBody: {
1334
- /** @description 指定要申领的地址。留空时由平台自动分配 */
1698
+ /** @description The address to allocate. Allocated by the platform when omitted */
1335
1699
  address?: string;
1700
+ /**
1701
+ * Format: int64
1702
+ * @description The bandwidth ceiling of this address, in Mbit/s, applied to both directions.
1703
+ *
1704
+ * Required, and there is no "unlimited": an address with no ceiling runs at line rate and is
1705
+ * charged nothing for the traffic, while the address itself bills normally — so the invoice
1706
+ * looks correct and nothing anywhere reports it.
1707
+ *
1708
+ * It is billed separately from the address, per Mbit/s-hour, and appears as its own line on
1709
+ * the order. Changing it later goes through the bandwidth endpoint.
1710
+ */
1711
+ bandwidth_mbps: number;
1336
1712
  /** Format: uuid */
1337
1713
  private_network_id: string;
1714
+ /** Format: uuid */
1715
+ ipv4_pool_id: string;
1716
+ price: components["schemas"]["CatalogReference"];
1717
+ bandwidth_price: components["schemas"]["CatalogReference"];
1718
+ order: components["schemas"]["OrderOptions"];
1338
1719
  };
1339
1720
  SetBandwidthRequestBody: {
1340
1721
  /**
1341
1722
  * Format: int64
1342
- * @description 出入方向均限制为该值
1723
+ * @description Applied to both directions
1343
1724
  */
1344
1725
  mbps: number;
1726
+ price: components["schemas"]["CatalogReference"];
1727
+ order: components["schemas"]["OrderOptions"];
1345
1728
  };
1346
1729
  BindFloatingIPRequestBody: {
1347
1730
  /** Format: uuid */
1348
- port_id: string;
1731
+ port_address_id: string;
1349
1732
  };
1350
1733
  InstanceResource: {
1351
- availability_zone: string;
1734
+ /** Format: uuid */
1735
+ availability_zone_id: string;
1352
1736
  /** Format: date-time */
1353
1737
  created_at: string;
1354
- /** @description 云服务器内的主机名,等于云服务器 id */
1738
+ /** @description Hostname inside the instance; equals the instance id */
1355
1739
  hostname: string;
1356
1740
  /** Format: uuid */
1357
1741
  id: string;
1358
1742
  /**
1359
1743
  * Format: uuid
1360
- * @description 从平台提供的镜像创建时非空
1744
+ * @description Non-empty when the instance was created from a platform image
1361
1745
  */
1362
1746
  image_id: string | null;
1363
1747
  /**
1364
1748
  * Format: uuid
1365
- * @description 当前生效的机型,即当前计费依据
1749
+ * @description The instance type in effect, and the basis for billing
1366
1750
  */
1367
1751
  instance_type_id: string;
1368
- /** @description 云服务器主网卡的 IPv6 地址。私有网络启用 IPv6 后自动下发 */
1752
+ /** @description IPv6 address of the primary network interface. Assigned automatically once IPv6 is enabled on the private network */
1369
1753
  ipv6_address: string | null;
1754
+ /** @description Your own classification of this instance, as key-value pairs. Empty when never set */
1755
+ labels: {
1756
+ [key: string]: string;
1757
+ };
1758
+ /** @description The account to log in as over SSH. The password set at creation belongs to this account */
1759
+ login_username: string;
1370
1760
  name: string;
1761
+ /** @description A free-text note about this instance. Empty when never set */
1762
+ notes: string;
1371
1763
  /**
1372
1764
  * Format: uuid
1373
- * @description 非空表示存在待确认的变配。确认后该机型生效,回滚则丢弃
1374
- */
1375
- pending_instance_type_id: string | null;
1376
- /**
1377
- * Format: uuid
1378
- * @description 从自制的私有镜像创建时非空
1765
+ * @description Non-empty when the instance was created from a private image
1379
1766
  */
1380
1767
  private_image_id: string | null;
1381
- /** @description 云服务器的内网地址 */
1768
+ /** @description Private address of the instance */
1382
1769
  private_ip: string | null;
1383
- /** @description 云服务器主网卡所在的私有网络 */
1770
+ /** Format: uuid */
1384
1771
  private_network_id: string | null;
1385
- /** @description 云服务器主网卡上绑定的公网 IPv4,未绑定时为空数组 */
1772
+ /** @description Floating IPv4 addresses bound to the primary network interface; an empty array when none are bound */
1386
1773
  public_ips: string[] | null;
1387
- region_code: string;
1774
+ /** Format: uuid */
1775
+ region_id: string;
1388
1776
  /** @enum {string} */
1389
- status: "provisioning" | "running" | "stopped" | "rebooting" | "resizing" | "resize_verifying" | "error" | "deleting" | "suspended";
1390
- /** @description 云服务器主网卡所在的子网 */
1777
+ status: "pending" | "building" | "active" | "stopped" | "paused" | "suspended" | "shelved" | "shelved_offloaded" | "rescued" | "resized" | "deleting" | "deleted" | "error" | "unknown";
1778
+ /** Format: uuid */
1391
1779
  subnet_id: string | null;
1392
- /**
1393
- * Format: date-time
1394
- * @description 非空表示已被平台停服,需先解除后才能操作
1395
- */
1396
- suspended_at: string | null;
1397
1780
  /** Format: date-time */
1398
1781
  updated_at: string;
1782
+ /** @enum {string} */
1783
+ desired_state: "running" | "stopped" | "deleted";
1784
+ /** @enum {string} */
1785
+ power_state: "no_state" | "running" | "paused" | "shutdown" | "crashed" | "suspended" | "unknown";
1786
+ /** @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. */
1787
+ task_state: string;
1788
+ /** Format: int64 */
1789
+ generation: number;
1790
+ /** Format: date-time */
1791
+ observed_at: string | null;
1792
+ restrictions: components["schemas"]["InstanceRestriction"][];
1793
+ task: components["schemas"]["Task"] | null;
1794
+ /** Format: uuid */
1795
+ order_id: string | null;
1796
+ /** Format: uuid */
1797
+ price_id: string | null;
1798
+ /** Format: uuid */
1799
+ subscription_item_id: string | null;
1800
+ /** @enum {string|null} */
1801
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
1802
+ /**
1803
+ * Format: uuid
1804
+ * @description Non-empty when the instance was created from a disk you already had, instead of from an image
1805
+ */
1806
+ source_disk_id: string | null;
1399
1807
  };
1400
1808
  InstanceListResponseBody: {
1401
- items: components["schemas"]["InstanceResource"][] | null;
1809
+ items: components["schemas"]["InstanceResource"][];
1810
+ /** Format: int64 */
1811
+ page: number;
1812
+ /** Format: int64 */
1813
+ page_size: number;
1814
+ /** Format: int64 */
1815
+ total_count?: number;
1402
1816
  };
1403
1817
  LaunchInstanceRequestBody: {
1818
+ /**
1819
+ * Format: uuid
1820
+ * @description Bind a floating IP you already hold, instead of allocating a new one. It must be idle and in
1821
+ * the same region.
1822
+ *
1823
+ * Mutually exclusive with `bandwidth_mbps`: an address you already hold has its own bandwidth
1824
+ * ceiling, set when it was allocated, and changing it is a separate operation.
1825
+ *
1826
+ * Like `bandwidth_mbps`, this happens **inside the creation**: if binding fails, no instance is
1827
+ * created. Binding afterwards is still possible from the instance page, but then it is two
1828
+ * operations and a failure in between leaves an instance you cannot reach.
1829
+ *
1830
+ * Only one instance can be created when it is used — one address binds to one interface.
1831
+ */
1832
+ floating_ip_id?: string;
1404
1833
  /**
1405
1834
  * Format: int64
1406
- * @description 一次创建的台数,留空为 1。多台时名称自动编号
1835
+ * @description Number of instances to create; 1 when omitted. Names are numbered automatically for several
1836
+ * @default 1
1407
1837
  */
1408
1838
  count?: number;
1409
- /** @description 由平台生成随机密码,仅在本次响应中返回 */
1839
+ /** @description Have the platform generate a random password, returned only in this response */
1410
1840
  generate_password?: boolean;
1411
1841
  /**
1412
1842
  * Format: uuid
1413
- * @description 平台提供的镜像。与 private_image_id 二选一
1843
+ * @description Boot a disk you already have instead of installing an image. The disk must be available, unattached, and in the same availability zone as the instance type. Exactly one of this, `image_id` and `private_image_id`
1844
+ */
1845
+ boot_disk_id?: string;
1846
+ /**
1847
+ * Format: uuid
1848
+ * @description A platform image, and it must be one currently on sale. Exactly one of this, `private_image_id` and `boot_disk_id`
1414
1849
  */
1415
1850
  image_id?: string;
1416
- /** Format: uuid */
1851
+ /**
1852
+ * Format: uuid
1853
+ * @description An instance type currently on sale. A withdrawn one is rejected even though its identifier still resolves
1854
+ */
1417
1855
  instance_type_id: string;
1856
+ /** @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 */
1857
+ login_username?: string;
1418
1858
  name: string;
1419
- /** @description root 的登录密码。留空时仅使用项目的 SSH 公钥 */
1859
+ /** @description The password to set, on the login account and on root. Only the SSH public keys of the project are used when omitted */
1420
1860
  password?: string;
1421
1861
  /**
1422
1862
  * Format: uuid
1423
- * @description 使用已有网卡(可预先绑定公网 IP)。与 subnet_id 二选一;使用时只能创建一台
1863
+ * @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
1424
1864
  */
1425
1865
  port_id?: string;
1426
1866
  /**
1427
1867
  * Format: uuid
1428
- * @description 自制镜像。与 image_id 二选一
1868
+ * @description A private image. Exactly one of this, `image_id` and `boot_disk_id`
1429
1869
  */
1430
1870
  private_image_id?: string;
1431
- /**
1432
- * Format: int64
1433
- * @description 系统盘容量(GB)。留空时按镜像要求与平台下限自动选择
1434
- */
1435
- root_disk_gb?: number;
1436
- /** @description 新建主网卡时必填,至少一个;不会自动使用默认安全组。使用 port_id 时忽略——那张网卡的安全组在创建它时已经定了 */
1871
+ /** @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 */
1437
1872
  security_group_ids?: string[] | null;
1438
1873
  /**
1439
1874
  * Format: uuid
1440
- * @description 在该子网内新建主网卡。与 port_id 二选一
1875
+ * @description Create the primary network interface in this subnet. Exactly one of this and `port_id`
1441
1876
  */
1442
1877
  subnet_id?: string;
1878
+ order: components["schemas"]["OrderOptions"];
1879
+ price: components["schemas"]["CatalogReference"];
1880
+ boot_disk?: components["schemas"]["NewBootDisk"];
1881
+ floating_ip?: components["schemas"]["NewFloatingIP"];
1443
1882
  };
1444
- LaunchInstanceResponseBody: {
1445
- /** @description 非空表示只成功创建了部分云服务器,其余因该原因中止 */
1446
- failure: string | null;
1447
- /** @description 按请求顺序返回,单台创建时也是数组 */
1448
- instances: components["schemas"]["InstanceResource"][] | null;
1449
- /** @description 仅在本次响应中返回,请及时保存。批量创建时所有云服务器共用它 */
1450
- password: string;
1883
+ SetInstanceLabelsRequestBody: {
1884
+ /** @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 */
1885
+ labels: {
1886
+ [key: string]: string;
1887
+ };
1888
+ };
1889
+ SetInstanceNotesRequestBody: {
1890
+ /** @description The complete note. Send an empty string to clear it */
1891
+ notes: string;
1451
1892
  };
1452
1893
  RenameInstanceRequestBody: {
1453
1894
  name: string;
1454
1895
  };
1455
- ActOnInstanceRequestBody: {
1456
- /** @enum {string} */
1457
- action: "start" | "stop" | "reboot";
1458
- /** @description 仅适用于 reboot。强制重启不等待操作系统正常关闭,未落盘的数据会丢失,用于系统已无响应的情况 */
1896
+ RebootInstanceRequestBody: {
1897
+ /** @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 */
1459
1898
  force?: boolean;
1460
1899
  };
1900
+ RunCommandRequestBody: {
1901
+ /** @description Run by the login shell, so pipes, redirection and `&&` work. It cannot read standard input */
1902
+ command: string;
1903
+ /**
1904
+ * Format: int64
1905
+ * @description Kill the command after this long. 60 when omitted
1906
+ */
1907
+ timeout_seconds?: number;
1908
+ };
1909
+ CommandResultResponseBody: {
1910
+ /**
1911
+ * Format: int64
1912
+ * @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
1913
+ */
1914
+ exit_code: number | null;
1915
+ stderr: string;
1916
+ stdout: string;
1917
+ /** @description True when the command was still running at the timeout and was killed */
1918
+ timed_out: boolean;
1919
+ /** @description True when either stream hit the 1 MiB cap and the rest was discarded */
1920
+ truncated: boolean;
1921
+ };
1461
1922
  ConsoleResponseBody: {
1462
- /** @description 远程控制台的连接地址,一次性使用且数分钟后失效 */
1923
+ /** @description Connection address of the remote console; single-use and expires within minutes */
1463
1924
  console_url: string;
1464
1925
  };
1465
1926
  ConsoleOutputResponseBody: {
1466
- /** @description 串口输出的原始文本,行序与云服务器内一致 */
1927
+ /** @description Raw text of the console output, in the same line order as inside the instance */
1467
1928
  output: string;
1468
1929
  };
1469
1930
  ResetPasswordRequestBody: {
1470
- /** @description 由平台生成随机密码,仅在本次响应中返回 */
1931
+ /** @description Have the platform generate a random password, returned only in this response */
1471
1932
  generate_password?: boolean;
1472
- /** @description 新的 root 密码。与 generate_password 二选一 */
1933
+ /** @description New root password. Exactly one of this and `generate_password` */
1473
1934
  password?: string;
1474
1935
  };
1475
1936
  ResetPasswordResponseBody: {
1476
- /** @description 平台生成的密码,仅本次返回。自行设置密码时为空 */
1937
+ /** @description The password generated by the platform, returned only in this response. Empty when the password was supplied in the request */
1477
1938
  password: string;
1478
1939
  };
1479
1940
  RebuildInstanceRequestBody: {
1480
1941
  generate_password?: boolean;
1481
1942
  /**
1482
1943
  * Format: uuid
1483
- * @description 平台提供的镜像。与 private_image_id 二选一
1944
+ * @description A platform image, which must be on sale unless it is the one this instance already runs. Exactly one of this and `private_image_id`
1484
1945
  */
1485
1946
  image_id?: string;
1486
1947
  password?: string;
1487
1948
  /**
1488
1949
  * Format: uuid
1489
- * @description 自制镜像。与 image_id 二选一
1950
+ * @description A private image. Exactly one of this and `image_id`
1490
1951
  */
1491
1952
  private_image_id?: string;
1492
1953
  };
1493
1954
  RebuildInstanceResponseBody: {
1494
1955
  instance: components["schemas"]["InstanceResource"];
1495
- /** @description 仅在本次响应中返回,请及时保存 */
1956
+ /** @description Returned only in this response; store it immediately */
1496
1957
  password: string;
1497
1958
  };
1498
1959
  ResizeInstanceRequestBody: {
1499
1960
  /**
1500
1961
  * Format: uuid
1501
- * @description 必须与当前机型位于同一地区和可用区
1962
+ * @description Must be in the same region and availability zone as the current instance type
1502
1963
  */
1503
1964
  instance_type_id: string;
1965
+ order: components["schemas"]["OrderOptions"];
1966
+ price: components["schemas"]["CatalogReference"];
1504
1967
  };
1505
1968
  AttachDiskRequestBody: {
1506
1969
  /** Format: uuid */
@@ -1511,21 +1974,22 @@ export interface components {
1511
1974
  floating_ip_id: string;
1512
1975
  };
1513
1976
  PortResource: {
1514
- attached_instance_id: string | null;
1515
1977
  /** Format: uuid */
1516
1978
  id: string;
1517
- ipv6_address: string | null;
1518
- /** @description 主网卡随云服务器一并创建和释放,不可单独卸载 */
1519
- is_primary: boolean;
1520
1979
  mac: string | null;
1521
1980
  name: string;
1522
- private_ip: string | null;
1523
1981
  /** Format: uuid */
1524
1982
  private_network_id: string;
1525
- /** @description 绑在这张网卡上的公网 IPv4,未绑定时为空数组 */
1983
+ /** @description Floating IPv4 addresses bound to this network interface; an empty array when none are bound */
1526
1984
  public_ips: string[] | null;
1527
- /** Format: uuid */
1528
- subnet_id: string;
1985
+ addresses?: components["schemas"]["PortAddress"][];
1986
+ attachment?: components["schemas"]["PortAttachment"] | null;
1987
+ /** @enum {string} */
1988
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1989
+ /** Format: int64 */
1990
+ generation: number;
1991
+ /** Format: date-time */
1992
+ observed_at: string | null;
1529
1993
  };
1530
1994
  PortListResponseBody: {
1531
1995
  items: components["schemas"]["PortResource"][] | null;
@@ -1535,90 +1999,124 @@ export interface components {
1535
1999
  port_id: string;
1536
2000
  };
1537
2001
  OperationLogResource: {
1538
- /** @description 操作名,与接口的 operation id 一致 */
2002
+ /** @description Name of the operation; matches the operation id of the endpoint */
1539
2003
  action: string;
1540
- /** @description 发起该操作的用户。平台执行时为空 */
2004
+ /** @description The user who initiated the operation. Empty when the platform performed it */
1541
2005
  actor: string | null;
1542
- /** @description true 表示由平台代为执行 */
2006
+ /**
2007
+ * @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.
2008
+ *
2009
+ * 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.
2010
+ */
2011
+ actor_name: string | null;
2012
+ /** @description True when the operation was performed by the platform */
1543
2013
  by_platform: boolean;
1544
2014
  /** Format: date-time */
1545
2015
  created_at: string;
1546
- /** @description 失败时的简要原因 */
2016
+ /** @description Brief reason for the failure */
1547
2017
  failure: string | null;
1548
2018
  /** Format: uuid */
1549
2019
  id: string;
1550
- /** @description 该次请求的路径与查询参数。密码一类的字段已被隐去 */
2020
+ /** @description Path and query parameters of the request. Fields such as passwords are redacted */
1551
2021
  payload: {
1552
2022
  [key: string]: unknown;
1553
2023
  };
1554
- region_code: string | null;
1555
- /** @description 创建类操作为空:新资源的 id 在响应中,不在请求路径上 */
2024
+ /** Format: uuid */
2025
+ region_id: string | null;
2026
+ /** @description Empty for create operations: the id of the new resource is in the response, not in the request path */
1556
2027
  subject_id: string;
1557
2028
  subject_type: string;
1558
2029
  succeeded: boolean;
1559
2030
  };
1560
2031
  OperationLogListResponseBody: {
1561
- items: components["schemas"]["OperationLogResource"][] | null;
2032
+ items: components["schemas"]["OperationLogResource"][];
2033
+ /** Format: int64 */
2034
+ page: number;
2035
+ /** Format: int64 */
2036
+ page_size: number;
1562
2037
  /** Format: int64 */
1563
- total: number;
2038
+ total_count?: number;
1564
2039
  };
1565
2040
  CreatePortRequestBody: {
1566
2041
  name?: string;
1567
- /** @description 指定私网地址。留空时自动分配 */
1568
- private_ip?: string;
1569
- /** @description 至少一个,且必须属于同一个私有网络 */
2042
+ /** @description At least one, and all must belong to the same private network */
1570
2043
  security_group_ids: string[] | null;
1571
2044
  /** Format: uuid */
1572
2045
  subnet_id: string;
2046
+ /** @description The private address to assign. Allocated automatically when omitted */
2047
+ address?: string;
1573
2048
  };
1574
2049
  PrivateImageResource: {
1575
2050
  architecture: string;
1576
2051
  /** Format: date-time */
1577
2052
  created_at: string;
1578
- /** @description 制作失败的原因,仅在 status 为 error 时非空 */
2053
+ /** @description Reason the capture failed; non-empty only when `status` is `error` */
1579
2054
  failure: string | null;
1580
2055
  /** Format: uuid */
1581
2056
  id: string;
2057
+ /** @description The account this image lets you log in as. The password set at creation belongs to this account */
2058
+ login_username: string;
1582
2059
  /**
1583
2060
  * Format: int64
1584
- * @description 使用本镜像创建云服务器时,系统盘不能小于此容量
2061
+ * @description The system disk of an instance created from this image cannot be smaller than this
1585
2062
  */
1586
2063
  min_disk_gb: number;
1587
2064
  /**
1588
2065
  * Format: int64
1589
- * @description 使用本镜像创建云服务器时,机型内存不能小于此容量
2066
+ * @description The instance type of an instance created from this image must have at least this much memory
1590
2067
  */
1591
2068
  min_ram_mb: number;
1592
2069
  name: string;
1593
2070
  os_family: string;
1594
2071
  os_version: string;
1595
- /** @description 镜像只能用于所在地区 */
1596
- region_code: string;
2072
+ /** Format: uuid */
2073
+ region_id: string;
1597
2074
  /**
1598
2075
  * Format: int64
1599
- * @description 镜像占用的存储容量,制作完成前为 0
2076
+ * @description Storage occupied by the image; 0 until the capture completes
1600
2077
  */
1601
2078
  size_bytes: number;
1602
2079
  /**
1603
2080
  * Format: uuid
1604
- * @description 制作来源。该云服务器释放后本镜像仍然可用
2081
+ * @description The instance this image was captured from. The image remains usable after that instance is released
1605
2082
  */
1606
2083
  source_instance_id: string | null;
1607
2084
  /** @enum {string} */
1608
2085
  status: "provisioning" | "uploading" | "available" | "deleting" | "error";
1609
- /** @description false 表示由该镜像创建的云服务器只能通过重装系统设置新密码 */
2086
+ /** @description False means a new password can only be set by rebuilding an instance created from this image */
1610
2087
  supports_password_reset: boolean;
2088
+ /** Format: uuid */
2089
+ order_id: string | null;
2090
+ /** Format: uuid */
2091
+ price_id: string | null;
2092
+ /** Format: uuid */
2093
+ subscription_item_id: string | null;
2094
+ /** @enum {string|null} */
2095
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
2096
+ task: components["schemas"]["Task"] | null;
2097
+ /** Format: int64 */
2098
+ generation: number;
2099
+ /** Format: date-time */
2100
+ observed_at: string | null;
1611
2101
  };
1612
2102
  PrivateImageListResponseBody: {
1613
- items: components["schemas"]["PrivateImageResource"][] | null;
2103
+ items: components["schemas"]["PrivateImageResource"][];
2104
+ /** Format: int64 */
2105
+ page: number;
2106
+ /** Format: int64 */
2107
+ page_size: number;
2108
+ /** Format: int64 */
2109
+ total_count?: number;
1614
2110
  };
1615
2111
  CreatePrivateImageRequestBody: {
1616
2112
  /**
1617
2113
  * Format: uuid
1618
- * @description 制作依据其系统盘,数据盘不包含在内
2114
+ * @description Captured from the system disk of this instance; data disks are not included
1619
2115
  */
1620
2116
  instance_id: string;
1621
2117
  name: string;
2118
+ price: components["schemas"]["CatalogReference"];
2119
+ order: components["schemas"]["OrderOptions"];
1622
2120
  };
1623
2121
  RenamePrivateImageRequestBody: {
1624
2122
  name: string;
@@ -1631,9 +2129,10 @@ export interface components {
1631
2129
  /** Format: uuid */
1632
2130
  id: string;
1633
2131
  name: string;
1634
- region_code: string;
2132
+ /** Format: uuid */
2133
+ region_id: string;
1635
2134
  /** @enum {string} */
1636
- status: "available" | "error";
2135
+ status: "pending" | "available" | "deleting" | "error" | "unknown";
1637
2136
  /** Format: date-time */
1638
2137
  updated_at: string;
1639
2138
  };
@@ -1641,20 +2140,21 @@ export interface components {
1641
2140
  items: components["schemas"]["PrivateNetworkResource"][] | null;
1642
2141
  };
1643
2142
  CreatePrivateNetworkRequestBody: {
1644
- /** @description 必须是 RFC1918 的私有网段,掩码在 /8 到 /24 之间,例如 10.0.0.0/16 */
2143
+ /** @description Must be an RFC 1918 private CIDR with a prefix length between /8 and /24, for example `10.0.0.0/16` */
1645
2144
  cidr: string;
1646
2145
  name: string;
1647
- region_code: string;
2146
+ /** Format: uuid */
2147
+ region_id: string;
1648
2148
  };
1649
2149
  RenamePrivateNetworkRequestBody: {
1650
2150
  name: string;
1651
2151
  };
1652
2152
  IPv6ResponseBody: {
1653
- /** @description 已分配的 /64 前缀,未启用时为空 */
2153
+ /** @description The allocated /64 prefix; empty while IPv6 is disabled */
1654
2154
  cidr: string;
1655
2155
  enabled: boolean;
1656
2156
  /**
1657
- * @description 为 active 时表示 IPv6 已完全可用
2157
+ * @description `active` means IPv6 is fully available
1658
2158
  * @enum {string}
1659
2159
  */
1660
2160
  status: "pending" | "active" | "draining";
@@ -1673,9 +2173,9 @@ export interface components {
1673
2173
  };
1674
2174
  CreateRouteRequestBody: {
1675
2175
  description?: string;
1676
- /** @description 目的网段。不能为 0.0.0.0/0,也不能为某个子网自身的网段 */
2176
+ /** @description Destination CIDR. It cannot be `0.0.0.0/0`, nor the CIDR of a subnet of this network */
1677
2177
  destination: string;
1678
- /** @description 云服务器的私网地址,必须落在该私有网络的某个子网内 */
2178
+ /** @description Private address of an instance; must fall inside a subnet of this private network */
1679
2179
  nexthop: string;
1680
2180
  };
1681
2181
  SubnetResource: {
@@ -1696,12 +2196,12 @@ export interface components {
1696
2196
  items: components["schemas"]["SubnetResource"][] | null;
1697
2197
  };
1698
2198
  CreateSubnetRequestBody: {
1699
- /** @description 必须落在私有网络的网段内,且不能与已有子网重叠 */
2199
+ /** @description Must fall inside the CIDR of the private network and must not overlap an existing subnet */
1700
2200
  cidr: string;
1701
2201
  name: string;
1702
2202
  };
1703
2203
  NextFreeCidrResponseBody: {
1704
- /** @description 为空表示该私有网络内已无满足该掩码的空闲网段 */
2204
+ /** @description Empty when the private network has no free CIDR left for that prefix length */
1705
2205
  cidr: string;
1706
2206
  };
1707
2207
  SecurityGroupResource: {
@@ -1710,7 +2210,7 @@ export interface components {
1710
2210
  description: string;
1711
2211
  /** Format: uuid */
1712
2212
  id: string;
1713
- /** @description 默认安全组随私有网络一并释放,不可单独删除 */
2213
+ /** @description The default security group is released with its private network and cannot be deleted individually */
1714
2214
  is_default: boolean;
1715
2215
  name: string;
1716
2216
  /** Format: uuid */
@@ -1737,12 +2237,12 @@ export interface components {
1737
2237
  id: string;
1738
2238
  /**
1739
2239
  * Format: int64
1740
- * @description ICMP 协议下表示 code,而非端口
2240
+ * @description Denotes the ICMP code rather than a port when the protocol is ICMP
1741
2241
  */
1742
2242
  port_range_max: number | null;
1743
2243
  /**
1744
2244
  * Format: int64
1745
- * @description ICMP 协议下表示 type,而非端口
2245
+ * @description Denotes the ICMP type rather than a port when the protocol is ICMP
1746
2246
  */
1747
2247
  port_range_min: number | null;
1748
2248
  protocol: string | null;
@@ -1759,22 +2259,25 @@ export interface components {
1759
2259
  ethertype: "IPv4" | "IPv6";
1760
2260
  /**
1761
2261
  * Format: int64
1762
- * @description ICMP 协议下表示 code(0–255),而非端口
2262
+ * @description Denotes the ICMP code (0–255) rather than a port when the protocol is ICMP
1763
2263
  */
1764
2264
  port_range_max?: number | null;
1765
2265
  /**
1766
2266
  * Format: int64
1767
- * @description ICMP 协议下表示 type(0–255),而非端口
2267
+ * @description Denotes the ICMP type (0–255) rather than a port when the protocol is ICMP
1768
2268
  */
1769
2269
  port_range_min?: number | null;
1770
- /** @description 如 tcp、udp、icmp、ipv6-icmp。留空表示全部协议 */
2270
+ /** @description For example `tcp`, `udp`, `icmp` or `ipv6-icmp`. All protocols when omitted */
1771
2271
  protocol?: string;
1772
- /** @description 留空等同于 0.0.0.0/0 或 ::/0 */
2272
+ /** @description Equivalent to `0.0.0.0/0` or `::/0` when omitted */
1773
2273
  remote_ip_prefix?: string;
1774
2274
  };
1775
2275
  SnapshotResource: {
1776
- /** @description 由该快照恢复的云硬盘必须位于此可用区 */
1777
- availability_zone: string;
2276
+ /**
2277
+ * Format: uuid
2278
+ * @description A disk restored from this snapshot must reside in this availability zone
2279
+ */
2280
+ availability_zone_id: string;
1778
2281
  /** Format: date-time */
1779
2282
  created_at: string;
1780
2283
  /** Format: uuid */
@@ -1782,14 +2285,28 @@ export interface components {
1782
2285
  /** Format: uuid */
1783
2286
  id: string;
1784
2287
  name: string;
1785
- region_code: string;
2288
+ /** Format: uuid */
2289
+ region_id: string;
1786
2290
  /**
1787
2291
  * Format: int64
1788
- * @description 创建快照时源云硬盘的容量。由该快照恢复的云硬盘不能小于此容量
2292
+ * @description Capacity of the source disk when the snapshot was created. A disk restored from it cannot be smaller
1789
2293
  */
1790
2294
  size_gb: number;
1791
2295
  /** @enum {string} */
1792
2296
  status: "provisioning" | "available" | "restoring" | "deleting" | "error";
2297
+ /** Format: uuid */
2298
+ order_id: string | null;
2299
+ /** Format: uuid */
2300
+ price_id: string | null;
2301
+ /** Format: uuid */
2302
+ subscription_item_id: string | null;
2303
+ /** @enum {string|null} */
2304
+ access_state: "pending" | "enabled" | "suspended" | "reclaimed" | null;
2305
+ task: components["schemas"]["Task"] | null;
2306
+ /** Format: int64 */
2307
+ generation: number;
2308
+ /** Format: date-time */
2309
+ observed_at: string | null;
1793
2310
  };
1794
2311
  SnapshotListResponseBody: {
1795
2312
  items: components["schemas"]["SnapshotResource"][] | null;
@@ -1798,6 +2315,8 @@ export interface components {
1798
2315
  /** Format: uuid */
1799
2316
  disk_id: string;
1800
2317
  name: string;
2318
+ price: components["schemas"]["CatalogReference"];
2319
+ order: components["schemas"]["OrderOptions"];
1801
2320
  };
1802
2321
  RenameSecurityGroupRequestBody: {
1803
2322
  name: string;
@@ -1805,6 +2324,209 @@ export interface components {
1805
2324
  RenameSnapshotRequestBody: {
1806
2325
  name: string;
1807
2326
  };
2327
+ /** @description Reuse the same key for retries of the same purchase. Reusing it with a different request fails. Billing selects contract pricing, applies eligible grants and promotions, and owns payment challenges and expiry. */
2328
+ OrderOptions: {
2329
+ idempotency_key: string;
2330
+ payment_plan?: components["schemas"]["PaymentPlan"];
2331
+ expected_amount?: string;
2332
+ redemption_code?: string;
2333
+ };
2334
+ /** @description Specify exactly one of id or lookup_key. A lookup key is scoped to the product of the resource service. */
2335
+ CatalogReference: {
2336
+ /** Format: uuid */
2337
+ id?: string;
2338
+ lookup_key?: string;
2339
+ };
2340
+ /**
2341
+ * @description A billable order has been created. Read it from the billing API to find out what is
2342
+ * owed and whether payment is still required.
2343
+ *
2344
+ * Only the identifier is returned. Amounts and state are not repeated here; the order
2345
+ * itself is the single source for them.
2346
+ */
2347
+ PlacedOrder: {
2348
+ /**
2349
+ * Format: uuid
2350
+ * @description Identifies the order. Use it to read the order and, where payment is required,
2351
+ * to pay it.
2352
+ *
2353
+ * An order is created even when nothing is owed, such as a plan with no charge or one
2354
+ * covered entirely by granted credit. Such an order is already settled, and no
2355
+ * payment step applies.
2356
+ */
2357
+ order_id: string;
2358
+ };
2359
+ /** @description A system disk purchased in the same order. Required when booting from an image; mutually exclusive with boot_disk_id. */
2360
+ NewBootDisk: {
2361
+ /** Format: uuid */
2362
+ disk_type_id: string;
2363
+ /** Format: int64 */
2364
+ size_gb: number;
2365
+ price: components["schemas"]["CatalogReference"];
2366
+ /** @default true */
2367
+ delete_with_instance?: boolean;
2368
+ };
2369
+ /** @description An address and bandwidth purchased in the same order. Mutually exclusive with floating_ip_id. */
2370
+ NewFloatingIP: {
2371
+ price: components["schemas"]["CatalogReference"];
2372
+ bandwidth_price: components["schemas"]["CatalogReference"];
2373
+ /** Format: int64 */
2374
+ bandwidth_mbps: number;
2375
+ /** Format: uuid */
2376
+ ipv4_pool_id: string;
2377
+ };
2378
+ /** @description An independent restriction on use. Removing one restriction never removes another source’s restriction or changes the user’s desired power state. */
2379
+ InstanceRestriction: {
2380
+ /** Format: uuid */
2381
+ id: string;
2382
+ /** @enum {string} */
2383
+ source: "billing" | "iam" | "operator";
2384
+ source_id: string;
2385
+ reason_code: string;
2386
+ /** Format: date-time */
2387
+ created_at: string;
2388
+ };
2389
+ PowerRequest: {
2390
+ /** Format: int64 */
2391
+ expected_generation?: number;
2392
+ };
2393
+ /** @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. */
2394
+ Task: {
2395
+ /** Format: uuid */
2396
+ id: string;
2397
+ /** @description Action requested from the owning service. */
2398
+ type: string;
2399
+ /** @enum {string} */
2400
+ state: "pending" | "running" | "succeeded" | "failed" | "canceled";
2401
+ /** @description Terminal failure. Absent while work can still recover. */
2402
+ error?: components["schemas"]["Error"];
2403
+ /** Format: date-time */
2404
+ created_at: string;
2405
+ /** Format: date-time */
2406
+ started_at: string | null;
2407
+ /** Format: date-time */
2408
+ completed_at: string | null;
2409
+ };
2410
+ PortAddress: {
2411
+ /** Format: uuid */
2412
+ id: string;
2413
+ /** Format: uuid */
2414
+ subnet_id: string;
2415
+ address: string;
2416
+ is_primary: boolean;
2417
+ /** @enum {string} */
2418
+ state: "reserved" | "assigned" | "releasing" | "released" | "unknown";
2419
+ /** Format: date-time */
2420
+ assigned_at: string | null;
2421
+ /** Format: date-time */
2422
+ released_at: string | null;
2423
+ };
2424
+ DiskAttachment: {
2425
+ /** Format: uuid */
2426
+ id: string;
2427
+ /** Format: uuid */
2428
+ instance_id: string;
2429
+ /** Format: uuid */
2430
+ disk_id: string;
2431
+ /** @enum {string} */
2432
+ role: "boot" | "data";
2433
+ delete_with_instance: boolean;
2434
+ /** @enum {string} */
2435
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2436
+ /** Format: date-time */
2437
+ attached_at: string | null;
2438
+ /** Format: date-time */
2439
+ detached_at: string | null;
2440
+ /** Format: date-time */
2441
+ released_at: string | null;
2442
+ device: string | null;
2443
+ };
2444
+ DiskAttachmentList: {
2445
+ items: components["schemas"]["DiskAttachment"][];
2446
+ /** Format: int64 */
2447
+ page: number;
2448
+ /** Format: int64 */
2449
+ page_size: number;
2450
+ /** Format: int64 */
2451
+ total_count: number;
2452
+ };
2453
+ PortAttachment: {
2454
+ /** Format: uuid */
2455
+ id: string;
2456
+ /** Format: uuid */
2457
+ instance_id: string;
2458
+ /** Format: uuid */
2459
+ port_id: string;
2460
+ /** @enum {string} */
2461
+ role: "primary" | "additional";
2462
+ delete_with_instance: boolean;
2463
+ /** @enum {string} */
2464
+ state: "reserved" | "attaching" | "attached" | "detaching" | "released" | "unknown";
2465
+ /** Format: date-time */
2466
+ attached_at: string | null;
2467
+ /** Format: date-time */
2468
+ detached_at: string | null;
2469
+ /** Format: date-time */
2470
+ released_at: string | null;
2471
+ };
2472
+ PortAttachmentList: {
2473
+ items: components["schemas"]["PortAttachment"][];
2474
+ /** Format: int64 */
2475
+ page: number;
2476
+ /** Format: int64 */
2477
+ page_size: number;
2478
+ /** Format: int64 */
2479
+ total_count: number;
2480
+ };
2481
+ LaunchInstanceResponseBody: {
2482
+ order: components["schemas"]["PlacedOrder"];
2483
+ /** @description Generated login password. Null when no password was generated. Keep it before leaving this response. */
2484
+ password: string | null;
2485
+ };
2486
+ IPv4PoolResource: {
2487
+ /** Format: uuid */
2488
+ id: string;
2489
+ /** Format: uuid */
2490
+ region_id: string;
2491
+ name: string;
2492
+ lookup_key: string;
2493
+ /** Format: uuid */
2494
+ plan_id: string | null;
2495
+ /** Format: uuid */
2496
+ bandwidth_plan_id: string | null;
2497
+ };
2498
+ IPv4PoolListResponseBody: {
2499
+ items: components["schemas"]["IPv4PoolResource"][];
2500
+ /** Format: int64 */
2501
+ page: number;
2502
+ /** Format: int64 */
2503
+ page_size: number;
2504
+ /** Format: int64 */
2505
+ total_count?: number;
2506
+ };
2507
+ IPv4Binding: {
2508
+ /** Format: uuid */
2509
+ id: string;
2510
+ /** Format: uuid */
2511
+ ipv4_allocation_id: string;
2512
+ /** Format: uuid */
2513
+ port_address_id: string;
2514
+ address: string;
2515
+ fixed_ip: string;
2516
+ /** @enum {string} */
2517
+ state: "binding" | "bound" | "unbinding" | "released" | "unknown";
2518
+ /** Format: date-time */
2519
+ bound_at: string | null;
2520
+ /** Format: date-time */
2521
+ unbound_at: string | null;
2522
+ /** Format: date-time */
2523
+ released_at: string | null;
2524
+ };
2525
+ /** @description Requested funding split. This does not select a card or payment provider; complete payment through Billing. */
2526
+ PaymentPlan: {
2527
+ balance_amount: string;
2528
+ provider_amount: string;
2529
+ };
1808
2530
  };
1809
2531
  responses: never;
1810
2532
  parameters: never;
@@ -1817,7 +2539,7 @@ export interface operations {
1817
2539
  "list-backups": {
1818
2540
  parameters: {
1819
2541
  query?: {
1820
- /** @description 只返回该云硬盘的备份 */
2542
+ /** @description Return only the backups of this disk */
1821
2543
  disk_id?: string;
1822
2544
  };
1823
2545
  header?: never;
@@ -1865,7 +2587,7 @@ export interface operations {
1865
2587
  [name: string]: unknown;
1866
2588
  };
1867
2589
  content: {
1868
- "application/json": components["schemas"]["BackupResource"];
2590
+ "application/json": components["schemas"]["PlacedOrder"];
1869
2591
  };
1870
2592
  };
1871
2593
  /** @description Error */
@@ -1913,7 +2635,10 @@ export interface operations {
1913
2635
  "delete-backup": {
1914
2636
  parameters: {
1915
2637
  query?: never;
1916
- header?: never;
2638
+ header: {
2639
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
2640
+ "Idempotency-Key": string;
2641
+ };
1917
2642
  path: {
1918
2643
  backupId: string;
1919
2644
  };
@@ -1921,12 +2646,14 @@ export interface operations {
1921
2646
  };
1922
2647
  requestBody?: never;
1923
2648
  responses: {
1924
- /** @description No Content */
1925
- 204: {
2649
+ /** @description The action was accepted. Wait for the returned task to finish. */
2650
+ 202: {
1926
2651
  headers: {
1927
2652
  [name: string]: unknown;
1928
2653
  };
1929
- content?: never;
2654
+ content: {
2655
+ "application/json": components["schemas"]["Task"];
2656
+ };
1930
2657
  };
1931
2658
  /** @description Error */
1932
2659
  default: {
@@ -1942,7 +2669,10 @@ export interface operations {
1942
2669
  "rename-backup": {
1943
2670
  parameters: {
1944
2671
  query?: never;
1945
- header?: never;
2672
+ header: {
2673
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
2674
+ "Idempotency-Key": string;
2675
+ };
1946
2676
  path: {
1947
2677
  backupId: string;
1948
2678
  };
@@ -1995,7 +2725,7 @@ export interface operations {
1995
2725
  [name: string]: unknown;
1996
2726
  };
1997
2727
  content: {
1998
- "application/json": components["schemas"]["DiskResource"];
2728
+ "application/json": components["schemas"]["PlacedOrder"];
1999
2729
  };
2000
2730
  };
2001
2731
  /** @description Error */
@@ -2012,7 +2742,7 @@ export interface operations {
2012
2742
  "list-disk-types": {
2013
2743
  parameters: {
2014
2744
  query: {
2015
- region_code: string;
2745
+ region_id: string;
2016
2746
  };
2017
2747
  header?: never;
2018
2748
  path?: never;
@@ -2040,10 +2770,43 @@ export interface operations {
2040
2770
  };
2041
2771
  };
2042
2772
  };
2773
+ "get-disk-type": {
2774
+ parameters: {
2775
+ query?: never;
2776
+ header?: never;
2777
+ path: {
2778
+ diskTypeId: string;
2779
+ };
2780
+ cookie?: never;
2781
+ };
2782
+ requestBody?: never;
2783
+ responses: {
2784
+ /** @description OK */
2785
+ 200: {
2786
+ headers: {
2787
+ [name: string]: unknown;
2788
+ };
2789
+ content: {
2790
+ "application/json": components["schemas"]["DiskTypeResource"];
2791
+ };
2792
+ };
2793
+ /** @description Error */
2794
+ default: {
2795
+ headers: {
2796
+ [name: string]: unknown;
2797
+ };
2798
+ content: {
2799
+ "application/json": components["schemas"]["Error"];
2800
+ };
2801
+ };
2802
+ };
2803
+ };
2043
2804
  "list-images": {
2044
2805
  parameters: {
2045
2806
  query: {
2046
- region_code: string;
2807
+ region_id: string;
2808
+ page?: number;
2809
+ page_size?: number;
2047
2810
  };
2048
2811
  header?: never;
2049
2812
  path?: never;
@@ -2074,7 +2837,9 @@ export interface operations {
2074
2837
  "list-instance-types": {
2075
2838
  parameters: {
2076
2839
  query: {
2077
- region_code: string;
2840
+ region_id: string;
2841
+ page?: number;
2842
+ page_size?: number;
2078
2843
  };
2079
2844
  header?: never;
2080
2845
  path?: never;
@@ -2136,7 +2901,7 @@ export interface operations {
2136
2901
  query?: never;
2137
2902
  header?: never;
2138
2903
  path: {
2139
- regionCode: string;
2904
+ regionId: string;
2140
2905
  };
2141
2906
  cookie?: never;
2142
2907
  };
@@ -2165,9 +2930,9 @@ export interface operations {
2165
2930
  "list-disks": {
2166
2931
  parameters: {
2167
2932
  query?: {
2168
- region_code?: string;
2169
- /** @description 与 region_code 同时提供,用于筛选可挂载的云硬盘 */
2170
- availability_zone?: string;
2933
+ region_id?: string;
2934
+ /** @description Supplied together with `region_code` to filter attachable disks */
2935
+ availability_zone_id?: string;
2171
2936
  };
2172
2937
  header?: never;
2173
2938
  path?: never;
@@ -2214,7 +2979,34 @@ export interface operations {
2214
2979
  [name: string]: unknown;
2215
2980
  };
2216
2981
  content: {
2217
- "application/json": components["schemas"]["DiskResource"];
2982
+ "application/json": components["schemas"]["PlacedOrder"];
2983
+ };
2984
+ };
2985
+ /**
2986
+ * @description Payment required: **nothing was created.**
2987
+ *
2988
+ * Returned when `payment_method` is `online`. `meta.checkout_url` is where to send the
2989
+ * customer; `meta.order_id` is the order waiting on it.
2990
+ *
2991
+ * ## Why this is a status and not a field on a 200
2992
+ *
2993
+ * A field on a success response is something a client can forget to read, and forgetting it
2994
+ * means treating "we created nothing and are waiting for money" as "created" — which looks
2995
+ * identical from the outside until the bill does not add up. A 402 fails loudly in any
2996
+ * client that handles errors at all.
2997
+ *
2998
+ * ## What happens after they pay
2999
+ *
3000
+ * The money lands in the balance and the order is settled from it. The resource is **not**
3001
+ * created automatically: placing it again is the customer's move, because between paying
3002
+ * and coming back they may have changed their mind. The balance is theirs either way.
3003
+ */
3004
+ 402: {
3005
+ headers: {
3006
+ [name: string]: unknown;
3007
+ };
3008
+ content: {
3009
+ "application/json": components["schemas"]["Error"];
2218
3010
  };
2219
3011
  };
2220
3012
  /** @description Error */
@@ -2262,7 +3054,10 @@ export interface operations {
2262
3054
  "delete-disk": {
2263
3055
  parameters: {
2264
3056
  query?: never;
2265
- header?: never;
3057
+ header: {
3058
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3059
+ "Idempotency-Key": string;
3060
+ };
2266
3061
  path: {
2267
3062
  diskId: string;
2268
3063
  };
@@ -2270,12 +3065,14 @@ export interface operations {
2270
3065
  };
2271
3066
  requestBody?: never;
2272
3067
  responses: {
2273
- /** @description No Content */
2274
- 204: {
3068
+ /** @description The action was accepted. Wait for the returned task to finish. */
3069
+ 202: {
2275
3070
  headers: {
2276
3071
  [name: string]: unknown;
2277
3072
  };
2278
- content?: never;
3073
+ content: {
3074
+ "application/json": components["schemas"]["Task"];
3075
+ };
2279
3076
  };
2280
3077
  /** @description Error */
2281
3078
  default: {
@@ -2291,7 +3088,10 @@ export interface operations {
2291
3088
  "rename-disk": {
2292
3089
  parameters: {
2293
3090
  query?: never;
2294
- header?: never;
3091
+ header: {
3092
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3093
+ "Idempotency-Key": string;
3094
+ };
2295
3095
  path: {
2296
3096
  diskId: string;
2297
3097
  };
@@ -2344,7 +3144,7 @@ export interface operations {
2344
3144
  [name: string]: unknown;
2345
3145
  };
2346
3146
  content: {
2347
- "application/json": components["schemas"]["DiskResource"];
3147
+ "application/json": components["schemas"]["PlacedOrder"];
2348
3148
  };
2349
3149
  };
2350
3150
  /** @description Error */
@@ -2361,7 +3161,10 @@ export interface operations {
2361
3161
  "revert-disk": {
2362
3162
  parameters: {
2363
3163
  query?: never;
2364
- header?: never;
3164
+ header: {
3165
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3166
+ "Idempotency-Key": string;
3167
+ };
2365
3168
  path: {
2366
3169
  diskId: string;
2367
3170
  };
@@ -2373,13 +3176,13 @@ export interface operations {
2373
3176
  };
2374
3177
  };
2375
3178
  responses: {
2376
- /** @description OK */
2377
- 200: {
3179
+ /** @description The action was accepted. Wait for the returned task to finish. */
3180
+ 202: {
2378
3181
  headers: {
2379
3182
  [name: string]: unknown;
2380
3183
  };
2381
3184
  content: {
2382
- "application/json": components["schemas"]["DiskResource"];
3185
+ "application/json": components["schemas"]["Task"];
2383
3186
  };
2384
3187
  };
2385
3188
  /** @description Error */
@@ -2441,7 +3244,7 @@ export interface operations {
2441
3244
  [name: string]: unknown;
2442
3245
  };
2443
3246
  content: {
2444
- "application/json": components["schemas"]["FloatingIPResource"];
3247
+ "application/json": components["schemas"]["PlacedOrder"];
2445
3248
  };
2446
3249
  };
2447
3250
  /** @description Error */
@@ -2489,7 +3292,10 @@ export interface operations {
2489
3292
  "release-floating-ip": {
2490
3293
  parameters: {
2491
3294
  query?: never;
2492
- header?: never;
3295
+ header: {
3296
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3297
+ "Idempotency-Key": string;
3298
+ };
2493
3299
  path: {
2494
3300
  floatingIpId: string;
2495
3301
  };
@@ -2497,12 +3303,14 @@ export interface operations {
2497
3303
  };
2498
3304
  requestBody?: never;
2499
3305
  responses: {
2500
- /** @description No Content */
2501
- 204: {
3306
+ /** @description The release has been accepted. */
3307
+ 202: {
2502
3308
  headers: {
2503
3309
  [name: string]: unknown;
2504
3310
  };
2505
- content?: never;
3311
+ content: {
3312
+ "application/json": components["schemas"]["Task"];
3313
+ };
2506
3314
  };
2507
3315
  /** @description Error */
2508
3316
  default: {
@@ -2536,7 +3344,7 @@ export interface operations {
2536
3344
  [name: string]: unknown;
2537
3345
  };
2538
3346
  content: {
2539
- "application/json": components["schemas"]["FloatingIPResource"];
3347
+ "application/json": components["schemas"]["PlacedOrder"];
2540
3348
  };
2541
3349
  };
2542
3350
  /** @description Error */
@@ -2553,7 +3361,10 @@ export interface operations {
2553
3361
  "bind-floating-ip": {
2554
3362
  parameters: {
2555
3363
  query?: never;
2556
- header?: never;
3364
+ header: {
3365
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3366
+ "Idempotency-Key": string;
3367
+ };
2557
3368
  path: {
2558
3369
  floatingIpId: string;
2559
3370
  };
@@ -2588,7 +3399,10 @@ export interface operations {
2588
3399
  "unbind-floating-ip": {
2589
3400
  parameters: {
2590
3401
  query?: never;
2591
- header?: never;
3402
+ header: {
3403
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3404
+ "Idempotency-Key": string;
3405
+ };
2592
3406
  path: {
2593
3407
  floatingIpId: string;
2594
3408
  };
@@ -2618,7 +3432,12 @@ export interface operations {
2618
3432
  };
2619
3433
  "list-instances": {
2620
3434
  parameters: {
2621
- query?: never;
3435
+ query?: {
3436
+ /** @description Only instances carrying this label, written as `key:value` — for example `env:prod`. Both halves are matched exactly */
3437
+ label?: string;
3438
+ page?: number;
3439
+ page_size?: number;
3440
+ };
2622
3441
  header?: never;
2623
3442
  path?: never;
2624
3443
  cookie?: never;
@@ -2658,8 +3477,8 @@ export interface operations {
2658
3477
  };
2659
3478
  };
2660
3479
  responses: {
2661
- /** @description Created */
2662
- 201: {
3480
+ /** @description Accepted */
3481
+ 202: {
2663
3482
  headers: {
2664
3483
  [name: string]: unknown;
2665
3484
  };
@@ -2680,7 +3499,185 @@ export interface operations {
2680
3499
  };
2681
3500
  "get-instance": {
2682
3501
  parameters: {
2683
- query?: never;
3502
+ query?: never;
3503
+ header?: never;
3504
+ path: {
3505
+ instanceId: string;
3506
+ };
3507
+ cookie?: never;
3508
+ };
3509
+ requestBody?: never;
3510
+ responses: {
3511
+ /** @description OK */
3512
+ 200: {
3513
+ headers: {
3514
+ [name: string]: unknown;
3515
+ };
3516
+ content: {
3517
+ "application/json": components["schemas"]["InstanceResource"];
3518
+ };
3519
+ };
3520
+ /** @description Error */
3521
+ default: {
3522
+ headers: {
3523
+ [name: string]: unknown;
3524
+ };
3525
+ content: {
3526
+ "application/json": components["schemas"]["Error"];
3527
+ };
3528
+ };
3529
+ };
3530
+ };
3531
+ "delete-instance": {
3532
+ parameters: {
3533
+ query?: never;
3534
+ header: {
3535
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3536
+ "Idempotency-Key": string;
3537
+ };
3538
+ path: {
3539
+ instanceId: string;
3540
+ };
3541
+ cookie?: never;
3542
+ };
3543
+ requestBody?: never;
3544
+ responses: {
3545
+ /** @description The action was accepted. Wait for the returned task to finish. */
3546
+ 202: {
3547
+ headers: {
3548
+ [name: string]: unknown;
3549
+ };
3550
+ content: {
3551
+ "application/json": components["schemas"]["Task"];
3552
+ };
3553
+ };
3554
+ /** @description Error */
3555
+ default: {
3556
+ headers: {
3557
+ [name: string]: unknown;
3558
+ };
3559
+ content: {
3560
+ "application/json": components["schemas"]["Error"];
3561
+ };
3562
+ };
3563
+ };
3564
+ };
3565
+ "rename-instance": {
3566
+ parameters: {
3567
+ query?: never;
3568
+ header: {
3569
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3570
+ "Idempotency-Key": string;
3571
+ };
3572
+ path: {
3573
+ instanceId: string;
3574
+ };
3575
+ cookie?: never;
3576
+ };
3577
+ requestBody: {
3578
+ content: {
3579
+ "application/json": components["schemas"]["RenameInstanceRequestBody"];
3580
+ };
3581
+ };
3582
+ responses: {
3583
+ /** @description OK */
3584
+ 200: {
3585
+ headers: {
3586
+ [name: string]: unknown;
3587
+ };
3588
+ content: {
3589
+ "application/json": components["schemas"]["InstanceResource"];
3590
+ };
3591
+ };
3592
+ /** @description Error */
3593
+ default: {
3594
+ headers: {
3595
+ [name: string]: unknown;
3596
+ };
3597
+ content: {
3598
+ "application/json": components["schemas"]["Error"];
3599
+ };
3600
+ };
3601
+ };
3602
+ };
3603
+ "run-instance-command": {
3604
+ parameters: {
3605
+ query?: never;
3606
+ header: {
3607
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3608
+ "Idempotency-Key": string;
3609
+ };
3610
+ path: {
3611
+ instanceId: string;
3612
+ };
3613
+ cookie?: never;
3614
+ };
3615
+ requestBody: {
3616
+ content: {
3617
+ "application/json": components["schemas"]["RunCommandRequestBody"];
3618
+ };
3619
+ };
3620
+ responses: {
3621
+ /** @description OK */
3622
+ 200: {
3623
+ headers: {
3624
+ [name: string]: unknown;
3625
+ };
3626
+ content: {
3627
+ "application/json": components["schemas"]["CommandResultResponseBody"];
3628
+ };
3629
+ };
3630
+ /** @description Error */
3631
+ default: {
3632
+ headers: {
3633
+ [name: string]: unknown;
3634
+ };
3635
+ content: {
3636
+ "application/json": components["schemas"]["Error"];
3637
+ };
3638
+ };
3639
+ };
3640
+ };
3641
+ "open-instance-console": {
3642
+ parameters: {
3643
+ query?: never;
3644
+ header: {
3645
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3646
+ "Idempotency-Key": string;
3647
+ };
3648
+ path: {
3649
+ instanceId: string;
3650
+ };
3651
+ cookie?: never;
3652
+ };
3653
+ requestBody?: never;
3654
+ responses: {
3655
+ /** @description OK */
3656
+ 200: {
3657
+ headers: {
3658
+ [name: string]: unknown;
3659
+ };
3660
+ content: {
3661
+ "application/json": components["schemas"]["ConsoleResponseBody"];
3662
+ };
3663
+ };
3664
+ /** @description Error */
3665
+ default: {
3666
+ headers: {
3667
+ [name: string]: unknown;
3668
+ };
3669
+ content: {
3670
+ "application/json": components["schemas"]["Error"];
3671
+ };
3672
+ };
3673
+ };
3674
+ };
3675
+ "get-instance-console-output": {
3676
+ parameters: {
3677
+ query?: {
3678
+ /** @description Number of trailing lines to return; 0 returns the entire output */
3679
+ lines?: number;
3680
+ };
2684
3681
  header?: never;
2685
3682
  path: {
2686
3683
  instanceId: string;
@@ -2695,7 +3692,7 @@ export interface operations {
2695
3692
  [name: string]: unknown;
2696
3693
  };
2697
3694
  content: {
2698
- "application/json": components["schemas"]["InstanceResource"];
3695
+ "application/json": components["schemas"]["ConsoleOutputResponseBody"];
2699
3696
  };
2700
3697
  };
2701
3698
  /** @description Error */
@@ -2709,23 +3706,32 @@ export interface operations {
2709
3706
  };
2710
3707
  };
2711
3708
  };
2712
- "delete-instance": {
3709
+ "set-instance-labels": {
2713
3710
  parameters: {
2714
3711
  query?: never;
2715
- header?: never;
3712
+ header: {
3713
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3714
+ "Idempotency-Key": string;
3715
+ };
2716
3716
  path: {
2717
3717
  instanceId: string;
2718
3718
  };
2719
3719
  cookie?: never;
2720
3720
  };
2721
- requestBody?: never;
3721
+ requestBody: {
3722
+ content: {
3723
+ "application/json": components["schemas"]["SetInstanceLabelsRequestBody"];
3724
+ };
3725
+ };
2722
3726
  responses: {
2723
- /** @description No Content */
2724
- 204: {
3727
+ /** @description OK */
3728
+ 200: {
2725
3729
  headers: {
2726
3730
  [name: string]: unknown;
2727
3731
  };
2728
- content?: never;
3732
+ content: {
3733
+ "application/json": components["schemas"]["InstanceResource"];
3734
+ };
2729
3735
  };
2730
3736
  /** @description Error */
2731
3737
  default: {
@@ -2738,10 +3744,13 @@ export interface operations {
2738
3744
  };
2739
3745
  };
2740
3746
  };
2741
- "rename-instance": {
3747
+ "set-instance-notes": {
2742
3748
  parameters: {
2743
3749
  query?: never;
2744
- header?: never;
3750
+ header: {
3751
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3752
+ "Idempotency-Key": string;
3753
+ };
2745
3754
  path: {
2746
3755
  instanceId: string;
2747
3756
  };
@@ -2749,7 +3758,7 @@ export interface operations {
2749
3758
  };
2750
3759
  requestBody: {
2751
3760
  content: {
2752
- "application/json": components["schemas"]["RenameInstanceRequestBody"];
3761
+ "application/json": components["schemas"]["SetInstanceNotesRequestBody"];
2753
3762
  };
2754
3763
  };
2755
3764
  responses: {
@@ -2773,10 +3782,13 @@ export interface operations {
2773
3782
  };
2774
3783
  };
2775
3784
  };
2776
- "act-on-instance": {
3785
+ "reset-instance-password": {
2777
3786
  parameters: {
2778
3787
  query?: never;
2779
- header?: never;
3788
+ header: {
3789
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3790
+ "Idempotency-Key": string;
3791
+ };
2780
3792
  path: {
2781
3793
  instanceId: string;
2782
3794
  };
@@ -2784,7 +3796,7 @@ export interface operations {
2784
3796
  };
2785
3797
  requestBody: {
2786
3798
  content: {
2787
- "application/json": components["schemas"]["ActOnInstanceRequestBody"];
3799
+ "application/json": components["schemas"]["ResetPasswordRequestBody"];
2788
3800
  };
2789
3801
  };
2790
3802
  responses: {
@@ -2794,7 +3806,7 @@ export interface operations {
2794
3806
  [name: string]: unknown;
2795
3807
  };
2796
3808
  content: {
2797
- "application/json": components["schemas"]["InstanceResource"];
3809
+ "application/json": components["schemas"]["ResetPasswordResponseBody"];
2798
3810
  };
2799
3811
  };
2800
3812
  /** @description Error */
@@ -2808,24 +3820,31 @@ export interface operations {
2808
3820
  };
2809
3821
  };
2810
3822
  };
2811
- "open-instance-console": {
3823
+ "reboot-instance": {
2812
3824
  parameters: {
2813
3825
  query?: never;
2814
- header?: never;
3826
+ header: {
3827
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3828
+ "Idempotency-Key": string;
3829
+ };
2815
3830
  path: {
2816
3831
  instanceId: string;
2817
3832
  };
2818
3833
  cookie?: never;
2819
3834
  };
2820
- requestBody?: never;
3835
+ requestBody: {
3836
+ content: {
3837
+ "application/json": components["schemas"]["RebootInstanceRequestBody"];
3838
+ };
3839
+ };
2821
3840
  responses: {
2822
- /** @description OK */
2823
- 200: {
3841
+ /** @description The action was accepted. Wait for the returned task to finish. */
3842
+ 202: {
2824
3843
  headers: {
2825
3844
  [name: string]: unknown;
2826
3845
  };
2827
3846
  content: {
2828
- "application/json": components["schemas"]["ConsoleResponseBody"];
3847
+ "application/json": components["schemas"]["Task"];
2829
3848
  };
2830
3849
  };
2831
3850
  /** @description Error */
@@ -2839,19 +3858,23 @@ export interface operations {
2839
3858
  };
2840
3859
  };
2841
3860
  };
2842
- "get-instance-console-output": {
3861
+ "rebuild-instance": {
2843
3862
  parameters: {
2844
- query?: {
2845
- /** @description 返回末尾多少行,0 表示全部 */
2846
- lines?: number;
3863
+ query?: never;
3864
+ header: {
3865
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3866
+ "Idempotency-Key": string;
2847
3867
  };
2848
- header?: never;
2849
3868
  path: {
2850
3869
  instanceId: string;
2851
3870
  };
2852
3871
  cookie?: never;
2853
3872
  };
2854
- requestBody?: never;
3873
+ requestBody: {
3874
+ content: {
3875
+ "application/json": components["schemas"]["RebuildInstanceRequestBody"];
3876
+ };
3877
+ };
2855
3878
  responses: {
2856
3879
  /** @description OK */
2857
3880
  200: {
@@ -2859,7 +3882,7 @@ export interface operations {
2859
3882
  [name: string]: unknown;
2860
3883
  };
2861
3884
  content: {
2862
- "application/json": components["schemas"]["ConsoleOutputResponseBody"];
3885
+ "application/json": components["schemas"]["RebuildInstanceResponseBody"];
2863
3886
  };
2864
3887
  };
2865
3888
  /** @description Error */
@@ -2873,7 +3896,7 @@ export interface operations {
2873
3896
  };
2874
3897
  };
2875
3898
  };
2876
- "reset-instance-password": {
3899
+ "resize-instance": {
2877
3900
  parameters: {
2878
3901
  query?: never;
2879
3902
  header?: never;
@@ -2884,17 +3907,17 @@ export interface operations {
2884
3907
  };
2885
3908
  requestBody: {
2886
3909
  content: {
2887
- "application/json": components["schemas"]["ResetPasswordRequestBody"];
3910
+ "application/json": components["schemas"]["ResizeInstanceRequestBody"];
2888
3911
  };
2889
3912
  };
2890
3913
  responses: {
2891
- /** @description OK */
2892
- 200: {
3914
+ /** @description Accepted */
3915
+ 202: {
2893
3916
  headers: {
2894
3917
  [name: string]: unknown;
2895
3918
  };
2896
3919
  content: {
2897
- "application/json": components["schemas"]["ResetPasswordResponseBody"];
3920
+ "application/json": components["schemas"]["PlacedOrder"];
2898
3921
  };
2899
3922
  };
2900
3923
  /** @description Error */
@@ -2908,28 +3931,27 @@ export interface operations {
2908
3931
  };
2909
3932
  };
2910
3933
  };
2911
- "rebuild-instance": {
3934
+ "confirm-instance-resize": {
2912
3935
  parameters: {
2913
3936
  query?: never;
2914
- header?: never;
3937
+ header: {
3938
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3939
+ "Idempotency-Key": string;
3940
+ };
2915
3941
  path: {
2916
3942
  instanceId: string;
2917
3943
  };
2918
3944
  cookie?: never;
2919
3945
  };
2920
- requestBody: {
2921
- content: {
2922
- "application/json": components["schemas"]["RebuildInstanceRequestBody"];
2923
- };
2924
- };
3946
+ requestBody?: never;
2925
3947
  responses: {
2926
- /** @description OK */
2927
- 200: {
3948
+ /** @description The action was accepted. Wait for the returned task to finish. */
3949
+ 202: {
2928
3950
  headers: {
2929
3951
  [name: string]: unknown;
2930
3952
  };
2931
3953
  content: {
2932
- "application/json": components["schemas"]["RebuildInstanceResponseBody"];
3954
+ "application/json": components["schemas"]["Task"];
2933
3955
  };
2934
3956
  };
2935
3957
  /** @description Error */
@@ -2943,28 +3965,27 @@ export interface operations {
2943
3965
  };
2944
3966
  };
2945
3967
  };
2946
- "resize-instance": {
3968
+ "revert-instance-resize": {
2947
3969
  parameters: {
2948
3970
  query?: never;
2949
- header?: never;
3971
+ header: {
3972
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
3973
+ "Idempotency-Key": string;
3974
+ };
2950
3975
  path: {
2951
3976
  instanceId: string;
2952
3977
  };
2953
3978
  cookie?: never;
2954
3979
  };
2955
- requestBody: {
2956
- content: {
2957
- "application/json": components["schemas"]["ResizeInstanceRequestBody"];
2958
- };
2959
- };
3980
+ requestBody?: never;
2960
3981
  responses: {
2961
- /** @description OK */
2962
- 200: {
3982
+ /** @description The action was accepted. Wait for the returned task to finish. */
3983
+ 202: {
2963
3984
  headers: {
2964
3985
  [name: string]: unknown;
2965
3986
  };
2966
3987
  content: {
2967
- "application/json": components["schemas"]["InstanceResource"];
3988
+ "application/json": components["schemas"]["Task"];
2968
3989
  };
2969
3990
  };
2970
3991
  /** @description Error */
@@ -2978,24 +3999,31 @@ export interface operations {
2978
3999
  };
2979
4000
  };
2980
4001
  };
2981
- "confirm-instance-resize": {
4002
+ "start-instance": {
2982
4003
  parameters: {
2983
4004
  query?: never;
2984
- header?: never;
4005
+ header: {
4006
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4007
+ "Idempotency-Key": string;
4008
+ };
2985
4009
  path: {
2986
4010
  instanceId: string;
2987
4011
  };
2988
4012
  cookie?: never;
2989
4013
  };
2990
- requestBody?: never;
4014
+ requestBody: {
4015
+ content: {
4016
+ "application/json": components["schemas"]["PowerRequest"];
4017
+ };
4018
+ };
2991
4019
  responses: {
2992
- /** @description OK */
2993
- 200: {
4020
+ /** @description The action was accepted. Wait for the returned task to finish. */
4021
+ 202: {
2994
4022
  headers: {
2995
4023
  [name: string]: unknown;
2996
4024
  };
2997
4025
  content: {
2998
- "application/json": components["schemas"]["InstanceResource"];
4026
+ "application/json": components["schemas"]["Task"];
2999
4027
  };
3000
4028
  };
3001
4029
  /** @description Error */
@@ -3009,24 +4037,31 @@ export interface operations {
3009
4037
  };
3010
4038
  };
3011
4039
  };
3012
- "revert-instance-resize": {
4040
+ "stop-instance": {
3013
4041
  parameters: {
3014
4042
  query?: never;
3015
- header?: never;
4043
+ header: {
4044
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4045
+ "Idempotency-Key": string;
4046
+ };
3016
4047
  path: {
3017
4048
  instanceId: string;
3018
4049
  };
3019
4050
  cookie?: never;
3020
4051
  };
3021
- requestBody?: never;
4052
+ requestBody: {
4053
+ content: {
4054
+ "application/json": components["schemas"]["PowerRequest"];
4055
+ };
4056
+ };
3022
4057
  responses: {
3023
- /** @description OK */
3024
- 200: {
4058
+ /** @description The action was accepted. Wait for the returned task to finish. */
4059
+ 202: {
3025
4060
  headers: {
3026
4061
  [name: string]: unknown;
3027
4062
  };
3028
4063
  content: {
3029
- "application/json": components["schemas"]["InstanceResource"];
4064
+ "application/json": components["schemas"]["Task"];
3030
4065
  };
3031
4066
  };
3032
4067
  /** @description Error */
@@ -3042,7 +4077,10 @@ export interface operations {
3042
4077
  };
3043
4078
  "list-instance-disks": {
3044
4079
  parameters: {
3045
- query?: never;
4080
+ query?: {
4081
+ page?: number;
4082
+ page_size?: number;
4083
+ };
3046
4084
  header?: never;
3047
4085
  path: {
3048
4086
  instanceId: string;
@@ -3057,7 +4095,7 @@ export interface operations {
3057
4095
  [name: string]: unknown;
3058
4096
  };
3059
4097
  content: {
3060
- "application/json": components["schemas"]["DiskListResponseBody"];
4098
+ "application/json": components["schemas"]["DiskAttachmentList"];
3061
4099
  };
3062
4100
  };
3063
4101
  /** @description Error */
@@ -3074,7 +4112,10 @@ export interface operations {
3074
4112
  "attach-disk": {
3075
4113
  parameters: {
3076
4114
  query?: never;
3077
- header?: never;
4115
+ header: {
4116
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4117
+ "Idempotency-Key": string;
4118
+ };
3078
4119
  path: {
3079
4120
  instanceId: string;
3080
4121
  };
@@ -3086,13 +4127,13 @@ export interface operations {
3086
4127
  };
3087
4128
  };
3088
4129
  responses: {
3089
- /** @description OK */
3090
- 200: {
4130
+ /** @description The action was accepted. Wait for the returned task to finish. */
4131
+ 202: {
3091
4132
  headers: {
3092
4133
  [name: string]: unknown;
3093
4134
  };
3094
4135
  content: {
3095
- "application/json": components["schemas"]["DiskResource"];
4136
+ "application/json": components["schemas"]["Task"];
3096
4137
  };
3097
4138
  };
3098
4139
  /** @description Error */
@@ -3109,7 +4150,10 @@ export interface operations {
3109
4150
  "detach-disk": {
3110
4151
  parameters: {
3111
4152
  query?: never;
3112
- header?: never;
4153
+ header: {
4154
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4155
+ "Idempotency-Key": string;
4156
+ };
3113
4157
  path: {
3114
4158
  instanceId: string;
3115
4159
  diskId: string;
@@ -3118,13 +4162,13 @@ export interface operations {
3118
4162
  };
3119
4163
  requestBody?: never;
3120
4164
  responses: {
3121
- /** @description OK */
3122
- 200: {
4165
+ /** @description The action was accepted. Wait for the returned task to finish. */
4166
+ 202: {
3123
4167
  headers: {
3124
4168
  [name: string]: unknown;
3125
4169
  };
3126
4170
  content: {
3127
- "application/json": components["schemas"]["DiskResource"];
4171
+ "application/json": components["schemas"]["Task"];
3128
4172
  };
3129
4173
  };
3130
4174
  /** @description Error */
@@ -3141,7 +4185,10 @@ export interface operations {
3141
4185
  "attach-instance-floating-ip": {
3142
4186
  parameters: {
3143
4187
  query?: never;
3144
- header?: never;
4188
+ header: {
4189
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4190
+ "Idempotency-Key": string;
4191
+ };
3145
4192
  path: {
3146
4193
  instanceId: string;
3147
4194
  };
@@ -3153,13 +4200,13 @@ export interface operations {
3153
4200
  };
3154
4201
  };
3155
4202
  responses: {
3156
- /** @description OK */
3157
- 200: {
4203
+ /** @description Accepted */
4204
+ 202: {
3158
4205
  headers: {
3159
4206
  [name: string]: unknown;
3160
4207
  };
3161
4208
  content: {
3162
- "application/json": components["schemas"]["FloatingIPResource"];
4209
+ "application/json": components["schemas"]["Task"];
3163
4210
  };
3164
4211
  };
3165
4212
  /** @description Error */
@@ -3176,7 +4223,10 @@ export interface operations {
3176
4223
  "detach-instance-floating-ip": {
3177
4224
  parameters: {
3178
4225
  query?: never;
3179
- header?: never;
4226
+ header: {
4227
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4228
+ "Idempotency-Key": string;
4229
+ };
3180
4230
  path: {
3181
4231
  instanceId: string;
3182
4232
  floatingIpId: string;
@@ -3185,13 +4235,13 @@ export interface operations {
3185
4235
  };
3186
4236
  requestBody?: never;
3187
4237
  responses: {
3188
- /** @description OK */
3189
- 200: {
4238
+ /** @description Accepted */
4239
+ 202: {
3190
4240
  headers: {
3191
4241
  [name: string]: unknown;
3192
4242
  };
3193
4243
  content: {
3194
- "application/json": components["schemas"]["FloatingIPResource"];
4244
+ "application/json": components["schemas"]["Task"];
3195
4245
  };
3196
4246
  };
3197
4247
  /** @description Error */
@@ -3207,7 +4257,10 @@ export interface operations {
3207
4257
  };
3208
4258
  "list-instance-ports": {
3209
4259
  parameters: {
3210
- query?: never;
4260
+ query?: {
4261
+ page?: number;
4262
+ page_size?: number;
4263
+ };
3211
4264
  header?: never;
3212
4265
  path: {
3213
4266
  instanceId: string;
@@ -3222,7 +4275,7 @@ export interface operations {
3222
4275
  [name: string]: unknown;
3223
4276
  };
3224
4277
  content: {
3225
- "application/json": components["schemas"]["PortListResponseBody"];
4278
+ "application/json": components["schemas"]["PortAttachmentList"];
3226
4279
  };
3227
4280
  };
3228
4281
  /** @description Error */
@@ -3239,7 +4292,10 @@ export interface operations {
3239
4292
  "attach-port": {
3240
4293
  parameters: {
3241
4294
  query?: never;
3242
- header?: never;
4295
+ header: {
4296
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4297
+ "Idempotency-Key": string;
4298
+ };
3243
4299
  path: {
3244
4300
  instanceId: string;
3245
4301
  };
@@ -3251,13 +4307,13 @@ export interface operations {
3251
4307
  };
3252
4308
  };
3253
4309
  responses: {
3254
- /** @description OK */
3255
- 200: {
4310
+ /** @description The action was accepted. Wait for the returned task to finish. */
4311
+ 202: {
3256
4312
  headers: {
3257
4313
  [name: string]: unknown;
3258
4314
  };
3259
4315
  content: {
3260
- "application/json": components["schemas"]["PortResource"];
4316
+ "application/json": components["schemas"]["Task"];
3261
4317
  };
3262
4318
  };
3263
4319
  /** @description Error */
@@ -3274,7 +4330,10 @@ export interface operations {
3274
4330
  "detach-port": {
3275
4331
  parameters: {
3276
4332
  query?: never;
3277
- header?: never;
4333
+ header: {
4334
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4335
+ "Idempotency-Key": string;
4336
+ };
3278
4337
  path: {
3279
4338
  instanceId: string;
3280
4339
  portId: string;
@@ -3283,13 +4342,13 @@ export interface operations {
3283
4342
  };
3284
4343
  requestBody?: never;
3285
4344
  responses: {
3286
- /** @description OK */
3287
- 200: {
4345
+ /** @description The action was accepted. Wait for the returned task to finish. */
4346
+ 202: {
3288
4347
  headers: {
3289
4348
  [name: string]: unknown;
3290
4349
  };
3291
4350
  content: {
3292
- "application/json": components["schemas"]["PortResource"];
4351
+ "application/json": components["schemas"]["Task"];
3293
4352
  };
3294
4353
  };
3295
4354
  /** @description Error */
@@ -3306,10 +4365,10 @@ export interface operations {
3306
4365
  "list-operation-logs": {
3307
4366
  parameters: {
3308
4367
  query?: {
3309
- /** @description 只看某一种操作,取值与接口的 operation id 一致 */
4368
+ /** @description Return a single kind of operation; the value matches the operation id of the endpoint */
3310
4369
  action?: string;
3311
- limit?: number;
3312
- offset?: number;
4370
+ page?: number;
4371
+ page_size?: number;
3313
4372
  };
3314
4373
  header?: never;
3315
4374
  path?: never;
@@ -3369,7 +4428,10 @@ export interface operations {
3369
4428
  "create-port": {
3370
4429
  parameters: {
3371
4430
  query?: never;
3372
- header?: never;
4431
+ header: {
4432
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4433
+ "Idempotency-Key": string;
4434
+ };
3373
4435
  path?: never;
3374
4436
  cookie?: never;
3375
4437
  };
@@ -3402,7 +4464,10 @@ export interface operations {
3402
4464
  "delete-port": {
3403
4465
  parameters: {
3404
4466
  query?: never;
3405
- header?: never;
4467
+ header: {
4468
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4469
+ "Idempotency-Key": string;
4470
+ };
3406
4471
  path: {
3407
4472
  portId: string;
3408
4473
  };
@@ -3431,8 +4496,10 @@ export interface operations {
3431
4496
  "list-private-images": {
3432
4497
  parameters: {
3433
4498
  query?: {
3434
- /** @description 只返回该地区的镜像。镜像只能用于所在地区 */
3435
- region_code?: string;
4499
+ /** @description Return only the images of this region. An image can only be used in the region that holds it */
4500
+ region_id?: string;
4501
+ page?: number;
4502
+ page_size?: number;
3436
4503
  };
3437
4504
  header?: never;
3438
4505
  path?: never;
@@ -3479,7 +4546,7 @@ export interface operations {
3479
4546
  [name: string]: unknown;
3480
4547
  };
3481
4548
  content: {
3482
- "application/json": components["schemas"]["PrivateImageResource"];
4549
+ "application/json": components["schemas"]["PlacedOrder"];
3483
4550
  };
3484
4551
  };
3485
4552
  /** @description Error */
@@ -3527,7 +4594,10 @@ export interface operations {
3527
4594
  "delete-private-image": {
3528
4595
  parameters: {
3529
4596
  query?: never;
3530
- header?: never;
4597
+ header: {
4598
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4599
+ "Idempotency-Key": string;
4600
+ };
3531
4601
  path: {
3532
4602
  privateImageId: string;
3533
4603
  };
@@ -3535,12 +4605,14 @@ export interface operations {
3535
4605
  };
3536
4606
  requestBody?: never;
3537
4607
  responses: {
3538
- /** @description No Content */
3539
- 204: {
4608
+ /** @description The action was accepted. Wait for the returned task to finish. */
4609
+ 202: {
3540
4610
  headers: {
3541
4611
  [name: string]: unknown;
3542
4612
  };
3543
- content?: never;
4613
+ content: {
4614
+ "application/json": components["schemas"]["Task"];
4615
+ };
3544
4616
  };
3545
4617
  /** @description Error */
3546
4618
  default: {
@@ -3556,7 +4628,10 @@ export interface operations {
3556
4628
  "rename-private-image": {
3557
4629
  parameters: {
3558
4630
  query?: never;
3559
- header?: never;
4631
+ header: {
4632
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4633
+ "Idempotency-Key": string;
4634
+ };
3560
4635
  path: {
3561
4636
  privateImageId: string;
3562
4637
  };
@@ -3591,8 +4666,8 @@ export interface operations {
3591
4666
  "list-private-networks": {
3592
4667
  parameters: {
3593
4668
  query?: {
3594
- /** @description 不传时返回全部地区 */
3595
- region_code?: string;
4669
+ /** @description Returns every region when omitted */
4670
+ region_id?: string;
3596
4671
  };
3597
4672
  header?: never;
3598
4673
  path?: never;
@@ -3623,7 +4698,10 @@ export interface operations {
3623
4698
  "create-private-network": {
3624
4699
  parameters: {
3625
4700
  query?: never;
3626
- header?: never;
4701
+ header: {
4702
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4703
+ "Idempotency-Key": string;
4704
+ };
3627
4705
  path?: never;
3628
4706
  cookie?: never;
3629
4707
  };
@@ -3687,7 +4765,10 @@ export interface operations {
3687
4765
  "delete-private-network": {
3688
4766
  parameters: {
3689
4767
  query?: never;
3690
- header?: never;
4768
+ header: {
4769
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4770
+ "Idempotency-Key": string;
4771
+ };
3691
4772
  path: {
3692
4773
  privateNetworkId: string;
3693
4774
  };
@@ -3716,7 +4797,10 @@ export interface operations {
3716
4797
  "rename-private-network": {
3717
4798
  parameters: {
3718
4799
  query?: never;
3719
- header?: never;
4800
+ header: {
4801
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4802
+ "Idempotency-Key": string;
4803
+ };
3720
4804
  path: {
3721
4805
  privateNetworkId: string;
3722
4806
  };
@@ -3782,7 +4866,10 @@ export interface operations {
3782
4866
  "enable-private-network-ipv6": {
3783
4867
  parameters: {
3784
4868
  query?: never;
3785
- header?: never;
4869
+ header: {
4870
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4871
+ "Idempotency-Key": string;
4872
+ };
3786
4873
  path: {
3787
4874
  privateNetworkId: string;
3788
4875
  };
@@ -3813,7 +4900,10 @@ export interface operations {
3813
4900
  "disable-private-network-ipv6": {
3814
4901
  parameters: {
3815
4902
  query?: never;
3816
- header?: never;
4903
+ header: {
4904
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4905
+ "Idempotency-Key": string;
4906
+ };
3817
4907
  path: {
3818
4908
  privateNetworkId: string;
3819
4909
  };
@@ -3873,7 +4963,10 @@ export interface operations {
3873
4963
  "create-route": {
3874
4964
  parameters: {
3875
4965
  query?: never;
3876
- header?: never;
4966
+ header: {
4967
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
4968
+ "Idempotency-Key": string;
4969
+ };
3877
4970
  path: {
3878
4971
  privateNetworkId: string;
3879
4972
  };
@@ -3908,7 +5001,10 @@ export interface operations {
3908
5001
  "delete-route": {
3909
5002
  parameters: {
3910
5003
  query?: never;
3911
- header?: never;
5004
+ header: {
5005
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5006
+ "Idempotency-Key": string;
5007
+ };
3912
5008
  path: {
3913
5009
  privateNetworkId: string;
3914
5010
  routeId: string;
@@ -3969,7 +5065,10 @@ export interface operations {
3969
5065
  "create-subnet": {
3970
5066
  parameters: {
3971
5067
  query?: never;
3972
- header?: never;
5068
+ header: {
5069
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5070
+ "Idempotency-Key": string;
5071
+ };
3973
5072
  path: {
3974
5073
  privateNetworkId: string;
3975
5074
  };
@@ -4037,7 +5136,10 @@ export interface operations {
4037
5136
  "delete-subnet": {
4038
5137
  parameters: {
4039
5138
  query?: never;
4040
- header?: never;
5139
+ header: {
5140
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5141
+ "Idempotency-Key": string;
5142
+ };
4041
5143
  path: {
4042
5144
  privateNetworkId: string;
4043
5145
  subnetId: string;
@@ -4067,8 +5169,8 @@ export interface operations {
4067
5169
  "list-security-groups": {
4068
5170
  parameters: {
4069
5171
  query?: {
4070
- region_code?: string;
4071
- /** @description 只返回该私有网络下的安全组 */
5172
+ region_id?: string;
5173
+ /** @description Return only the security groups of this private network */
4072
5174
  private_network_id?: string;
4073
5175
  };
4074
5176
  header?: never;
@@ -4100,7 +5202,10 @@ export interface operations {
4100
5202
  "create-security-group": {
4101
5203
  parameters: {
4102
5204
  query?: never;
4103
- header?: never;
5205
+ header: {
5206
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5207
+ "Idempotency-Key": string;
5208
+ };
4104
5209
  path?: never;
4105
5210
  cookie?: never;
4106
5211
  };
@@ -4164,7 +5269,10 @@ export interface operations {
4164
5269
  "delete-security-group": {
4165
5270
  parameters: {
4166
5271
  query?: never;
4167
- header?: never;
5272
+ header: {
5273
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5274
+ "Idempotency-Key": string;
5275
+ };
4168
5276
  path: {
4169
5277
  securityGroupId: string;
4170
5278
  };
@@ -4193,7 +5301,10 @@ export interface operations {
4193
5301
  "rename-security-group": {
4194
5302
  parameters: {
4195
5303
  query?: never;
4196
- header?: never;
5304
+ header: {
5305
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5306
+ "Idempotency-Key": string;
5307
+ };
4197
5308
  path: {
4198
5309
  securityGroupId: string;
4199
5310
  };
@@ -4259,7 +5370,10 @@ export interface operations {
4259
5370
  "create-security-group-rule": {
4260
5371
  parameters: {
4261
5372
  query?: never;
4262
- header?: never;
5373
+ header: {
5374
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5375
+ "Idempotency-Key": string;
5376
+ };
4263
5377
  path: {
4264
5378
  securityGroupId: string;
4265
5379
  };
@@ -4294,7 +5408,10 @@ export interface operations {
4294
5408
  "delete-security-group-rule": {
4295
5409
  parameters: {
4296
5410
  query?: never;
4297
- header?: never;
5411
+ header: {
5412
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5413
+ "Idempotency-Key": string;
5414
+ };
4298
5415
  path: {
4299
5416
  securityGroupId: string;
4300
5417
  ruleId: string;
@@ -4324,7 +5441,7 @@ export interface operations {
4324
5441
  "list-snapshots": {
4325
5442
  parameters: {
4326
5443
  query?: {
4327
- /** @description 只返回该云硬盘的快照 */
5444
+ /** @description Return only the snapshots of this disk */
4328
5445
  disk_id?: string;
4329
5446
  };
4330
5447
  header?: never;
@@ -4372,7 +5489,7 @@ export interface operations {
4372
5489
  [name: string]: unknown;
4373
5490
  };
4374
5491
  content: {
4375
- "application/json": components["schemas"]["SnapshotResource"];
5492
+ "application/json": components["schemas"]["PlacedOrder"];
4376
5493
  };
4377
5494
  };
4378
5495
  /** @description Error */
@@ -4420,7 +5537,10 @@ export interface operations {
4420
5537
  "delete-snapshot": {
4421
5538
  parameters: {
4422
5539
  query?: never;
4423
- header?: never;
5540
+ header: {
5541
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5542
+ "Idempotency-Key": string;
5543
+ };
4424
5544
  path: {
4425
5545
  snapshotId: string;
4426
5546
  };
@@ -4428,12 +5548,14 @@ export interface operations {
4428
5548
  };
4429
5549
  requestBody?: never;
4430
5550
  responses: {
4431
- /** @description No Content */
4432
- 204: {
5551
+ /** @description The action was accepted. Wait for the returned task to finish. */
5552
+ 202: {
4433
5553
  headers: {
4434
5554
  [name: string]: unknown;
4435
5555
  };
4436
- content?: never;
5556
+ content: {
5557
+ "application/json": components["schemas"]["Task"];
5558
+ };
4437
5559
  };
4438
5560
  /** @description Error */
4439
5561
  default: {
@@ -4449,7 +5571,10 @@ export interface operations {
4449
5571
  "rename-snapshot": {
4450
5572
  parameters: {
4451
5573
  query?: never;
4452
- header?: never;
5574
+ header: {
5575
+ /** @description Reuse the same key for retries of the same action. A different request with the same key is rejected. */
5576
+ "Idempotency-Key": string;
5577
+ };
4453
5578
  path: {
4454
5579
  snapshotId: string;
4455
5580
  };
@@ -4481,4 +5606,68 @@ export interface operations {
4481
5606
  };
4482
5607
  };
4483
5608
  };
5609
+ "get-task": {
5610
+ parameters: {
5611
+ query?: never;
5612
+ header?: never;
5613
+ path: {
5614
+ taskId: string;
5615
+ };
5616
+ cookie?: never;
5617
+ };
5618
+ requestBody?: never;
5619
+ responses: {
5620
+ /** @description The task. */
5621
+ 200: {
5622
+ headers: {
5623
+ [name: string]: unknown;
5624
+ };
5625
+ content: {
5626
+ "application/json": components["schemas"]["Task"];
5627
+ };
5628
+ };
5629
+ /** @description The request could not be completed. */
5630
+ default: {
5631
+ headers: {
5632
+ [name: string]: unknown;
5633
+ };
5634
+ content: {
5635
+ "application/json": components["schemas"]["Error"];
5636
+ };
5637
+ };
5638
+ };
5639
+ };
5640
+ "list-ipv4-pools": {
5641
+ parameters: {
5642
+ query: {
5643
+ region_id: string;
5644
+ page?: number;
5645
+ page_size?: number;
5646
+ };
5647
+ header?: never;
5648
+ path?: never;
5649
+ cookie?: never;
5650
+ };
5651
+ requestBody?: never;
5652
+ responses: {
5653
+ /** @description OK */
5654
+ 200: {
5655
+ headers: {
5656
+ [name: string]: unknown;
5657
+ };
5658
+ content: {
5659
+ "application/json": components["schemas"]["IPv4PoolListResponseBody"];
5660
+ };
5661
+ };
5662
+ /** @description Error */
5663
+ default: {
5664
+ headers: {
5665
+ [name: string]: unknown;
5666
+ };
5667
+ content: {
5668
+ "application/json": components["schemas"]["Error"];
5669
+ };
5670
+ };
5671
+ };
5672
+ };
4484
5673
  }