You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"log": "Retrieves recommended host migrations to perform when evacuating the host from the wlb server. If a VM cannot be migrated from the host the reason is listed instead of a recommendation." },
@@ -3663,12 +3663,18 @@
3663
3663
"name": "pool.set_vswitch_controller",
3664
3664
"log": "Deprecated: use 'SDN_controller.introduce' and 'SDN_controller.forget' instead." } ],
3665
3665
"inverness": [
3666
+
{ "transition": "published class",
3667
+
"name": "vdi_nbd_server_info",
3668
+
"log": "Details for connecting to a VDI using the Network Block Device protocol" },
3666
3669
{ "transition": "published field",
3667
3670
"name": "PIF.igmp_snooping_status",
3668
3671
"log": "The IGMP snooping status of the corresponding network bridge" },
3669
3672
{ "transition": "published field",
3670
3673
"name": "VDI.cbt_enabled",
3671
3674
"log": "True if changed blocks are tracked for this VDI" },
3675
+
{ "transition": "published field",
3676
+
"name": "network.purpose",
3677
+
"log": "Set of purposes for which the server will use this network" },
3672
3678
{ "transition": "published field",
3673
3679
"name": "pool.igmp_snooping_enabled",
3674
3680
"log": "true if IGMP snooping is enabled in the pool, false otherwise." },
@@ -3678,6 +3684,21 @@
3678
3684
{ "transition": "published field",
3679
3685
"name": "pool_update.other_config",
3680
3686
"log": "additional configuration" },
3687
+
{ "transition": "published field",
3688
+
"name": "vdi_nbd_server_info.address",
3689
+
"log": "An address on which the server can be reached; this can be IPv4, IPv6, or a DNS name." },
3690
+
{ "transition": "published field",
3691
+
"name": "vdi_nbd_server_info.cert",
3692
+
"log": "The TLS certificate of the server" },
3693
+
{ "transition": "published field",
3694
+
"name": "vdi_nbd_server_info.exportname",
3695
+
"log": "The exportname to request over NBD. This holds details including an authentication token, so it must be protected appropriately. Clients should regard the exportname as an opaque string or token." },
3696
+
{ "transition": "published field",
3697
+
"name": "vdi_nbd_server_info.port",
3698
+
"log": "The TCP port" },
3699
+
{ "transition": "published field",
3700
+
"name": "vdi_nbd_server_info.subject",
3701
+
"log": "For convenience, this redundant field holds a subject of the certificate." },
3681
3702
{ "transition": "published message",
3682
3703
"name": "VDI.data_destroy",
3683
3704
"log": "Delete the data of the snapshot VDI, but keep its changed block tracking metadata. When successful, this call changes the type of the VDI to cbt_metadata. This operation is idempotent: calling it on a VDI of type cbt_metadata results in a no-op, and no error will be thrown." },
@@ -3687,21 +3708,30 @@
3687
3708
{ "transition": "published message",
3688
3709
"name": "VDI.enable_cbt",
3689
3710
"log": "Enable changed block tracking for the VDI. This call is idempotent - enabling CBT for a VDI for which CBT is already enabled results in a no-op, and no error will be thrown." },
3690
-
{ "transition": "published message",
3691
-
"name": "VDI.export_changed_blocks",
3692
-
"log": "Reports which blocks differ in the two VDIs. This operation is not allowed when vdi_to is attached to a VM." },
3693
3711
{ "transition": "published message",
3694
3712
"name": "VDI.get_nbd_info",
3695
-
"log": "Get a list of URIs specifying how to access this VDI via the NBD server of XenServer. A URI will be returned for each PIF of each host that is connected to the VDI's SR. An empty list is returned in case no network has a PIF on a host with access to the relevant SR. To access the given VDI, any of the returned URIs can be passed to the NBD server running at the IP address and port specified by that URI as the export name." },
3713
+
"log": "Get details specifying how to access this VDI via a Network Block Device server. For each of a set of NBD server addresses on which the VDI is available, the return value set contains a vdi_nbd_server_info object that contains an exportname to request once the NBD connection is established, and connection details for the address. An empty list is returned if there is no network that has a PIF on a host with access to the relevant SR, or if no such network has been assigned an NBD-related purpose in its purpose field. To access the given VDI, any of the vdi_nbd_server_info objects can be used to make a connection to a server, and then the VDI will be available by requesting the exportname." },
3714
+
{ "transition": "published message",
3715
+
"name": "VDI.list_changed_blocks",
3716
+
"log": "Compare two VDIs in 64k block increments and report which blocks differ. This operation is not allowed when vdi_to is attached to a VM." },
3696
3717
{ "transition": "published message",
3697
3718
"name": "VM.set_bios_strings",
3698
3719
"log": "Set custom BIOS strings to this VM. VM will be given a default set of BIOS strings, only some of which can be overridden by the supplied values. Allowed keys are: 'bios-vendor', 'bios-version', 'system-manufacturer', 'system-product-name', 'system-version', 'system-serial-number', 'enclosure-asset-tag'" },
3720
+
{ "transition": "published message",
3721
+
"name": "network.add_purpose",
3722
+
"log": "Give a network a new purpose (if not present already)" },
3723
+
{ "transition": "published message",
3724
+
"name": "network.remove_purpose",
3725
+
"log": "Remove a purpose from a network (if present)" },
3699
3726
{ "transition": "published message",
3700
3727
"name": "pool.management_reconfigure",
3701
3728
"log": "Reconfigure the management network interface for all Hosts in the Pool" },
3702
3729
{ "transition": "published message",
3703
3730
"name": "pool.set_igmp_snooping_enabled",
3704
3731
"log": "Enable or disable IGMP Snooping on the pool." },
"description": "Change to another edition, or reactivate the current edition after a license has expired. This may be subject to the successful checkout of an appropriate license." } ],
15941
15941
"implicit": false },
15942
15942
{ "name": "get_server_certificate",
15943
-
"description": "Get the installed server SSL certificate.",
15944
-
"result": [ "string", "The installed server SSL certificate, in PEM form." ],
15943
+
"description": "Get the installed server public TLS certificate.",
15944
+
"result": [ "string", "The installed server public TLS certificate, in PEM form." ],
"description": "Retrieves recommended host migrations to perform when evacuating the host from the wlb server. If a VM cannot be migrated from the host the reason is listed instead of a recommendation.",
@@ -20189,6 +20192,16 @@
20189
20192
{ "transition": "published",
20190
20193
"release": "creedence",
20191
20194
"description": "The IP addresses assigned to VIFs on networks that have active xapi-managed DHCP" } ],
20195
+
"default": "{}" },
20196
+
{ "name": "purpose",
20197
+
"description": "Set of purposes for which the server will use this network",
20198
+
"type": "enum network_purpose set",
20199
+
"qualifier": "RO/runtime",
20200
+
"tag": "",
20201
+
"lifecycle": [
20202
+
{ "transition": "published",
20203
+
"release": "inverness",
20204
+
"description": "Set of purposes for which the server will use this network" } ],
20192
20205
"default": "{}" } ],
20193
20206
"messages": [
20194
20207
{ "name": "get_all_records",
@@ -20221,6 +20234,50 @@
20221
20234
"release": "rio",
20222
20235
"description": "A virtual network" } ],
20223
20236
"implicit": true },
20237
+
{ "name": "remove_purpose",
20238
+
"description": "Remove a purpose from a network (if present)",
20239
+
"result": [ "void" ],
20240
+
"params": [
20241
+
{ "type": "session ref",
20242
+
"name": "session_id",
20243
+
"doc": "Reference to a valid session" },
20244
+
{ "type": "network ref",
20245
+
"name": "self",
20246
+
"doc": "The network" },
20247
+
{ "type": "enum network_purpose",
20248
+
"name": "value",
20249
+
"doc": "The purpose to remove" } ],
20250
+
"errors": [ ],
20251
+
"roles": [ "pool-admin" ],
20252
+
"tag": "",
20253
+
"lifecycle": [
20254
+
{ "transition": "published",
20255
+
"release": "inverness",
20256
+
"description": "Remove a purpose from a network (if present)" } ],
20257
+
"implicit": false },
20258
+
{ "name": "add_purpose",
20259
+
"description": "Give a network a new purpose (if not present already)",
20260
+
"result": [ "void" ],
20261
+
"params": [
20262
+
{ "type": "session ref",
20263
+
"name": "session_id",
20264
+
"doc": "Reference to a valid session" },
20265
+
{ "type": "network ref",
20266
+
"name": "self",
20267
+
"doc": "The network" },
20268
+
{ "type": "enum network_purpose",
20269
+
"name": "value",
20270
+
"doc": "The purpose to add" } ],
20271
+
"errors": [
20272
+
{ "name": "NETWORK_INCOMPATIBLE_PURPOSES",
20273
+
"doc": "You tried to add a purpose to a network but the new purpose is not compatible with an existing purpose of the network or other networks." } ],
20274
+
"roles": [ "pool-admin" ],
20275
+
"tag": "",
20276
+
"lifecycle": [
20277
+
{ "transition": "published",
20278
+
"release": "inverness",
20279
+
"description": "Give a network a new purpose (if not present already)" } ],
20280
+
"implicit": false },
20224
20281
{ "name": "set_default_locking_mode",
20225
20282
"description": "Set the default locking mode for VIFs attached to this network",
20226
20283
"result": [ "void" ],
@@ -20461,6 +20518,24 @@
20461
20518
"release": "rio",
20462
20519
"description": "a human-readable name" } ],
20463
20520
"implicit": true },
20521
+
{ "name": "get_purpose",
20522
+
"description": "Get the purpose field of the given network.",
20523
+
"result": [ "enum network_purpose set", "value of the field" ],
"description": "Set of purposes for which the server will use this network" } ],
20538
+
"implicit": true },
20464
20539
{ "name": "get_assigned_ips",
20465
20540
"description": "Get the assigned_ips field of the given network.",
20466
20541
"result": [ "(VIF ref -> string) map", "value of the field" ],
@@ -20834,7 +20909,13 @@
20834
20909
{ "name": "unlocked",
20835
20910
"doc": "Treat all VIFs on this network with locking_mode = 'default' as if they have locking_mode = 'unlocked'" },
20836
20911
{ "name": "disabled",
20837
-
"doc": "Treat all VIFs on this network with locking_mode = 'default' as if they have locking_mode = 'disabled'" } ] } ],
20912
+
"doc": "Treat all VIFs on this network with locking_mode = 'default' as if they have locking_mode = 'disabled'" } ] },
20913
+
{ "name": "network_purpose",
20914
+
"values": [
20915
+
{ "name": "nbd",
20916
+
"doc": "Network Block Device service using TLS" },
20917
+
{ "name": "insecure_nbd",
20918
+
"doc": "Network Block Device service without integrity or confidentiality: NOT RECOMMENDED" } ] } ],
20838
20919
"lifecycle": [
20839
20920
{ "transition": "published",
20840
20921
"release": "rio",
@@ -27153,7 +27234,7 @@
27153
27234
"doc": "Disabling changed block tracking for a VDI" },
27154
27235
{ "name": "vdi_data_destroy",
27155
27236
"doc": "Deleting the data of the VDI" },
27156
-
{ "name": "vdi_export_changed_blocks",
27237
+
{ "name": "vdi_list_changed_blocks",
27157
27238
"doc": "Exporting a bitmap that shows the changed blocks between two VDIs" },
27158
27239
{ "name": "vdi_set_on_boot",
27159
27240
"doc": "Setting the on_boot field of the VDI" },
@@ -27607,15 +27688,15 @@
27607
27688
"description": "A virtual disk image" } ],
27608
27689
"implicit": true },
27609
27690
{ "name": "get_nbd_info",
27610
-
"description": "Get a list of URIs specifying how to access this VDI via the NBD serverof XenServer. A URI will be returned for each PIF of each host that is connected to the VDI's SR. An empty list is returned in case no network has a PIF on a host with access to the relevant SR. To access the given VDI, any of the returned URIs can be passed to the NBD server running at the IP address and port specified by that URI as the export name.",
27611
-
"result": [ "string set", "The list of URIs." ],
27691
+
"description": "Get details specifying how to access this VDI via a Network Block Device server. For each of a set of NBD server addresses on which the VDI is available, the return value set contains a vdi_nbd_server_info object that contains an exportname to request once the NBD connection is established, and connection details for the address. An empty list is returned if there is no network that has a PIF on a host with access to the relevant SR, or if no such network has been assigned an NBD-related purpose in its purpose field. To access the given VDI, any of the vdi_nbd_server_info objects can be used to make a connection to a server, and then the VDI will be available by requesting the exportname.",
27692
+
"result": [ "vdi_nbd_server_info record set", "The details necessary for connecting to the VDI over NBD. This includes an authentication token, so must be treated as sensitive material and must not be sent over insecure networks." ],
27612
27693
"params": [
27613
27694
{ "type": "session ref",
27614
27695
"name": "session_id",
27615
27696
"doc": "Reference to a valid session" },
27616
27697
{ "type": "VDI ref",
27617
27698
"name": "self",
27618
-
"doc": "The VDI to access via NBD." } ],
27699
+
"doc": "The VDI to access via Network Block Device protocol" } ],
27619
27700
"errors": [
27620
27701
{ "name": "VDI_INCOMPATIBLE_TYPE",
27621
27702
"doc": "This operation cannot be performed because the specified VDI is of an incompatible type (eg: an HA statefile cannot be attached to a guest)" } ],
@@ -27624,10 +27705,10 @@
27624
27705
"lifecycle": [
27625
27706
{ "transition": "published",
27626
27707
"release": "inverness",
27627
-
"description": "Get a list of URIs specifying how to access this VDI via the NBD serverof XenServer. A URI will be returned for each PIF of each host that is connected to the VDI's SR. An empty list is returned in case no network has a PIF on a host with access to the relevant SR. To access the given VDI, any of the returned URIs can be passed to the NBD server running at the IP address and port specified by that URI as the export name." } ],
27708
+
"description": "Get details specifying how to access this VDI via a Network Block Device server. For each of a set of NBD server addresses on which the VDI is available, the return value set contains a vdi_nbd_server_info object that contains an exportname to request once the NBD connection is established, and connection details for the address. An empty list is returned if there is no network that has a PIF on a host with access to the relevant SR, or if no such network has been assigned an NBD-related purpose in its purpose field. To access the given VDI, any of the vdi_nbd_server_info objects can be used to make a connection to a server, and then the VDI will be available by requesting the exportname." } ],
27628
27709
"implicit": false },
27629
-
{ "name": "export_changed_blocks",
27630
-
"description": "Reports which blocks differ in the two VDIs. This operation is not allowed when vdi_to is attached to a VM.",
27710
+
{ "name": "list_changed_blocks",
27711
+
"description": "Compare two VDIs in 64k block increments and report which blocks differ. This operation is not allowed when vdi_to is attached to a VM.",
27631
27712
"result": [ "string", "A base64 string-encoding of the bitmap showing which blocks differ in the two VDIs." ],
27632
27713
"params": [
27633
27714
{ "type": "session ref",
@@ -27655,7 +27736,7 @@
27655
27736
"lifecycle": [
27656
27737
{ "transition": "published",
27657
27738
"release": "inverness",
27658
-
"description": "Reports which blocks differ in the two VDIs. This operation is not allowed when vdi_to is attached to a VM." } ],
27739
+
"description": "Compare two VDIs in 64k block increments and report which blocks differ. This operation is not allowed when vdi_to is attached to a VM." } ],
27659
27740
"implicit": false },
27660
27741
{ "name": "data_destroy",
27661
27742
"description": "Delete the data of the snapshot VDI, but keep its changed block tracking metadata. When successful, this call changes the type of the VDI to cbt_metadata. This operation is idempotent: calling it on a VDI of type cbt_metadata results in a no-op, and no error will be thrown.",
@@ -29394,7 +29475,7 @@
29394
29475
"doc": "Disabling changed block tracking for a VDI" },
29395
29476
{ "name": "data_destroy",
29396
29477
"doc": "Deleting the data of the VDI" },
29397
-
{ "name": "export_changed_blocks",
29478
+
{ "name": "list_changed_blocks",
29398
29479
"doc": "Exporting a bitmap that shows the changed blocks between two VDIs" },
29399
29480
{ "name": "set_on_boot",
29400
29481
"doc": "Setting the on_boot field of the VDI" },
@@ -33030,7 +33111,9 @@
33030
33111
{ "name": "VMSS",
33031
33112
"doc": "VMSS" },
33032
33113
{ "name": "PVS_proxy",
33033
-
"doc": "PVS_proxy" } ] } ],
33114
+
"doc": "PVS_proxy" },
33115
+
{ "name": "VDI",
33116
+
"doc": "VDI" } ] } ],
33034
33117
"lifecycle": [
33035
33118
{ "transition": "published",
33036
33119
"release": "orlando",
@@ -37914,4 +37997,58 @@
37914
37997
{ "transition": "published",
37915
37998
"release": "falcon",
37916
37999
"description": "" } ],
38000
+
"tag": "" }, { "name": "vdi_nbd_server_info",
38001
+
"description": "Details for connecting to a VDI using the Network Block Device protocol",
38002
+
"fields": [
38003
+
{ "name": "exportname",
38004
+
"description": "The exportname to request over NBD. This holds details including an authentication token, so it must be protected appropriately. Clients should regard the exportname as an opaque string or token.",
38005
+
"type": "string",
38006
+
"qualifier": "RO/runtime",
38007
+
"tag": "",
38008
+
"lifecycle": [
38009
+
{ "transition": "published",
38010
+
"release": "inverness",
38011
+
"description": "" } ] },
38012
+
{ "name": "address",
38013
+
"description": "An address on which the server can be reached; this can be IPv4, IPv6, or a DNS name.",
38014
+
"type": "string",
38015
+
"qualifier": "RO/runtime",
38016
+
"tag": "",
38017
+
"lifecycle": [
38018
+
{ "transition": "published",
38019
+
"release": "inverness",
38020
+
"description": "" } ] },
38021
+
{ "name": "port",
38022
+
"description": "The TCP port",
38023
+
"type": "int",
38024
+
"qualifier": "RO/runtime",
38025
+
"tag": "",
38026
+
"lifecycle": [
38027
+
{ "transition": "published",
38028
+
"release": "inverness",
38029
+
"description": "" } ] },
38030
+
{ "name": "cert",
38031
+
"description": "The TLS certificate of the server",
38032
+
"type": "string",
38033
+
"qualifier": "RO/runtime",
38034
+
"tag": "",
38035
+
"lifecycle": [
38036
+
{ "transition": "published",
38037
+
"release": "inverness",
38038
+
"description": "" } ] },
38039
+
{ "name": "subject",
38040
+
"description": "For convenience, this redundant field holds a subject of the certificate.",
0 commit comments