@xen-orchestra/rest-api 0.13.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/abstract-classes/xo-controller.mjs +3 -9
  2. package/dist/helpers/error.helper.mjs +10 -0
  3. package/dist/helpers/object-wrapper.helper.mjs +10 -7
  4. package/dist/helpers/utils.helper.mjs +11 -0
  5. package/dist/hosts/host.controller.mjs +42 -4
  6. package/dist/hosts/host.service.mjs +6 -7
  7. package/dist/hosts/host.type.mjs +1 -0
  8. package/dist/index.mjs +4 -0
  9. package/dist/middlewares/generic-error-handler.middleware.mjs +5 -1
  10. package/dist/open-api/common/response.common.mjs +4 -0
  11. package/dist/open-api/oa-examples/host.oa-example.mjs +31 -0
  12. package/dist/open-api/oa-examples/pool.oa-example.mjs +30 -0
  13. package/dist/open-api/oa-examples/task.oa-example.mjs +46 -0
  14. package/dist/open-api/oa-examples/vm-controller.oa-example.mjs +14 -0
  15. package/dist/open-api/oa-examples/vm-snapshot.oa-example.mjs +14 -0
  16. package/dist/open-api/oa-examples/vm-template.oa-example.mjs +14 -0
  17. package/dist/open-api/oa-examples/vm.oa-example.mjs +14 -0
  18. package/dist/open-api/routes/routes.js +364 -47
  19. package/dist/pools/pool.controller.mjs +16 -1
  20. package/dist/pools/pool.service.mjs +18 -8
  21. package/dist/rest-api/rest-api.mjs +10 -2
  22. package/dist/tasks/task.controller.mjs +121 -0
  23. package/dist/users/user.controller.mjs +0 -3
  24. package/dist/vm-controller/vm-controller.controller.mjs +30 -4
  25. package/dist/vm-snapshots/vm-snapshot.controller.mjs +30 -4
  26. package/dist/vm-templates/vm-template.controller.mjs +30 -4
  27. package/dist/vms/vm.controller.mjs +30 -4
  28. package/dist/vms/vm.service.mjs +14 -1
  29. package/dist/xoa/xoa.service.mjs +14 -4
  30. package/open-api/spec/swagger.json +1919 -499
  31. package/package.json +5 -4
  32. package/tsconfig.json +1 -0
  33. package/tsoa.json +12 -0
@@ -1594,6 +1594,148 @@
1594
1594
  }
1595
1595
  ]
1596
1596
  },
1597
+ "VDI_TYPE": {
1598
+ "type": "string",
1599
+ "enum": [
1600
+ "metadata",
1601
+ "suspend",
1602
+ "cbt_metadata",
1603
+ "crashdump",
1604
+ "ephemeral",
1605
+ "ha_statefile",
1606
+ "pvs_cache",
1607
+ "redo_log",
1608
+ "rrd",
1609
+ "system",
1610
+ "user"
1611
+ ]
1612
+ },
1613
+ "Record_string.VDI_OPERATIONS_": {
1614
+ "properties": {},
1615
+ "type": "object",
1616
+ "description": "Construct a type with a set of properties K of type T"
1617
+ },
1618
+ "Partial_Unbrand_XoVdi__": {
1619
+ "properties": {
1620
+ "$pool": {
1621
+ "type": "string"
1622
+ },
1623
+ "$poolId": {
1624
+ "type": "string",
1625
+ "deprecated": true
1626
+ },
1627
+ "_xapiRef": {
1628
+ "type": "string"
1629
+ },
1630
+ "uuid": {
1631
+ "type": "string"
1632
+ },
1633
+ "$SR": {
1634
+ "type": "string"
1635
+ },
1636
+ "$VBDs": {
1637
+ "items": {
1638
+ "type": "string"
1639
+ },
1640
+ "type": "array"
1641
+ },
1642
+ "VDI_type": {
1643
+ "$ref": "#/components/schemas/VDI_TYPE"
1644
+ },
1645
+ "cbt_enabled": {
1646
+ "type": "boolean"
1647
+ },
1648
+ "current_operations": {
1649
+ "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
1650
+ },
1651
+ "missing": {
1652
+ "type": "boolean"
1653
+ },
1654
+ "name_description": {
1655
+ "type": "string"
1656
+ },
1657
+ "name_label": {
1658
+ "type": "string"
1659
+ },
1660
+ "other_config": {
1661
+ "$ref": "#/components/schemas/Record_string.string_"
1662
+ },
1663
+ "parent": {
1664
+ "type": "string"
1665
+ },
1666
+ "image_format": {
1667
+ "type": "string"
1668
+ },
1669
+ "size": {
1670
+ "type": "number",
1671
+ "format": "double"
1672
+ },
1673
+ "snapshots": {
1674
+ "items": {
1675
+ "type": "string"
1676
+ },
1677
+ "type": "array"
1678
+ },
1679
+ "tags": {
1680
+ "items": {
1681
+ "type": "string"
1682
+ },
1683
+ "type": "array"
1684
+ },
1685
+ "usage": {
1686
+ "type": "number",
1687
+ "format": "double"
1688
+ },
1689
+ "id": {
1690
+ "type": "string"
1691
+ },
1692
+ "type": {
1693
+ "type": "string",
1694
+ "enum": [
1695
+ "VDI"
1696
+ ]
1697
+ }
1698
+ },
1699
+ "type": "object",
1700
+ "description": "Make all properties in T optional"
1701
+ },
1702
+ "WithHref_Partial_Unbrand_XoVdi___": {
1703
+ "allOf": [
1704
+ {
1705
+ "$ref": "#/components/schemas/Partial_Unbrand_XoVdi__"
1706
+ },
1707
+ {
1708
+ "properties": {
1709
+ "href": {
1710
+ "type": "string"
1711
+ }
1712
+ },
1713
+ "required": [
1714
+ "href"
1715
+ ],
1716
+ "type": "object"
1717
+ }
1718
+ ]
1719
+ },
1720
+ "SendObjects_Partial_Unbrand_XoVdi___": {
1721
+ "anyOf": [
1722
+ {
1723
+ "items": {
1724
+ "type": "string"
1725
+ },
1726
+ "type": "array"
1727
+ },
1728
+ {
1729
+ "items": {
1730
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVdi___"
1731
+ },
1732
+ "type": "array"
1733
+ },
1734
+ {
1735
+ "$ref": "#/components/schemas/NdjsonStream"
1736
+ }
1737
+ ]
1738
+ },
1597
1739
  "Partial_Unbrand_XoVmTemplate__": {
1598
1740
  "properties": {
1599
1741
  "$pool": {
@@ -3232,7 +3374,7 @@
3232
3374
  ],
3233
3375
  "type": "object"
3234
3376
  },
3235
- "Partial_Unbrand_XoVmController__": {
3377
+ "Partial_Unbrand_XoVdiSnapshot__": {
3236
3378
  "properties": {
3237
3379
  "$pool": {
3238
3380
  "type": "string"
@@ -3247,116 +3389,244 @@
3247
3389
  "uuid": {
3248
3390
  "type": "string"
3249
3391
  },
3392
+ "$SR": {
3393
+ "type": "string"
3394
+ },
3250
3395
  "$VBDs": {
3251
3396
  "items": {
3252
3397
  "type": "string"
3253
3398
  },
3254
3399
  "type": "array"
3255
3400
  },
3256
- "$VGPUs": {
3257
- "items": {
3258
- "type": "string"
3259
- },
3260
- "type": "array"
3401
+ "VDI_type": {
3402
+ "$ref": "#/components/schemas/VDI_TYPE"
3261
3403
  },
3262
- "$container": {
3404
+ "cbt_enabled": {
3405
+ "type": "boolean"
3406
+ },
3407
+ "current_operations": {
3408
+ "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
3409
+ },
3410
+ "missing": {
3411
+ "type": "boolean"
3412
+ },
3413
+ "name_description": {
3263
3414
  "type": "string"
3264
3415
  },
3265
- "CPUs": {
3266
- "properties": {
3267
- "number": {
3268
- "type": "number",
3269
- "format": "double"
3270
- },
3271
- "max": {
3272
- "type": "number",
3273
- "format": "double"
3274
- }
3275
- },
3276
- "required": [
3277
- "number",
3278
- "max"
3279
- ],
3280
- "type": "object"
3416
+ "name_label": {
3417
+ "type": "string"
3281
3418
  },
3282
- "PV_args": {
3419
+ "other_config": {
3420
+ "$ref": "#/components/schemas/Record_string.string_"
3421
+ },
3422
+ "parent": {
3283
3423
  "type": "string"
3284
3424
  },
3285
- "VGPUs": {
3286
- "items": {
3287
- "type": "string"
3288
- },
3289
- "type": "array"
3425
+ "image_format": {
3426
+ "type": "string"
3290
3427
  },
3291
- "VIFs": {
3292
- "items": {
3293
- "type": "string"
3294
- },
3295
- "type": "array"
3428
+ "size": {
3429
+ "type": "number",
3430
+ "format": "double"
3296
3431
  },
3297
- "VTPMs": {
3432
+ "snapshots": {
3298
3433
  "items": {
3299
3434
  "type": "string"
3300
3435
  },
3301
3436
  "type": "array"
3302
3437
  },
3303
- "addresses": {
3304
- "$ref": "#/components/schemas/Record_string.string_"
3305
- },
3306
- "affinityHost": {
3307
- "type": "string"
3308
- },
3309
- "attachedPcis": {
3438
+ "tags": {
3310
3439
  "items": {
3311
3440
  "type": "string"
3312
3441
  },
3313
3442
  "type": "array"
3314
3443
  },
3315
- "auto_poweron": {
3316
- "type": "boolean"
3317
- },
3318
- "bios_strings": {
3319
- "$ref": "#/components/schemas/Record_string.string_"
3320
- },
3321
- "blockedOperations": {
3322
- "$ref": "#/components/schemas/Record_VM_OPERATIONS.string_"
3323
- },
3324
- "boot": {
3325
- "$ref": "#/components/schemas/Record_string.string_"
3326
- },
3327
- "coresPerSocket": {
3328
- "type": "number",
3329
- "format": "double"
3330
- },
3331
- "cpuCap": {
3444
+ "usage": {
3332
3445
  "type": "number",
3333
3446
  "format": "double"
3334
3447
  },
3335
- "cpuMask": {
3336
- "items": {
3337
- "type": "number",
3338
- "format": "double"
3339
- },
3340
- "type": "array"
3448
+ "id": {
3449
+ "type": "string"
3341
3450
  },
3342
- "cpuWeight": {
3451
+ "snapshot_time": {
3343
3452
  "type": "number",
3344
3453
  "format": "double"
3345
3454
  },
3346
- "creation": {
3347
- "$ref": "#/components/schemas/Record_string.string_"
3348
- },
3349
- "current_operations": {
3350
- "$ref": "#/components/schemas/Record_string.VM_OPERATIONS_"
3455
+ "$snapshot_of": {
3456
+ "type": "string"
3351
3457
  },
3352
- "docker": {
3353
- "properties": {
3354
- "version": {
3355
- "type": "string"
3356
- },
3357
- "process": {
3358
- "type": "string"
3359
- },
3458
+ "type": {
3459
+ "type": "string",
3460
+ "enum": [
3461
+ "VDI-snapshot"
3462
+ ]
3463
+ }
3464
+ },
3465
+ "type": "object",
3466
+ "description": "Make all properties in T optional"
3467
+ },
3468
+ "WithHref_Partial_Unbrand_XoVdiSnapshot___": {
3469
+ "allOf": [
3470
+ {
3471
+ "$ref": "#/components/schemas/Partial_Unbrand_XoVdiSnapshot__"
3472
+ },
3473
+ {
3474
+ "properties": {
3475
+ "href": {
3476
+ "type": "string"
3477
+ }
3478
+ },
3479
+ "required": [
3480
+ "href"
3481
+ ],
3482
+ "type": "object"
3483
+ }
3484
+ ]
3485
+ },
3486
+ "SendObjects_Partial_Unbrand_XoVdiSnapshot___": {
3487
+ "anyOf": [
3488
+ {
3489
+ "items": {
3490
+ "type": "string"
3491
+ },
3492
+ "type": "array"
3493
+ },
3494
+ {
3495
+ "items": {
3496
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVdiSnapshot___"
3497
+ },
3498
+ "type": "array"
3499
+ },
3500
+ {
3501
+ "$ref": "#/components/schemas/NdjsonStream"
3502
+ }
3503
+ ]
3504
+ },
3505
+ "Partial_Unbrand_XoVmController__": {
3506
+ "properties": {
3507
+ "$pool": {
3508
+ "type": "string"
3509
+ },
3510
+ "$poolId": {
3511
+ "type": "string",
3512
+ "deprecated": true
3513
+ },
3514
+ "_xapiRef": {
3515
+ "type": "string"
3516
+ },
3517
+ "uuid": {
3518
+ "type": "string"
3519
+ },
3520
+ "$VBDs": {
3521
+ "items": {
3522
+ "type": "string"
3523
+ },
3524
+ "type": "array"
3525
+ },
3526
+ "$VGPUs": {
3527
+ "items": {
3528
+ "type": "string"
3529
+ },
3530
+ "type": "array"
3531
+ },
3532
+ "$container": {
3533
+ "type": "string"
3534
+ },
3535
+ "CPUs": {
3536
+ "properties": {
3537
+ "number": {
3538
+ "type": "number",
3539
+ "format": "double"
3540
+ },
3541
+ "max": {
3542
+ "type": "number",
3543
+ "format": "double"
3544
+ }
3545
+ },
3546
+ "required": [
3547
+ "number",
3548
+ "max"
3549
+ ],
3550
+ "type": "object"
3551
+ },
3552
+ "PV_args": {
3553
+ "type": "string"
3554
+ },
3555
+ "VGPUs": {
3556
+ "items": {
3557
+ "type": "string"
3558
+ },
3559
+ "type": "array"
3560
+ },
3561
+ "VIFs": {
3562
+ "items": {
3563
+ "type": "string"
3564
+ },
3565
+ "type": "array"
3566
+ },
3567
+ "VTPMs": {
3568
+ "items": {
3569
+ "type": "string"
3570
+ },
3571
+ "type": "array"
3572
+ },
3573
+ "addresses": {
3574
+ "$ref": "#/components/schemas/Record_string.string_"
3575
+ },
3576
+ "affinityHost": {
3577
+ "type": "string"
3578
+ },
3579
+ "attachedPcis": {
3580
+ "items": {
3581
+ "type": "string"
3582
+ },
3583
+ "type": "array"
3584
+ },
3585
+ "auto_poweron": {
3586
+ "type": "boolean"
3587
+ },
3588
+ "bios_strings": {
3589
+ "$ref": "#/components/schemas/Record_string.string_"
3590
+ },
3591
+ "blockedOperations": {
3592
+ "$ref": "#/components/schemas/Record_VM_OPERATIONS.string_"
3593
+ },
3594
+ "boot": {
3595
+ "$ref": "#/components/schemas/Record_string.string_"
3596
+ },
3597
+ "coresPerSocket": {
3598
+ "type": "number",
3599
+ "format": "double"
3600
+ },
3601
+ "cpuCap": {
3602
+ "type": "number",
3603
+ "format": "double"
3604
+ },
3605
+ "cpuMask": {
3606
+ "items": {
3607
+ "type": "number",
3608
+ "format": "double"
3609
+ },
3610
+ "type": "array"
3611
+ },
3612
+ "cpuWeight": {
3613
+ "type": "number",
3614
+ "format": "double"
3615
+ },
3616
+ "creation": {
3617
+ "$ref": "#/components/schemas/Record_string.string_"
3618
+ },
3619
+ "current_operations": {
3620
+ "$ref": "#/components/schemas/Record_string.VM_OPERATIONS_"
3621
+ },
3622
+ "docker": {
3623
+ "properties": {
3624
+ "version": {
3625
+ "type": "string"
3626
+ },
3627
+ "process": {
3628
+ "type": "string"
3629
+ },
3360
3630
  "info": {
3361
3631
  "type": "string"
3362
3632
  },
@@ -3984,28 +4254,243 @@
3984
4254
  ],
3985
4255
  "type": "object"
3986
4256
  },
3987
- "VIF_LOCKING_MODE": {
3988
- "type": "string",
3989
- "enum": [
3990
- "disabled",
3991
- "locked",
3992
- "network_default",
3993
- "unlocked"
3994
- ]
3995
- },
3996
- "Partial_UnbrandedXoVif_": {
3997
- "properties": {
3998
- "$pool": {
3999
- "type": "string"
4000
- },
4001
- "$poolId": {
4002
- "type": "string",
4003
- "deprecated": true
4004
- },
4005
- "_xapiRef": {
4006
- "type": "string"
4257
+ "Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot__": {
4258
+ "anyOf": [
4259
+ {
4260
+ "properties": {
4261
+ "$pool": {
4262
+ "type": "string"
4263
+ },
4264
+ "$poolId": {
4265
+ "type": "string",
4266
+ "deprecated": true
4267
+ },
4268
+ "_xapiRef": {
4269
+ "type": "string"
4270
+ },
4271
+ "uuid": {
4272
+ "type": "string"
4273
+ },
4274
+ "$SR": {
4275
+ "type": "string"
4276
+ },
4277
+ "$VBDs": {
4278
+ "items": {
4279
+ "type": "string"
4280
+ },
4281
+ "type": "array"
4282
+ },
4283
+ "VDI_type": {
4284
+ "$ref": "#/components/schemas/VDI_TYPE"
4285
+ },
4286
+ "cbt_enabled": {
4287
+ "type": "boolean"
4288
+ },
4289
+ "current_operations": {
4290
+ "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
4291
+ },
4292
+ "missing": {
4293
+ "type": "boolean"
4294
+ },
4295
+ "name_description": {
4296
+ "type": "string"
4297
+ },
4298
+ "name_label": {
4299
+ "type": "string"
4300
+ },
4301
+ "other_config": {
4302
+ "$ref": "#/components/schemas/Record_string.string_"
4303
+ },
4304
+ "parent": {
4305
+ "type": "string"
4306
+ },
4307
+ "image_format": {
4308
+ "type": "string"
4309
+ },
4310
+ "size": {
4311
+ "type": "number",
4312
+ "format": "double"
4313
+ },
4314
+ "snapshots": {
4315
+ "items": {
4316
+ "type": "string"
4317
+ },
4318
+ "type": "array"
4319
+ },
4320
+ "tags": {
4321
+ "items": {
4322
+ "type": "string"
4323
+ },
4324
+ "type": "array"
4325
+ },
4326
+ "usage": {
4327
+ "type": "number",
4328
+ "format": "double"
4329
+ },
4330
+ "id": {
4331
+ "type": "string"
4332
+ },
4333
+ "type": {
4334
+ "type": "string",
4335
+ "enum": [
4336
+ "VDI"
4337
+ ]
4338
+ }
4339
+ },
4340
+ "type": "object"
4007
4341
  },
4008
- "uuid": {
4342
+ {
4343
+ "properties": {
4344
+ "$pool": {
4345
+ "type": "string"
4346
+ },
4347
+ "$poolId": {
4348
+ "type": "string",
4349
+ "deprecated": true
4350
+ },
4351
+ "_xapiRef": {
4352
+ "type": "string"
4353
+ },
4354
+ "uuid": {
4355
+ "type": "string"
4356
+ },
4357
+ "$SR": {
4358
+ "type": "string"
4359
+ },
4360
+ "$VBDs": {
4361
+ "items": {
4362
+ "type": "string"
4363
+ },
4364
+ "type": "array"
4365
+ },
4366
+ "VDI_type": {
4367
+ "$ref": "#/components/schemas/VDI_TYPE"
4368
+ },
4369
+ "cbt_enabled": {
4370
+ "type": "boolean"
4371
+ },
4372
+ "current_operations": {
4373
+ "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
4374
+ },
4375
+ "missing": {
4376
+ "type": "boolean"
4377
+ },
4378
+ "name_description": {
4379
+ "type": "string"
4380
+ },
4381
+ "name_label": {
4382
+ "type": "string"
4383
+ },
4384
+ "other_config": {
4385
+ "$ref": "#/components/schemas/Record_string.string_"
4386
+ },
4387
+ "parent": {
4388
+ "type": "string"
4389
+ },
4390
+ "image_format": {
4391
+ "type": "string"
4392
+ },
4393
+ "size": {
4394
+ "type": "number",
4395
+ "format": "double"
4396
+ },
4397
+ "snapshots": {
4398
+ "items": {
4399
+ "type": "string"
4400
+ },
4401
+ "type": "array"
4402
+ },
4403
+ "tags": {
4404
+ "items": {
4405
+ "type": "string"
4406
+ },
4407
+ "type": "array"
4408
+ },
4409
+ "usage": {
4410
+ "type": "number",
4411
+ "format": "double"
4412
+ },
4413
+ "id": {
4414
+ "type": "string"
4415
+ },
4416
+ "snapshot_time": {
4417
+ "type": "number",
4418
+ "format": "double"
4419
+ },
4420
+ "$snapshot_of": {
4421
+ "type": "string"
4422
+ },
4423
+ "type": {
4424
+ "type": "string",
4425
+ "enum": [
4426
+ "VDI-snapshot"
4427
+ ]
4428
+ }
4429
+ },
4430
+ "type": "object"
4431
+ }
4432
+ ],
4433
+ "description": "Make all properties in T optional"
4434
+ },
4435
+ "WithHref_Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot___": {
4436
+ "allOf": [
4437
+ {
4438
+ "$ref": "#/components/schemas/Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot__"
4439
+ },
4440
+ {
4441
+ "properties": {
4442
+ "href": {
4443
+ "type": "string"
4444
+ }
4445
+ },
4446
+ "required": [
4447
+ "href"
4448
+ ],
4449
+ "type": "object"
4450
+ }
4451
+ ]
4452
+ },
4453
+ "SendObjects_Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot___": {
4454
+ "anyOf": [
4455
+ {
4456
+ "items": {
4457
+ "type": "string"
4458
+ },
4459
+ "type": "array"
4460
+ },
4461
+ {
4462
+ "items": {
4463
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot___"
4464
+ },
4465
+ "type": "array"
4466
+ },
4467
+ {
4468
+ "$ref": "#/components/schemas/NdjsonStream"
4469
+ }
4470
+ ]
4471
+ },
4472
+ "VIF_LOCKING_MODE": {
4473
+ "type": "string",
4474
+ "enum": [
4475
+ "disabled",
4476
+ "locked",
4477
+ "network_default",
4478
+ "unlocked"
4479
+ ]
4480
+ },
4481
+ "Partial_UnbrandedXoVif_": {
4482
+ "properties": {
4483
+ "$pool": {
4484
+ "type": "string"
4485
+ },
4486
+ "$poolId": {
4487
+ "type": "string",
4488
+ "deprecated": true
4489
+ },
4490
+ "_xapiRef": {
4491
+ "type": "string"
4492
+ },
4493
+ "uuid": {
4009
4494
  "type": "string"
4010
4495
  },
4011
4496
  "$VM": {
@@ -4198,28 +4683,7 @@
4198
4683
  "UnbrandedXoVif": {
4199
4684
  "$ref": "#/components/schemas/Unbrand_XoVif_"
4200
4685
  },
4201
- "VDI_TYPE": {
4202
- "type": "string",
4203
- "enum": [
4204
- "metadata",
4205
- "suspend",
4206
- "cbt_metadata",
4207
- "crashdump",
4208
- "ephemeral",
4209
- "ha_statefile",
4210
- "pvs_cache",
4211
- "redo_log",
4212
- "rrd",
4213
- "system",
4214
- "user"
4215
- ]
4216
- },
4217
- "Record_string.VDI_OPERATIONS_": {
4218
- "properties": {},
4219
- "type": "object",
4220
- "description": "Construct a type with a set of properties K of type T"
4221
- },
4222
- "Partial_Unbrand_XoVdi__": {
4686
+ "Unbrand_XoVdi_": {
4223
4687
  "properties": {
4224
4688
  "$pool": {
4225
4689
  "type": "string"
@@ -4297,50 +4761,33 @@
4297
4761
  "type": "string",
4298
4762
  "enum": [
4299
4763
  "VDI"
4300
- ]
4301
- }
4302
- },
4303
- "type": "object",
4304
- "description": "Make all properties in T optional"
4305
- },
4306
- "WithHref_Partial_Unbrand_XoVdi___": {
4307
- "allOf": [
4308
- {
4309
- "$ref": "#/components/schemas/Partial_Unbrand_XoVdi__"
4310
- },
4311
- {
4312
- "properties": {
4313
- "href": {
4314
- "type": "string"
4315
- }
4316
- },
4317
- "required": [
4318
- "href"
4319
4764
  ],
4320
- "type": "object"
4321
- }
4322
- ]
4323
- },
4324
- "SendObjects_Partial_Unbrand_XoVdi___": {
4325
- "anyOf": [
4326
- {
4327
- "items": {
4328
- "type": "string"
4329
- },
4330
- "type": "array"
4331
- },
4332
- {
4333
- "items": {
4334
- "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVdi___"
4335
- },
4336
- "type": "array"
4337
- },
4338
- {
4339
- "$ref": "#/components/schemas/NdjsonStream"
4765
+ "nullable": false
4340
4766
  }
4341
- ]
4767
+ },
4768
+ "required": [
4769
+ "$pool",
4770
+ "$poolId",
4771
+ "_xapiRef",
4772
+ "uuid",
4773
+ "$SR",
4774
+ "$VBDs",
4775
+ "VDI_type",
4776
+ "current_operations",
4777
+ "missing",
4778
+ "name_description",
4779
+ "name_label",
4780
+ "other_config",
4781
+ "size",
4782
+ "snapshots",
4783
+ "tags",
4784
+ "usage",
4785
+ "id",
4786
+ "type"
4787
+ ],
4788
+ "type": "object"
4342
4789
  },
4343
- "Unbrand_XoVdi_": {
4790
+ "Unbrand_XoVdiSnapshot_": {
4344
4791
  "properties": {
4345
4792
  "$pool": {
4346
4793
  "type": "string"
@@ -4414,10 +4861,17 @@
4414
4861
  "id": {
4415
4862
  "type": "string"
4416
4863
  },
4864
+ "snapshot_time": {
4865
+ "type": "number",
4866
+ "format": "double"
4867
+ },
4868
+ "$snapshot_of": {
4869
+ "type": "string"
4870
+ },
4417
4871
  "type": {
4418
4872
  "type": "string",
4419
4873
  "enum": [
4420
- "VDI"
4874
+ "VDI-snapshot"
4421
4875
  ],
4422
4876
  "nullable": false
4423
4877
  }
@@ -4440,11 +4894,12 @@
4440
4894
  "tags",
4441
4895
  "usage",
4442
4896
  "id",
4897
+ "snapshot_time",
4443
4898
  "type"
4444
4899
  ],
4445
4900
  "type": "object"
4446
4901
  },
4447
- "Partial_Unbrand_XoVdiSnapshot__": {
4902
+ "Partial_Unbrand_XoVbd__": {
4448
4903
  "properties": {
4449
4904
  "$pool": {
4450
4905
  "type": "string"
@@ -4459,86 +4914,48 @@
4459
4914
  "uuid": {
4460
4915
  "type": "string"
4461
4916
  },
4462
- "$SR": {
4463
- "type": "string"
4464
- },
4465
- "$VBDs": {
4466
- "items": {
4467
- "type": "string"
4468
- },
4469
- "type": "array"
4470
- },
4471
- "VDI_type": {
4472
- "$ref": "#/components/schemas/VDI_TYPE"
4917
+ "attached": {
4918
+ "type": "boolean"
4473
4919
  },
4474
- "cbt_enabled": {
4920
+ "bootable": {
4475
4921
  "type": "boolean"
4476
4922
  },
4477
- "current_operations": {
4478
- "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
4923
+ "device": {
4924
+ "type": "string",
4925
+ "nullable": true
4479
4926
  },
4480
- "missing": {
4927
+ "id": {
4928
+ "type": "string"
4929
+ },
4930
+ "is_cd_drive": {
4481
4931
  "type": "boolean"
4482
4932
  },
4483
- "name_description": {
4933
+ "position": {
4484
4934
  "type": "string"
4485
4935
  },
4486
- "name_label": {
4487
- "type": "string"
4488
- },
4489
- "other_config": {
4490
- "$ref": "#/components/schemas/Record_string.string_"
4491
- },
4492
- "parent": {
4493
- "type": "string"
4494
- },
4495
- "image_format": {
4496
- "type": "string"
4497
- },
4498
- "size": {
4499
- "type": "number",
4500
- "format": "double"
4501
- },
4502
- "snapshots": {
4503
- "items": {
4504
- "type": "string"
4505
- },
4506
- "type": "array"
4507
- },
4508
- "tags": {
4509
- "items": {
4510
- "type": "string"
4511
- },
4512
- "type": "array"
4513
- },
4514
- "usage": {
4515
- "type": "number",
4516
- "format": "double"
4517
- },
4518
- "id": {
4519
- "type": "string"
4520
- },
4521
- "snapshot_time": {
4522
- "type": "number",
4523
- "format": "double"
4524
- },
4525
- "$snapshot_of": {
4526
- "type": "string"
4936
+ "read_only": {
4937
+ "type": "boolean"
4527
4938
  },
4528
4939
  "type": {
4529
4940
  "type": "string",
4530
4941
  "enum": [
4531
- "VDI-snapshot"
4942
+ "VBD"
4532
4943
  ]
4944
+ },
4945
+ "VDI": {
4946
+ "type": "string"
4947
+ },
4948
+ "VM": {
4949
+ "type": "string"
4533
4950
  }
4534
4951
  },
4535
4952
  "type": "object",
4536
4953
  "description": "Make all properties in T optional"
4537
4954
  },
4538
- "WithHref_Partial_Unbrand_XoVdiSnapshot___": {
4955
+ "WithHref_Partial_Unbrand_XoVbd___": {
4539
4956
  "allOf": [
4540
4957
  {
4541
- "$ref": "#/components/schemas/Partial_Unbrand_XoVdiSnapshot__"
4958
+ "$ref": "#/components/schemas/Partial_Unbrand_XoVbd__"
4542
4959
  },
4543
4960
  {
4544
4961
  "properties": {
@@ -4553,7 +4970,7 @@
4553
4970
  }
4554
4971
  ]
4555
4972
  },
4556
- "SendObjects_Partial_Unbrand_XoVdiSnapshot___": {
4973
+ "SendObjects_Partial_Unbrand_XoVbd___": {
4557
4974
  "anyOf": [
4558
4975
  {
4559
4976
  "items": {
@@ -4563,7 +4980,7 @@
4563
4980
  },
4564
4981
  {
4565
4982
  "items": {
4566
- "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVdiSnapshot___"
4983
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVbd___"
4567
4984
  },
4568
4985
  "type": "array"
4569
4986
  },
@@ -4572,7 +4989,7 @@
4572
4989
  }
4573
4990
  ]
4574
4991
  },
4575
- "Unbrand_XoVdiSnapshot_": {
4992
+ "Unbrand_XoVbd_": {
4576
4993
  "properties": {
4577
4994
  "$pool": {
4578
4995
  "type": "string"
@@ -4587,78 +5004,40 @@
4587
5004
  "uuid": {
4588
5005
  "type": "string"
4589
5006
  },
4590
- "$SR": {
4591
- "type": "string"
4592
- },
4593
- "$VBDs": {
4594
- "items": {
4595
- "type": "string"
4596
- },
4597
- "type": "array"
4598
- },
4599
- "VDI_type": {
4600
- "$ref": "#/components/schemas/VDI_TYPE"
4601
- },
4602
- "cbt_enabled": {
5007
+ "attached": {
4603
5008
  "type": "boolean"
4604
5009
  },
4605
- "current_operations": {
4606
- "$ref": "#/components/schemas/Record_string.VDI_OPERATIONS_"
4607
- },
4608
- "missing": {
5010
+ "bootable": {
4609
5011
  "type": "boolean"
4610
5012
  },
4611
- "name_description": {
4612
- "type": "string"
4613
- },
4614
- "name_label": {
4615
- "type": "string"
4616
- },
4617
- "other_config": {
4618
- "$ref": "#/components/schemas/Record_string.string_"
4619
- },
4620
- "parent": {
4621
- "type": "string"
4622
- },
4623
- "image_format": {
4624
- "type": "string"
4625
- },
4626
- "size": {
4627
- "type": "number",
4628
- "format": "double"
4629
- },
4630
- "snapshots": {
4631
- "items": {
4632
- "type": "string"
4633
- },
4634
- "type": "array"
4635
- },
4636
- "tags": {
4637
- "items": {
4638
- "type": "string"
4639
- },
4640
- "type": "array"
4641
- },
4642
- "usage": {
4643
- "type": "number",
4644
- "format": "double"
5013
+ "device": {
5014
+ "type": "string",
5015
+ "nullable": true
4645
5016
  },
4646
5017
  "id": {
4647
5018
  "type": "string"
4648
5019
  },
4649
- "snapshot_time": {
4650
- "type": "number",
4651
- "format": "double"
5020
+ "is_cd_drive": {
5021
+ "type": "boolean"
4652
5022
  },
4653
- "$snapshot_of": {
5023
+ "position": {
4654
5024
  "type": "string"
4655
5025
  },
5026
+ "read_only": {
5027
+ "type": "boolean"
5028
+ },
4656
5029
  "type": {
4657
5030
  "type": "string",
4658
5031
  "enum": [
4659
- "VDI-snapshot"
5032
+ "VBD"
4660
5033
  ],
4661
5034
  "nullable": false
5035
+ },
5036
+ "VDI": {
5037
+ "type": "string"
5038
+ },
5039
+ "VM": {
5040
+ "type": "string"
4662
5041
  }
4663
5042
  },
4664
5043
  "required": [
@@ -4666,81 +5045,55 @@
4666
5045
  "$poolId",
4667
5046
  "_xapiRef",
4668
5047
  "uuid",
4669
- "$SR",
4670
- "$VBDs",
4671
- "VDI_type",
4672
- "current_operations",
4673
- "missing",
4674
- "name_description",
4675
- "name_label",
4676
- "other_config",
4677
- "size",
4678
- "snapshots",
4679
- "tags",
4680
- "usage",
5048
+ "attached",
5049
+ "bootable",
5050
+ "device",
4681
5051
  "id",
4682
- "snapshot_time",
4683
- "type"
5052
+ "is_cd_drive",
5053
+ "position",
5054
+ "read_only",
5055
+ "type",
5056
+ "VM"
4684
5057
  ],
4685
5058
  "type": "object"
4686
5059
  },
4687
- "Partial_Unbrand_XoVbd__": {
5060
+ "Partial_Unbrand_XoUser__": {
4688
5061
  "properties": {
4689
- "$pool": {
4690
- "type": "string"
4691
- },
4692
- "$poolId": {
4693
- "type": "string",
4694
- "deprecated": true
4695
- },
4696
- "_xapiRef": {
4697
- "type": "string"
5062
+ "authProviders": {
5063
+ "$ref": "#/components/schemas/Record_string.string_"
4698
5064
  },
4699
- "uuid": {
5065
+ "email": {
4700
5066
  "type": "string"
4701
5067
  },
4702
- "attached": {
4703
- "type": "boolean"
4704
- },
4705
- "bootable": {
4706
- "type": "boolean"
4707
- },
4708
- "device": {
4709
- "type": "string",
4710
- "nullable": true
5068
+ "groups": {
5069
+ "items": {
5070
+ "type": "string"
5071
+ },
5072
+ "type": "array"
4711
5073
  },
4712
5074
  "id": {
4713
5075
  "type": "string"
4714
5076
  },
4715
- "is_cd_drive": {
4716
- "type": "boolean"
4717
- },
4718
- "position": {
5077
+ "name": {
4719
5078
  "type": "string"
4720
5079
  },
4721
- "read_only": {
4722
- "type": "boolean"
4723
- },
4724
- "type": {
4725
- "type": "string",
4726
- "enum": [
4727
- "VBD"
4728
- ]
4729
- },
4730
- "VDI": {
5080
+ "permission": {
4731
5081
  "type": "string"
4732
5082
  },
4733
- "VM": {
5083
+ "pw_hash": {
4734
5084
  "type": "string"
5085
+ },
5086
+ "preferences": {
5087
+ "$ref": "#/components/schemas/Record_string.string_"
4735
5088
  }
4736
5089
  },
4737
5090
  "type": "object",
4738
5091
  "description": "Make all properties in T optional"
4739
5092
  },
4740
- "WithHref_Partial_Unbrand_XoVbd___": {
5093
+ "WithHref_Partial_Unbrand_XoUser___": {
4741
5094
  "allOf": [
4742
5095
  {
4743
- "$ref": "#/components/schemas/Partial_Unbrand_XoVbd__"
5096
+ "$ref": "#/components/schemas/Partial_Unbrand_XoUser__"
4744
5097
  },
4745
5098
  {
4746
5099
  "properties": {
@@ -4755,7 +5108,7 @@
4755
5108
  }
4756
5109
  ]
4757
5110
  },
4758
- "SendObjects_Partial_Unbrand_XoVbd___": {
5111
+ "SendObjects_Partial_Unbrand_XoUser___": {
4759
5112
  "anyOf": [
4760
5113
  {
4761
5114
  "items": {
@@ -4765,7 +5118,7 @@
4765
5118
  },
4766
5119
  {
4767
5120
  "items": {
4768
- "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoVbd___"
5121
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoUser___"
4769
5122
  },
4770
5123
  "type": "array"
4771
5124
  },
@@ -4774,112 +5127,298 @@
4774
5127
  }
4775
5128
  ]
4776
5129
  },
4777
- "Unbrand_XoVbd_": {
5130
+ "Unbrand_XoUser_": {
4778
5131
  "properties": {
4779
- "$pool": {
5132
+ "authProviders": {
5133
+ "$ref": "#/components/schemas/Record_string.string_"
5134
+ },
5135
+ "email": {
4780
5136
  "type": "string"
4781
5137
  },
4782
- "$poolId": {
4783
- "type": "string",
4784
- "deprecated": true
5138
+ "groups": {
5139
+ "items": {
5140
+ "type": "string"
5141
+ },
5142
+ "type": "array"
4785
5143
  },
4786
- "_xapiRef": {
5144
+ "id": {
4787
5145
  "type": "string"
4788
5146
  },
4789
- "uuid": {
5147
+ "name": {
4790
5148
  "type": "string"
4791
5149
  },
4792
- "attached": {
4793
- "type": "boolean"
5150
+ "permission": {
5151
+ "type": "string"
5152
+ },
5153
+ "pw_hash": {
5154
+ "type": "string"
5155
+ },
5156
+ "preferences": {
5157
+ "$ref": "#/components/schemas/Record_string.string_"
5158
+ }
5159
+ },
5160
+ "required": [
5161
+ "email",
5162
+ "groups",
5163
+ "id",
5164
+ "permission",
5165
+ "preferences"
5166
+ ],
5167
+ "type": "object"
5168
+ },
5169
+ "UpdateUserRequestBody": {
5170
+ "properties": {
5171
+ "name": {
5172
+ "type": "string"
5173
+ },
5174
+ "password": {
5175
+ "type": "string"
5176
+ },
5177
+ "permission": {
5178
+ "type": "string"
5179
+ },
5180
+ "preferences": {
5181
+ "$ref": "#/components/schemas/Record_string.string_"
5182
+ }
5183
+ },
5184
+ "type": "object",
5185
+ "additionalProperties": false
5186
+ },
5187
+ "Record_string.unknown_": {
5188
+ "properties": {},
5189
+ "type": "object",
5190
+ "description": "Construct a type with a set of properties K of type T"
5191
+ },
5192
+ "Branded_task_": {
5193
+ "allOf": [
5194
+ {
5195
+ "type": "string"
5196
+ },
5197
+ {
5198
+ "properties": {
5199
+ "undefined": {
5200
+ "type": "string",
5201
+ "enum": [
5202
+ "task"
5203
+ ],
5204
+ "nullable": false
5205
+ }
5206
+ },
5207
+ "required": [
5208
+ null
5209
+ ],
5210
+ "type": "object"
5211
+ }
5212
+ ]
5213
+ },
5214
+ "XoTask": {
5215
+ "properties": {
5216
+ "warning": {
5217
+ "items": {
5218
+ "properties": {
5219
+ "message": {
5220
+ "type": "string"
5221
+ },
5222
+ "data": {}
5223
+ },
5224
+ "required": [
5225
+ "message",
5226
+ "data"
5227
+ ],
5228
+ "type": "object"
5229
+ },
5230
+ "type": "array"
5231
+ },
5232
+ "updatedAt": {
5233
+ "type": "number",
5234
+ "format": "double"
4794
5235
  },
4795
- "bootable": {
4796
- "type": "boolean"
5236
+ "tasks": {
5237
+ "items": {
5238
+ "$ref": "#/components/schemas/XoTask"
5239
+ },
5240
+ "type": "array"
4797
5241
  },
4798
- "device": {
5242
+ "status": {
4799
5243
  "type": "string",
4800
- "nullable": true
5244
+ "enum": [
5245
+ "failure",
5246
+ "interrupted",
5247
+ "pending",
5248
+ "success"
5249
+ ]
4801
5250
  },
4802
- "id": {
4803
- "type": "string"
5251
+ "start": {
5252
+ "type": "number",
5253
+ "format": "double"
4804
5254
  },
4805
- "is_cd_drive": {
4806
- "type": "boolean"
5255
+ "result": {
5256
+ "$ref": "#/components/schemas/Record_string.unknown_"
4807
5257
  },
4808
- "position": {
4809
- "type": "string"
5258
+ "properties": {
5259
+ "properties": {
5260
+ "userId": {
5261
+ "type": "string"
5262
+ },
5263
+ "type": {
5264
+ "type": "string"
5265
+ },
5266
+ "params": {
5267
+ "$ref": "#/components/schemas/Record_string.unknown_"
5268
+ },
5269
+ "objectId": {
5270
+ "type": "string"
5271
+ },
5272
+ "name": {
5273
+ "type": "string"
5274
+ },
5275
+ "method": {
5276
+ "type": "string"
5277
+ }
5278
+ },
5279
+ "additionalProperties": {},
5280
+ "type": "object"
4810
5281
  },
4811
- "read_only": {
4812
- "type": "boolean"
5282
+ "infos": {
5283
+ "items": {
5284
+ "properties": {
5285
+ "message": {
5286
+ "type": "string"
5287
+ },
5288
+ "data": {}
5289
+ },
5290
+ "required": [
5291
+ "message",
5292
+ "data"
5293
+ ],
5294
+ "type": "object"
5295
+ },
5296
+ "type": "array"
4813
5297
  },
4814
- "type": {
4815
- "type": "string",
4816
- "enum": [
4817
- "VBD"
4818
- ],
4819
- "nullable": false
5298
+ "id": {
5299
+ "$ref": "#/components/schemas/Branded_task_"
4820
5300
  },
4821
- "VDI": {
4822
- "type": "string"
5301
+ "end": {
5302
+ "type": "number",
5303
+ "format": "double"
4823
5304
  },
4824
- "VM": {
4825
- "type": "string"
5305
+ "abortionRequestedAt": {
5306
+ "type": "number",
5307
+ "format": "double"
4826
5308
  }
4827
5309
  },
4828
5310
  "required": [
4829
- "$pool",
4830
- "$poolId",
4831
- "_xapiRef",
4832
- "uuid",
4833
- "attached",
4834
- "bootable",
4835
- "device",
4836
- "id",
4837
- "is_cd_drive",
4838
- "position",
4839
- "read_only",
4840
- "type",
4841
- "VDI",
4842
- "VM"
5311
+ "status",
5312
+ "start",
5313
+ "result",
5314
+ "properties",
5315
+ "id"
4843
5316
  ],
4844
5317
  "type": "object"
4845
5318
  },
4846
- "Partial_Unbrand_XoUser__": {
5319
+ "Partial_Unbrand_XoTask__": {
4847
5320
  "properties": {
4848
- "authProviders": {
4849
- "$ref": "#/components/schemas/Record_string.string_"
5321
+ "abortionRequestedAt": {
5322
+ "type": "number",
5323
+ "format": "double"
4850
5324
  },
4851
- "email": {
5325
+ "end": {
5326
+ "type": "number",
5327
+ "format": "double"
5328
+ },
5329
+ "id": {
4852
5330
  "type": "string"
4853
5331
  },
4854
- "groups": {
5332
+ "infos": {
4855
5333
  "items": {
4856
- "type": "string"
5334
+ "properties": {
5335
+ "message": {
5336
+ "type": "string"
5337
+ },
5338
+ "data": {}
5339
+ },
5340
+ "required": [
5341
+ "message",
5342
+ "data"
5343
+ ],
5344
+ "type": "object"
4857
5345
  },
4858
5346
  "type": "array"
4859
5347
  },
4860
- "id": {
4861
- "type": "string"
5348
+ "properties": {
5349
+ "properties": {
5350
+ "userId": {
5351
+ "type": "string"
5352
+ },
5353
+ "type": {
5354
+ "type": "string"
5355
+ },
5356
+ "params": {
5357
+ "$ref": "#/components/schemas/Record_string.unknown_"
5358
+ },
5359
+ "objectId": {
5360
+ "type": "string"
5361
+ },
5362
+ "name": {
5363
+ "type": "string"
5364
+ },
5365
+ "method": {
5366
+ "type": "string"
5367
+ }
5368
+ },
5369
+ "additionalProperties": {},
5370
+ "type": "object"
4862
5371
  },
4863
- "name": {
4864
- "type": "string"
5372
+ "result": {
5373
+ "$ref": "#/components/schemas/Record_string.unknown_"
4865
5374
  },
4866
- "permission": {
4867
- "type": "string"
5375
+ "start": {
5376
+ "type": "number",
5377
+ "format": "double"
4868
5378
  },
4869
- "pw_hash": {
4870
- "type": "string"
5379
+ "status": {
5380
+ "type": "string",
5381
+ "enum": [
5382
+ "failure",
5383
+ "interrupted",
5384
+ "pending",
5385
+ "success"
5386
+ ]
4871
5387
  },
4872
- "preferences": {
4873
- "$ref": "#/components/schemas/Record_string.string_"
5388
+ "tasks": {
5389
+ "items": {
5390
+ "$ref": "#/components/schemas/XoTask"
5391
+ },
5392
+ "type": "array"
5393
+ },
5394
+ "updatedAt": {
5395
+ "type": "number",
5396
+ "format": "double"
5397
+ },
5398
+ "warning": {
5399
+ "items": {
5400
+ "properties": {
5401
+ "message": {
5402
+ "type": "string"
5403
+ },
5404
+ "data": {}
5405
+ },
5406
+ "required": [
5407
+ "message",
5408
+ "data"
5409
+ ],
5410
+ "type": "object"
5411
+ },
5412
+ "type": "array"
4874
5413
  }
4875
5414
  },
4876
5415
  "type": "object",
4877
5416
  "description": "Make all properties in T optional"
4878
5417
  },
4879
- "WithHref_Partial_Unbrand_XoUser___": {
5418
+ "WithHref_Partial_Unbrand_XoTask___": {
4880
5419
  "allOf": [
4881
5420
  {
4882
- "$ref": "#/components/schemas/Partial_Unbrand_XoUser__"
5421
+ "$ref": "#/components/schemas/Partial_Unbrand_XoTask__"
4883
5422
  },
4884
5423
  {
4885
5424
  "properties": {
@@ -4894,7 +5433,7 @@
4894
5433
  }
4895
5434
  ]
4896
5435
  },
4897
- "SendObjects_Partial_Unbrand_XoUser___": {
5436
+ "SendObjects_Partial_Unbrand_XoTask___": {
4898
5437
  "anyOf": [
4899
5438
  {
4900
5439
  "items": {
@@ -4904,7 +5443,7 @@
4904
5443
  },
4905
5444
  {
4906
5445
  "items": {
4907
- "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoUser___"
5446
+ "$ref": "#/components/schemas/WithHref_Partial_Unbrand_XoTask___"
4908
5447
  },
4909
5448
  "type": "array"
4910
5449
  },
@@ -4913,63 +5452,111 @@
4913
5452
  }
4914
5453
  ]
4915
5454
  },
4916
- "Unbrand_XoUser_": {
5455
+ "Unbrand_XoTask_": {
4917
5456
  "properties": {
4918
- "authProviders": {
4919
- "$ref": "#/components/schemas/Record_string.string_"
5457
+ "abortionRequestedAt": {
5458
+ "type": "number",
5459
+ "format": "double"
4920
5460
  },
4921
- "email": {
5461
+ "end": {
5462
+ "type": "number",
5463
+ "format": "double"
5464
+ },
5465
+ "id": {
4922
5466
  "type": "string"
4923
5467
  },
4924
- "groups": {
5468
+ "infos": {
4925
5469
  "items": {
4926
- "type": "string"
5470
+ "properties": {
5471
+ "message": {
5472
+ "type": "string"
5473
+ },
5474
+ "data": {}
5475
+ },
5476
+ "required": [
5477
+ "message",
5478
+ "data"
5479
+ ],
5480
+ "type": "object"
4927
5481
  },
4928
5482
  "type": "array"
4929
5483
  },
4930
- "id": {
4931
- "type": "string"
5484
+ "properties": {
5485
+ "properties": {
5486
+ "userId": {
5487
+ "type": "string"
5488
+ },
5489
+ "type": {
5490
+ "type": "string"
5491
+ },
5492
+ "params": {
5493
+ "$ref": "#/components/schemas/Record_string.unknown_"
5494
+ },
5495
+ "objectId": {
5496
+ "type": "string"
5497
+ },
5498
+ "name": {
5499
+ "type": "string"
5500
+ },
5501
+ "method": {
5502
+ "type": "string"
5503
+ }
5504
+ },
5505
+ "additionalProperties": {},
5506
+ "type": "object"
4932
5507
  },
4933
- "name": {
4934
- "type": "string"
5508
+ "result": {
5509
+ "$ref": "#/components/schemas/Record_string.unknown_"
4935
5510
  },
4936
- "permission": {
4937
- "type": "string"
5511
+ "start": {
5512
+ "type": "number",
5513
+ "format": "double"
4938
5514
  },
4939
- "pw_hash": {
4940
- "type": "string"
5515
+ "status": {
5516
+ "type": "string",
5517
+ "enum": [
5518
+ "failure",
5519
+ "interrupted",
5520
+ "pending",
5521
+ "success"
5522
+ ]
4941
5523
  },
4942
- "preferences": {
4943
- "$ref": "#/components/schemas/Record_string.string_"
5524
+ "tasks": {
5525
+ "items": {
5526
+ "$ref": "#/components/schemas/XoTask"
5527
+ },
5528
+ "type": "array"
5529
+ },
5530
+ "updatedAt": {
5531
+ "type": "number",
5532
+ "format": "double"
5533
+ },
5534
+ "warning": {
5535
+ "items": {
5536
+ "properties": {
5537
+ "message": {
5538
+ "type": "string"
5539
+ },
5540
+ "data": {}
5541
+ },
5542
+ "required": [
5543
+ "message",
5544
+ "data"
5545
+ ],
5546
+ "type": "object"
5547
+ },
5548
+ "type": "array"
4944
5549
  }
4945
5550
  },
4946
5551
  "required": [
4947
- "email",
4948
- "groups",
4949
5552
  "id",
4950
- "permission",
4951
- "preferences"
5553
+ "properties",
5554
+ "result",
5555
+ "start",
5556
+ "status"
4952
5557
  ],
4953
5558
  "type": "object"
4954
5559
  },
4955
- "UpdateUserRequestBody": {
4956
- "properties": {
4957
- "name": {
4958
- "type": "string"
4959
- },
4960
- "password": {
4961
- "type": "string"
4962
- },
4963
- "permission": {
4964
- "type": "string"
4965
- },
4966
- "preferences": {
4967
- "$ref": "#/components/schemas/Record_string.string_"
4968
- }
4969
- },
4970
- "type": "object",
4971
- "additionalProperties": false
4972
- },
4973
5560
  "Record_string.STORAGE_OPERATIONS_": {
4974
5561
  "properties": {},
4975
5562
  "type": "object",
@@ -5410,11 +5997,6 @@
5410
5997
  ],
5411
5998
  "type": "object"
5412
5999
  },
5413
- "Record_string.unknown_": {
5414
- "properties": {},
5415
- "type": "object",
5416
- "description": "Construct a type with a set of properties K of type T"
5417
- },
5418
6000
  "Partial_Unbrand_XoServer__": {
5419
6001
  "properties": {
5420
6002
  "allowUnauthorized": {
@@ -6626,17 +7208,20 @@
6626
7208
  {
6627
7209
  "properties": {
6628
7210
  "missingPatches": {
6629
- "items": {
6630
- "anyOf": [
6631
- {
7211
+ "anyOf": [
7212
+ {
7213
+ "items": {
6632
7214
  "$ref": "#/components/schemas/XcpPatches"
6633
7215
  },
6634
- {
7216
+ "type": "array"
7217
+ },
7218
+ {
7219
+ "items": {
6635
7220
  "$ref": "#/components/schemas/XsPatches"
6636
- }
6637
- ]
6638
- },
6639
- "type": "array"
7221
+ },
7222
+ "type": "array"
7223
+ }
7224
+ ]
6640
7225
  },
6641
7226
  "hasAuthorization": {
6642
7227
  "type": "boolean",
@@ -9044,7 +9629,7 @@
9044
9629
  },
9045
9630
  "info": {
9046
9631
  "title": "@xen-orchestra/rest-api",
9047
- "version": "0.13.1",
9632
+ "version": "0.15.0",
9048
9633
  "description": "REST API to manage your XOA",
9049
9634
  "license": {
9050
9635
  "name": "AGPL-3.0-or-later"
@@ -11580,6 +12165,103 @@
11580
12165
  ]
11581
12166
  }
11582
12167
  },
12168
+ "/vms/{id}/vdis": {
12169
+ "get": {
12170
+ "operationId": "GetVmVdis",
12171
+ "responses": {
12172
+ "200": {
12173
+ "description": "Ok",
12174
+ "content": {
12175
+ "application/json": {
12176
+ "schema": {
12177
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoVdi___"
12178
+ },
12179
+ "examples": {
12180
+ "Example 1": {
12181
+ "value": [
12182
+ {
12183
+ "VDI_type": "user",
12184
+ "id": "11045407-4764-4c1c-8865-63f89d686b1b",
12185
+ "name_label": "Debian Bookworm 12_ogupi",
12186
+ "href": "/rest/v0/vdis/11045407-4764-4c1c-8865-63f89d686b1b"
12187
+ },
12188
+ {
12189
+ "VDI_type": "user",
12190
+ "id": "0eb73d40-e5f8-443d-b611-a52e03858a6a",
12191
+ "name_label": "MRA TrueNAS_emodi",
12192
+ "href": "/rest/v0/vdis/0eb73d40-e5f8-443d-b611-a52e03858a6a"
12193
+ }
12194
+ ]
12195
+ }
12196
+ }
12197
+ }
12198
+ }
12199
+ },
12200
+ "401": {
12201
+ "description": "Authentication required"
12202
+ },
12203
+ "404": {
12204
+ "description": "Resource not found"
12205
+ }
12206
+ },
12207
+ "tags": [
12208
+ "vdis",
12209
+ "vms"
12210
+ ],
12211
+ "security": [
12212
+ {
12213
+ "*": []
12214
+ }
12215
+ ],
12216
+ "parameters": [
12217
+ {
12218
+ "in": "path",
12219
+ "name": "id",
12220
+ "required": true,
12221
+ "schema": {
12222
+ "type": "string"
12223
+ },
12224
+ "example": "f07ab729-c0e8-721c-45ec-f11276377030"
12225
+ },
12226
+ {
12227
+ "in": "query",
12228
+ "name": "fields",
12229
+ "required": false,
12230
+ "schema": {
12231
+ "type": "string"
12232
+ },
12233
+ "example": "VDI_type,id,name_label"
12234
+ },
12235
+ {
12236
+ "in": "query",
12237
+ "name": "ndjson",
12238
+ "required": false,
12239
+ "schema": {
12240
+ "type": "boolean"
12241
+ }
12242
+ },
12243
+ {
12244
+ "in": "query",
12245
+ "name": "filter",
12246
+ "required": false,
12247
+ "schema": {
12248
+ "type": "string"
12249
+ },
12250
+ "example": "VDI_type:user"
12251
+ },
12252
+ {
12253
+ "in": "query",
12254
+ "name": "limit",
12255
+ "required": false,
12256
+ "schema": {
12257
+ "format": "double",
12258
+ "type": "number"
12259
+ },
12260
+ "example": 42
12261
+ }
12262
+ ]
12263
+ }
12264
+ },
11583
12265
  "/vm-templates": {
11584
12266
  "get": {
11585
12267
  "operationId": "GetVmTemplates",
@@ -11895,6 +12577,103 @@
11895
12577
  ]
11896
12578
  }
11897
12579
  },
12580
+ "/vm-templates/{id}/vdis": {
12581
+ "get": {
12582
+ "operationId": "GetVmTemplateVdis",
12583
+ "responses": {
12584
+ "200": {
12585
+ "description": "Ok",
12586
+ "content": {
12587
+ "application/json": {
12588
+ "schema": {
12589
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoVdi___"
12590
+ },
12591
+ "examples": {
12592
+ "Example 1": {
12593
+ "value": [
12594
+ {
12595
+ "VDI_type": "user",
12596
+ "id": "cbfeabfc-20c8-46eb-a094-84076eb29f04",
12597
+ "name_label": "Hard disk 1",
12598
+ "href": "/rest/v0/vdis/cbfeabfc-20c8-46eb-a094-84076eb29f04"
12599
+ },
12600
+ {
12601
+ "VDI_type": "user",
12602
+ "id": "bee66a2e-68a4-4ff8-9ed4-2f429587524f",
12603
+ "name_label": "Hard disk 2",
12604
+ "href": "/rest/v0/vdis/bee66a2e-68a4-4ff8-9ed4-2f429587524f"
12605
+ }
12606
+ ]
12607
+ }
12608
+ }
12609
+ }
12610
+ }
12611
+ },
12612
+ "401": {
12613
+ "description": "Authentication required"
12614
+ },
12615
+ "404": {
12616
+ "description": "Resource not found"
12617
+ }
12618
+ },
12619
+ "tags": [
12620
+ "vdis",
12621
+ "vms"
12622
+ ],
12623
+ "security": [
12624
+ {
12625
+ "*": []
12626
+ }
12627
+ ],
12628
+ "parameters": [
12629
+ {
12630
+ "in": "path",
12631
+ "name": "id",
12632
+ "required": true,
12633
+ "schema": {
12634
+ "type": "string"
12635
+ },
12636
+ "example": "6d50ba76-0f11-1ff1-4f6a-b502afc31b8e"
12637
+ },
12638
+ {
12639
+ "in": "query",
12640
+ "name": "fields",
12641
+ "required": false,
12642
+ "schema": {
12643
+ "type": "string"
12644
+ },
12645
+ "example": "VDI_type,id,name_label"
12646
+ },
12647
+ {
12648
+ "in": "query",
12649
+ "name": "ndjson",
12650
+ "required": false,
12651
+ "schema": {
12652
+ "type": "boolean"
12653
+ }
12654
+ },
12655
+ {
12656
+ "in": "query",
12657
+ "name": "filter",
12658
+ "required": false,
12659
+ "schema": {
12660
+ "type": "string"
12661
+ },
12662
+ "example": "VDI_type:user"
12663
+ },
12664
+ {
12665
+ "in": "query",
12666
+ "name": "limit",
12667
+ "required": false,
12668
+ "schema": {
12669
+ "format": "double",
12670
+ "type": "number"
12671
+ },
12672
+ "example": 42
12673
+ }
12674
+ ]
12675
+ }
12676
+ },
11898
12677
  "/vm-snapshots": {
11899
12678
  "get": {
11900
12679
  "operationId": "GetVmSnapshots",
@@ -12199,45 +12978,142 @@
12199
12978
  ],
12200
12979
  "security": [
12201
12980
  {
12202
- "*": []
12203
- }
12204
- ],
12205
- "parameters": [
12981
+ "*": []
12982
+ }
12983
+ ],
12984
+ "parameters": [
12985
+ {
12986
+ "in": "path",
12987
+ "name": "id",
12988
+ "required": true,
12989
+ "schema": {
12990
+ "type": "string"
12991
+ },
12992
+ "example": "d68fca2c-41e6-be87-d790-105c1642a090"
12993
+ }
12994
+ ]
12995
+ }
12996
+ },
12997
+ "/vm-snapshots/{id}/alarms": {
12998
+ "get": {
12999
+ "operationId": "GetVmSnapshotAlarms",
13000
+ "responses": {
13001
+ "200": {
13002
+ "description": "Ok",
13003
+ "content": {
13004
+ "application/json": {
13005
+ "schema": {
13006
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoAlarm___"
13007
+ },
13008
+ "examples": {
13009
+ "Example 1": {
13010
+ "value": [
13011
+ {
13012
+ "id": "7e87b95e-8ebb-31c5-30ad-ff2eb079604b",
13013
+ "time": 1747053794,
13014
+ "href": "/rest/v0/alarms/7e87b95e-8ebb-31c5-30ad-ff2eb079604b"
13015
+ },
13016
+ {
13017
+ "id": "7e87b95e-8ebb-31c5-30ad-ff2eb079604c",
13018
+ "time": 1747053795,
13019
+ "href": "/rest/v0/alarms/7e87b95e-8ebb-31c5-30ad-ff2eb079604c"
13020
+ }
13021
+ ]
13022
+ }
13023
+ }
13024
+ }
13025
+ }
13026
+ },
13027
+ "401": {
13028
+ "description": "Authentication required"
13029
+ },
13030
+ "404": {
13031
+ "description": "Resource not found"
13032
+ }
13033
+ },
13034
+ "tags": [
13035
+ "alarms",
13036
+ "vms"
13037
+ ],
13038
+ "security": [
13039
+ {
13040
+ "*": []
13041
+ }
13042
+ ],
13043
+ "parameters": [
13044
+ {
13045
+ "in": "path",
13046
+ "name": "id",
13047
+ "required": true,
13048
+ "schema": {
13049
+ "type": "string"
13050
+ },
13051
+ "example": "d68fca2c-41e6-be87-d790-105c1642a090"
13052
+ },
13053
+ {
13054
+ "in": "query",
13055
+ "name": "fields",
13056
+ "required": false,
13057
+ "schema": {
13058
+ "type": "string"
13059
+ },
13060
+ "example": "id,time"
13061
+ },
13062
+ {
13063
+ "in": "query",
13064
+ "name": "ndjson",
13065
+ "required": false,
13066
+ "schema": {
13067
+ "type": "boolean"
13068
+ }
13069
+ },
12206
13070
  {
12207
- "in": "path",
12208
- "name": "id",
12209
- "required": true,
13071
+ "in": "query",
13072
+ "name": "filter",
13073
+ "required": false,
12210
13074
  "schema": {
12211
13075
  "type": "string"
12212
13076
  },
12213
- "example": "d68fca2c-41e6-be87-d790-105c1642a090"
13077
+ "example": "time:>1747053793"
13078
+ },
13079
+ {
13080
+ "in": "query",
13081
+ "name": "limit",
13082
+ "required": false,
13083
+ "schema": {
13084
+ "format": "double",
13085
+ "type": "number"
13086
+ },
13087
+ "example": 42
12214
13088
  }
12215
13089
  ]
12216
13090
  }
12217
13091
  },
12218
- "/vm-snapshots/{id}/alarms": {
13092
+ "/vm-snapshots/{id}/vdis": {
12219
13093
  "get": {
12220
- "operationId": "GetVmSnapshotAlarms",
13094
+ "operationId": "GetVmSnapshotVdis",
12221
13095
  "responses": {
12222
13096
  "200": {
12223
13097
  "description": "Ok",
12224
13098
  "content": {
12225
13099
  "application/json": {
12226
13100
  "schema": {
12227
- "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoAlarm___"
13101
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoVdiSnapshot___"
12228
13102
  },
12229
13103
  "examples": {
12230
13104
  "Example 1": {
12231
13105
  "value": [
12232
13106
  {
12233
- "id": "7e87b95e-8ebb-31c5-30ad-ff2eb079604b",
12234
- "time": 1747053794,
12235
- "href": "/rest/v0/alarms/7e87b95e-8ebb-31c5-30ad-ff2eb079604b"
13107
+ "VDI_type": "user",
13108
+ "id": "a2831a61-6b1c-41e3-a328-bdfd13e76488",
13109
+ "name_label": "Debian Buster 10_oreva",
13110
+ "href": "/rest/v0/vdi-snapshots/a2831a61-6b1c-41e3-a328-bdfd13e76488"
12236
13111
  },
12237
13112
  {
12238
- "id": "7e87b95e-8ebb-31c5-30ad-ff2eb079604c",
12239
- "time": 1747053795,
12240
- "href": "/rest/v0/alarms/7e87b95e-8ebb-31c5-30ad-ff2eb079604c"
13113
+ "VDI_type": "user",
13114
+ "id": "41c52deb-0083-471e-bd72-252ea06a48b9",
13115
+ "name_label": "MRA XCP 8.2_uvuvo",
13116
+ "href": "/rest/v0/vdi-snapshots/41c52deb-0083-471e-bd72-252ea06a48b9"
12241
13117
  }
12242
13118
  ]
12243
13119
  }
@@ -12253,7 +13129,7 @@
12253
13129
  }
12254
13130
  },
12255
13131
  "tags": [
12256
- "alarms",
13132
+ "vdis",
12257
13133
  "vms"
12258
13134
  ],
12259
13135
  "security": [
@@ -12278,7 +13154,7 @@
12278
13154
  "schema": {
12279
13155
  "type": "string"
12280
13156
  },
12281
- "example": "id,time"
13157
+ "example": "VDI_type,id,name_label"
12282
13158
  },
12283
13159
  {
12284
13160
  "in": "query",
@@ -12295,7 +13171,7 @@
12295
13171
  "schema": {
12296
13172
  "type": "string"
12297
13173
  },
12298
- "example": "time:>1747053793"
13174
+ "example": "VDI_type:user"
12299
13175
  },
12300
13176
  {
12301
13177
  "in": "query",
@@ -12600,6 +13476,103 @@
12600
13476
  ]
12601
13477
  }
12602
13478
  },
13479
+ "/vm-controllers/{id}/vdis": {
13480
+ "get": {
13481
+ "operationId": "GetVmControllerVdis",
13482
+ "responses": {
13483
+ "200": {
13484
+ "description": "Ok",
13485
+ "content": {
13486
+ "application/json": {
13487
+ "schema": {
13488
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoVdi_-or-Unbrand_XoVdiSnapshot___"
13489
+ },
13490
+ "examples": {
13491
+ "Example 1": {
13492
+ "value": [
13493
+ {
13494
+ "VDI_type": "user",
13495
+ "id": "6b67c24d-5f09-4845-b753-0b73abf658f0",
13496
+ "name_label": "debian 12 hub disk",
13497
+ "href": "/rest/v0/vdi-snapshots/6b67c24d-5f09-4845-b753-0b73abf658f0"
13498
+ },
13499
+ {
13500
+ "VDI_type": "user",
13501
+ "id": "11d85da8-7caf-4a47-b030-15e78adb3f72",
13502
+ "name_label": "xoa root",
13503
+ "href": "/rest/v0/vdi-snapshots/11d85da8-7caf-4a47-b030-15e78adb3f72"
13504
+ }
13505
+ ]
13506
+ }
13507
+ }
13508
+ }
13509
+ }
13510
+ },
13511
+ "401": {
13512
+ "description": "Authentication required"
13513
+ },
13514
+ "404": {
13515
+ "description": "Resource not found"
13516
+ }
13517
+ },
13518
+ "tags": [
13519
+ "vdis",
13520
+ "vms"
13521
+ ],
13522
+ "security": [
13523
+ {
13524
+ "*": []
13525
+ }
13526
+ ],
13527
+ "parameters": [
13528
+ {
13529
+ "in": "path",
13530
+ "name": "id",
13531
+ "required": true,
13532
+ "schema": {
13533
+ "type": "string"
13534
+ },
13535
+ "example": "9b4775bd-9493-490a-9afa-f786a44caa4f"
13536
+ },
13537
+ {
13538
+ "in": "query",
13539
+ "name": "fields",
13540
+ "required": false,
13541
+ "schema": {
13542
+ "type": "string"
13543
+ },
13544
+ "example": "VDI_type,id,name_label"
13545
+ },
13546
+ {
13547
+ "in": "query",
13548
+ "name": "ndjson",
13549
+ "required": false,
13550
+ "schema": {
13551
+ "type": "boolean"
13552
+ }
13553
+ },
13554
+ {
13555
+ "in": "query",
13556
+ "name": "filter",
13557
+ "required": false,
13558
+ "schema": {
13559
+ "type": "string"
13560
+ },
13561
+ "example": "VDI_type:user"
13562
+ },
13563
+ {
13564
+ "in": "query",
13565
+ "name": "limit",
13566
+ "required": false,
13567
+ "schema": {
13568
+ "format": "double",
13569
+ "type": "number"
13570
+ },
13571
+ "example": 42
13572
+ }
13573
+ ]
13574
+ }
13575
+ },
12603
13576
  "/vifs": {
12604
13577
  "get": {
12605
13578
  "operationId": "GetVifs",
@@ -13911,33 +14884,212 @@
13911
14884
  "name": "id",
13912
14885
  "required": true,
13913
14886
  "schema": {
13914
- "type": "string"
14887
+ "type": "string"
14888
+ },
14889
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14890
+ }
14891
+ ],
14892
+ "requestBody": {
14893
+ "required": true,
14894
+ "content": {
14895
+ "application/json": {
14896
+ "schema": {
14897
+ "$ref": "#/components/schemas/UpdateUserRequestBody"
14898
+ },
14899
+ "example": {
14900
+ "name": "updated user name",
14901
+ "password": "newP4ssword",
14902
+ "permission": "admin",
14903
+ "preferences": {}
14904
+ }
14905
+ }
14906
+ }
14907
+ }
14908
+ },
14909
+ "delete": {
14910
+ "operationId": "DeleteUser",
14911
+ "responses": {
14912
+ "204": {
14913
+ "description": "No content"
14914
+ },
14915
+ "401": {
14916
+ "description": "Authentication required"
14917
+ },
14918
+ "404": {
14919
+ "description": "Resource not found"
14920
+ }
14921
+ },
14922
+ "tags": [
14923
+ "users"
14924
+ ],
14925
+ "security": [
14926
+ {
14927
+ "*": []
14928
+ }
14929
+ ],
14930
+ "parameters": [
14931
+ {
14932
+ "in": "path",
14933
+ "name": "id",
14934
+ "required": true,
14935
+ "schema": {
14936
+ "type": "string"
14937
+ },
14938
+ "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
14939
+ }
14940
+ ]
14941
+ }
14942
+ },
14943
+ "/tasks": {
14944
+ "get": {
14945
+ "operationId": "GetTasks",
14946
+ "responses": {
14947
+ "200": {
14948
+ "description": "Ok",
14949
+ "content": {
14950
+ "application/json": {
14951
+ "schema": {
14952
+ "$ref": "#/components/schemas/SendObjects_Partial_Unbrand_XoTask___"
14953
+ },
14954
+ "examples": {
14955
+ "Example 1": {
14956
+ "value": [
14957
+ "/rest/v0/tasks/0mdd1basu",
14958
+ "/rest/v0/tasks/0mdd1t24g"
14959
+ ]
14960
+ },
14961
+ "Example 2": {
14962
+ "value": [
14963
+ {
14964
+ "status": "failure",
14965
+ "id": "0mdd1basu",
14966
+ "properties": {
14967
+ "method": "xoa.licenses.getSelf",
14968
+ "params": {},
14969
+ "name": "API call: xoa.licenses.getSelf",
14970
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
14971
+ "type": "api.call"
14972
+ },
14973
+ "href": "/rest/v0/tasks/0mdd1basu"
14974
+ },
14975
+ {
14976
+ "status": "failure",
14977
+ "id": "0mdd1t24g",
14978
+ "properties": {
14979
+ "method": "xoa.licenses.getSelf",
14980
+ "params": {},
14981
+ "name": "API call: xoa.licenses.getSelf",
14982
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
14983
+ "type": "api.call"
14984
+ },
14985
+ "href": "/rest/v0/tasks/0mdd1t24g"
14986
+ }
14987
+ ]
14988
+ }
14989
+ }
14990
+ }
14991
+ }
14992
+ },
14993
+ "400": {
14994
+ "description": "Bad request"
14995
+ },
14996
+ "401": {
14997
+ "description": "Authentication required"
14998
+ }
14999
+ },
15000
+ "description": "\nIf watch is true, ndjson must also be true",
15001
+ "tags": [
15002
+ "tasks"
15003
+ ],
15004
+ "security": [
15005
+ {
15006
+ "*": []
15007
+ }
15008
+ ],
15009
+ "parameters": [
15010
+ {
15011
+ "in": "query",
15012
+ "name": "fields",
15013
+ "required": false,
15014
+ "schema": {
15015
+ "type": "string"
15016
+ },
15017
+ "example": "status,id,properties"
15018
+ },
15019
+ {
15020
+ "in": "query",
15021
+ "name": "ndjson",
15022
+ "required": false,
15023
+ "schema": {
15024
+ "type": "boolean"
15025
+ }
15026
+ },
15027
+ {
15028
+ "in": "query",
15029
+ "name": "watch",
15030
+ "required": false,
15031
+ "schema": {
15032
+ "type": "boolean"
15033
+ }
15034
+ },
15035
+ {
15036
+ "in": "query",
15037
+ "name": "filter",
15038
+ "required": false,
15039
+ "schema": {
15040
+ "type": "string"
15041
+ },
15042
+ "example": "status:failure"
15043
+ },
15044
+ {
15045
+ "in": "query",
15046
+ "name": "limit",
15047
+ "required": false,
15048
+ "schema": {
15049
+ "format": "double",
15050
+ "type": "number"
13915
15051
  },
13916
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
15052
+ "example": 42
13917
15053
  }
13918
- ],
13919
- "requestBody": {
13920
- "required": true,
13921
- "content": {
13922
- "application/json": {
13923
- "schema": {
13924
- "$ref": "#/components/schemas/UpdateUserRequestBody"
13925
- },
13926
- "example": {
13927
- "name": "updated user name",
13928
- "password": "newP4ssword",
13929
- "permission": "admin",
13930
- "preferences": {}
15054
+ ]
15055
+ }
15056
+ },
15057
+ "/tasks/{id}": {
15058
+ "get": {
15059
+ "operationId": "GetTask",
15060
+ "responses": {
15061
+ "200": {
15062
+ "description": "Ok",
15063
+ "content": {
15064
+ "application/json": {
15065
+ "schema": {
15066
+ "$ref": "#/components/schemas/Unbrand_XoTask_"
15067
+ },
15068
+ "examples": {
15069
+ "Example 1": {
15070
+ "value": {
15071
+ "id": "0mdd1basu",
15072
+ "properties": {
15073
+ "method": "xoa.licenses.getSelf",
15074
+ "params": {},
15075
+ "name": "API call: xoa.licenses.getSelf",
15076
+ "userId": "e531b8c9-3876-4ed9-8fd2-0476d5f825c9",
15077
+ "type": "api.call"
15078
+ },
15079
+ "start": 1753098047598,
15080
+ "status": "failure",
15081
+ "updatedAt": 1753098047696,
15082
+ "end": 1753098047600,
15083
+ "result": {
15084
+ "message": "invalid status closed, expected open",
15085
+ "name": "ConnectionError",
15086
+ "stack": "ConnectionError: invalid status closed, expected open\n at JsonRpcWebSocketClient._assertStatus (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/websocket-client.js:141:13)\n at JsonRpcWebSocketClient.send (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/websocket-client.js:128:10)\n at Peer.<anonymous> (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/index.js:47:12)\n at Peer.emit (node:events:518:28)\n at Peer.emit (/home/debian/xen-orchestra/@xen-orchestra/log/configure.js:52:17)\n at Peer.push (/home/debian/xoa/node_modules/json-rpc-peer/src/index.js:196:52)\n at /home/debian/xoa/node_modules/json-rpc-peer/src/index.js:142:12\n at Promise._execute (/home/debian/xen-orchestra/node_modules/bluebird/js/release/debuggability.js:384:9)\n at Promise._resolveFromExecutor (/home/debian/xen-orchestra/node_modules/bluebird/js/release/promise.js:518:18)\n at new Promise (/home/debian/xen-orchestra/node_modules/bluebird/js/release/promise.js:103:10)\n at Peer.request (/home/debian/xoa/node_modules/json-rpc-peer/src/index.js:139:12)\n at JsonRpcWebSocketClient.call (/home/debian/xoa/node_modules/jsonrpc-websocket-client/src/index.js:63:23)\n at Xoa.apply [as _getSelfLicenses] (/home/debian/xoa/packages/xo-server-xoa/src/index.js:929:26)\n at Xo.call (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:269:25)\n at file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:421:33\n at AsyncLocalStorage.run (node:internal/async_local_storage/async_hooks:91:14)\n at Task.runInside (/home/debian/xen-orchestra/@vates/task/index.js:175:41)\n at Task.run (/home/debian/xen-orchestra/@vates/task/index.js:159:31)\n at run (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:421:16)\n at Api.#callApiMethod (file:///home/debian/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:24)"
15087
+ }
15088
+ }
15089
+ }
15090
+ }
13931
15091
  }
13932
15092
  }
13933
- }
13934
- }
13935
- },
13936
- "delete": {
13937
- "operationId": "DeleteUser",
13938
- "responses": {
13939
- "204": {
13940
- "description": "No content"
13941
15093
  },
13942
15094
  "401": {
13943
15095
  "description": "Authentication required"
@@ -13947,7 +15099,7 @@
13947
15099
  }
13948
15100
  },
13949
15101
  "tags": [
13950
- "users"
15102
+ "tasks"
13951
15103
  ],
13952
15104
  "security": [
13953
15105
  {
@@ -13962,7 +15114,15 @@
13962
15114
  "schema": {
13963
15115
  "type": "string"
13964
15116
  },
13965
- "example": "722d17b9-699b-49d2-8193-be1ac573d3de"
15117
+ "example": "0mdd1basu"
15118
+ },
15119
+ {
15120
+ "in": "query",
15121
+ "name": "wait",
15122
+ "required": false,
15123
+ "schema": {
15124
+ "type": "boolean"
15125
+ }
13966
15126
  }
13967
15127
  ]
13968
15128
  }
@@ -17996,6 +19156,98 @@
17996
19156
  ]
17997
19157
  }
17998
19158
  },
19159
+ "/pools/{id}/missing_patches": {
19160
+ "get": {
19161
+ "operationId": "GetPoolMissingPatches",
19162
+ "responses": {
19163
+ "200": {
19164
+ "description": "Ok",
19165
+ "content": {
19166
+ "application/json": {
19167
+ "schema": {
19168
+ "anyOf": [
19169
+ {
19170
+ "items": {
19171
+ "$ref": "#/components/schemas/XcpPatches"
19172
+ },
19173
+ "type": "array"
19174
+ },
19175
+ {
19176
+ "items": {
19177
+ "$ref": "#/components/schemas/XsPatches"
19178
+ },
19179
+ "type": "array"
19180
+ }
19181
+ ]
19182
+ },
19183
+ "examples": {
19184
+ "Example 1": {
19185
+ "value": [
19186
+ {
19187
+ "url": "http://www.samba.org/",
19188
+ "version": "4.10.16",
19189
+ "name": "libsmbclient",
19190
+ "license": "GPLv3+ and LGPLv3+",
19191
+ "changelog": {
19192
+ "date": 1690286400,
19193
+ "description": "- resolves: #2222250 - Fix netlogon capabilities level 2",
19194
+ "author": "Andreas Schneider <asn@redhat.com> - 4.10.16-25"
19195
+ },
19196
+ "release": "25.el7_9",
19197
+ "size": 149400,
19198
+ "description": "The SMB client library"
19199
+ },
19200
+ {
19201
+ "url": "http://www.openssh.com/portable.html",
19202
+ "version": "7.4p1",
19203
+ "name": "openssh",
19204
+ "license": "BSD",
19205
+ "changelog": {
19206
+ "date": 1742212800,
19207
+ "description": "- Fix CVE-2025-26465 - Fix cases where error codes were not correctly set",
19208
+ "author": "Lucas Ravagnier <lucas.ravagnier@vates.tech> - 7.4p1-23.3.2 + 0.10.3-2.23.3.2"
19209
+ },
19210
+ "release": "23.3.2.xcpng8.2",
19211
+ "size": 429044,
19212
+ "description": "An open source implementation of SSH protocol versions 1 and 2"
19213
+ }
19214
+ ]
19215
+ }
19216
+ }
19217
+ }
19218
+ }
19219
+ },
19220
+ "401": {
19221
+ "description": "Authentication required"
19222
+ },
19223
+ "403": {
19224
+ "description": "Feature unauthorized"
19225
+ },
19226
+ "404": {
19227
+ "description": "Resource not found"
19228
+ }
19229
+ },
19230
+ "tags": [
19231
+ "pools"
19232
+ ],
19233
+ "security": [
19234
+ {
19235
+ "*": []
19236
+ }
19237
+ ],
19238
+ "parameters": [
19239
+ {
19240
+ "in": "path",
19241
+ "name": "id",
19242
+ "required": true,
19243
+ "schema": {
19244
+ "type": "string"
19245
+ },
19246
+ "example": "355ee47d-ff4c-4924-3db2-fd86ae629676"
19247
+ }
19248
+ ]
19249
+ }
19250
+ },
17999
19251
  "/pifs": {
18000
19252
  "get": {
18001
19253
  "operationId": "GetPifs",
@@ -25756,6 +27008,160 @@
25756
27008
  ]
25757
27009
  }
25758
27010
  },
27011
+ "/hosts/{id}/smt": {
27012
+ "get": {
27013
+ "operationId": "GethostSmt",
27014
+ "responses": {
27015
+ "200": {
27016
+ "description": "Ok",
27017
+ "content": {
27018
+ "application/json": {
27019
+ "schema": {
27020
+ "properties": {
27021
+ "enabled": {
27022
+ "type": "boolean"
27023
+ }
27024
+ },
27025
+ "required": [
27026
+ "enabled"
27027
+ ],
27028
+ "type": "object"
27029
+ },
27030
+ "examples": {
27031
+ "Example 1": {
27032
+ "value": {
27033
+ "enabled": true
27034
+ }
27035
+ }
27036
+ }
27037
+ }
27038
+ }
27039
+ },
27040
+ "401": {
27041
+ "description": "Authentication required"
27042
+ },
27043
+ "404": {
27044
+ "description": "Resource not found"
27045
+ },
27046
+ "500": {
27047
+ "description": "Internal server error, XenServer/XCP-ng error"
27048
+ }
27049
+ },
27050
+ "description": "Returns a boolean indicating whether SMT (Simultaneous Multi-Threading) is enabled",
27051
+ "tags": [
27052
+ "hosts"
27053
+ ],
27054
+ "security": [
27055
+ {
27056
+ "*": []
27057
+ }
27058
+ ],
27059
+ "parameters": [
27060
+ {
27061
+ "in": "path",
27062
+ "name": "id",
27063
+ "required": true,
27064
+ "schema": {
27065
+ "type": "string"
27066
+ },
27067
+ "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
27068
+ }
27069
+ ]
27070
+ }
27071
+ },
27072
+ "/hosts/{id}/missing_patches": {
27073
+ "get": {
27074
+ "operationId": "GetMissingPatches",
27075
+ "responses": {
27076
+ "200": {
27077
+ "description": "Ok",
27078
+ "content": {
27079
+ "application/json": {
27080
+ "schema": {
27081
+ "anyOf": [
27082
+ {
27083
+ "items": {
27084
+ "$ref": "#/components/schemas/XcpPatches"
27085
+ },
27086
+ "type": "array"
27087
+ },
27088
+ {
27089
+ "items": {
27090
+ "$ref": "#/components/schemas/XsPatches"
27091
+ },
27092
+ "type": "array"
27093
+ }
27094
+ ]
27095
+ },
27096
+ "examples": {
27097
+ "Example 1": {
27098
+ "value": [
27099
+ {
27100
+ "url": "http://www.samba.org/",
27101
+ "version": "4.10.16",
27102
+ "name": "libsmbclient",
27103
+ "license": "GPLv3+ and LGPLv3+",
27104
+ "changelog": {
27105
+ "date": 1690286400,
27106
+ "description": "- resolves: #2222250 - Fix netlogon capabilities level 2",
27107
+ "author": "Andreas Schneider <asn@redhat.com> - 4.10.16-25"
27108
+ },
27109
+ "release": "25.el7_9",
27110
+ "size": 149400,
27111
+ "description": "The SMB client library"
27112
+ },
27113
+ {
27114
+ "url": "http://www.openssh.com/portable.html",
27115
+ "version": "7.4p1",
27116
+ "name": "openssh",
27117
+ "license": "BSD",
27118
+ "changelog": {
27119
+ "date": 1742212800,
27120
+ "description": "- Fix CVE-2025-26465 - Fix cases where error codes were not correctly set",
27121
+ "author": "Lucas Ravagnier <lucas.ravagnier@vates.tech> - 7.4p1-23.3.2 + 0.10.3-2.23.3.2"
27122
+ },
27123
+ "release": "23.3.2.xcpng8.2",
27124
+ "size": 429044,
27125
+ "description": "An open source implementation of SSH protocol versions 1 and 2"
27126
+ }
27127
+ ]
27128
+ }
27129
+ }
27130
+ }
27131
+ }
27132
+ },
27133
+ "401": {
27134
+ "description": "Authentication required"
27135
+ },
27136
+ "403": {
27137
+ "description": "Feature unauthorized"
27138
+ },
27139
+ "404": {
27140
+ "description": "Resource not found"
27141
+ }
27142
+ },
27143
+ "description": "Host must be running",
27144
+ "tags": [
27145
+ "hosts"
27146
+ ],
27147
+ "security": [
27148
+ {
27149
+ "*": []
27150
+ }
27151
+ ],
27152
+ "parameters": [
27153
+ {
27154
+ "in": "path",
27155
+ "name": "id",
27156
+ "required": true,
27157
+ "schema": {
27158
+ "type": "string"
27159
+ },
27160
+ "example": "b61a5c92-700e-4966-a13b-00633f03eea8"
27161
+ }
27162
+ ]
27163
+ }
27164
+ },
25759
27165
  "/groups": {
25760
27166
  "get": {
25761
27167
  "operationId": "GetGroups",
@@ -26547,6 +27953,20 @@
26547
27953
  }
26548
27954
  }
26549
27955
  }
27956
+ },
27957
+ "/docs/swagger.json": {
27958
+ "get": {
27959
+ "operationId": "swaggerSpec",
27960
+ "description": "Returns the swagger json ready to use for REST API clients",
27961
+ "responses": {
27962
+ "200": {
27963
+ "description": "Ok"
27964
+ }
27965
+ },
27966
+ "tags": [
27967
+ "docs"
27968
+ ]
27969
+ }
26550
27970
  }
26551
27971
  }
26552
27972
  }