Update XenAPI based on XS/master

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This commit is contained in:
Mihaela Stoica 2017-11-16 15:18:10 +00:00 committed by Konstantina Chremmou
parent 0a8f9b8aa1
commit 8e5b40b84c
62 changed files with 907 additions and 38 deletions

View File

@ -87,6 +87,15 @@ namespace XenAPI
return false;
}
internal static List<Auth> ProxyArrayToObjectList(Proxy_Auth[] input)
{
var result = new List<Auth>();
foreach (var item in input)
result.Add(new Auth(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Auth server)
{
if (opaqueRef == null)

View File

@ -138,6 +138,15 @@ namespace XenAPI
Helper.AreEqual2(this._mime_type, other._mime_type);
}
internal static List<Blob> ProxyArrayToObjectList(Proxy_Blob[] input)
{
var result = new List<Blob>();
foreach (var item in input)
result.Add(new Blob(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Blob server)
{
if (opaqueRef == null)

View File

@ -145,6 +145,15 @@ namespace XenAPI
Helper.AreEqual2(this._links_up, other._links_up);
}
internal static List<Bond> ProxyArrayToObjectList(Proxy_Bond[] input)
{
var result = new List<Bond>();
foreach (var item in input)
result.Add(new Bond(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Bond server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Console> ProxyArrayToObjectList(Proxy_Console[] input)
{
var result = new List<Console>();
foreach (var item in input)
result.Add(new Console(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Console server)
{
if (opaqueRef == null)

View File

@ -117,6 +117,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Crashdump> ProxyArrayToObjectList(Proxy_Crashdump[] input)
{
var result = new List<Crashdump>();
foreach (var item in input)
result.Add(new Crashdump(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Crashdump server)
{
if (opaqueRef == null)

View File

@ -103,6 +103,15 @@ namespace XenAPI
Helper.AreEqual2(this._introduced_SRs, other._introduced_SRs);
}
internal static List<DR_task> ProxyArrayToObjectList(Proxy_DR_task[] input)
{
var result = new List<DR_task>();
foreach (var item in input)
result.Add(new DR_task(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, DR_task server)
{
if (opaqueRef == null)

View File

@ -145,6 +145,15 @@ namespace XenAPI
Helper.AreEqual2(this._value, other._value);
}
internal static List<Data_source> ProxyArrayToObjectList(Proxy_Data_source[] input)
{
var result = new List<Data_source>();
foreach (var item in input)
result.Add(new Data_source(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Data_source server)
{
if (opaqueRef == null)

View File

@ -138,6 +138,15 @@ namespace XenAPI
Helper.AreEqual2(this._host, other._host);
}
internal static List<Feature> ProxyArrayToObjectList(Proxy_Feature[] input)
{
var result = new List<Feature>();
foreach (var item in input)
result.Add(new Feature(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Feature server)
{
if (opaqueRef == null)

View File

@ -492,6 +492,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The IGMP Snooping setting cannot be applied for some of the host, network(s)..
/// </summary>
public static string COULD_NOT_UPDATE_IGMP_SNOOPING_EVERYWHERE {
get {
return ResourceManager.GetString("COULD_NOT_UPDATE_IGMP_SNOOPING_EVERYWHERE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The CPU does not support masking of features..
/// </summary>
@ -1770,6 +1779,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to 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..
/// </summary>
public static string NETWORK_INCOMPATIBLE_PURPOSES {
get {
return ResourceManager.GetString("NETWORK_INCOMPATIBLE_PURPOSES", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The network is not managed by xapi..
/// </summary>
@ -1842,6 +1860,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to Nvidia tools error. Please ensure that the latest Nvidia tools are installed.
/// </summary>
public static string NVIDIA_TOOLS_ERROR {
get {
return ResourceManager.GetString("NVIDIA_TOOLS_ERROR", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The specified object no longer exists..
/// </summary>
@ -1914,6 +1941,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The passthrough_enabled must be true before passthrough usb to vm..
/// </summary>
public static string PASSTHROUGH_NOT_ENABLED {
get {
return ResourceManager.GetString("PASSTHROUGH_NOT_ENABLED", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The update {0} has already been applied.
/// </summary>
@ -2454,6 +2490,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The VDI corresponding to this PUSB has existing VBDs..
/// </summary>
public static string PUSB_VDI_CONFLICT {
get {
return ResourceManager.GetString("PUSB_VDI_CONFLICT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The PVS site already has cache storage configured for the host..
/// </summary>
@ -3368,6 +3413,24 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to Given SMB version is not allowed. Choose either 1.0 or 3.0.
/// </summary>
public static string SR_BACKEND_FAILURE_227 {
get {
return ResourceManager.GetString("SR_BACKEND_FAILURE_227", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Require &quot;-o&quot; along with xe-mount-isosr.
/// </summary>
public static string SR_BACKEND_FAILURE_228 {
get {
return ResourceManager.GetString("SR_BACKEND_FAILURE_228", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The specified VDI is currently in use.
/// </summary>
@ -3926,6 +3989,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to Failed to calculate changed blocks for given VDIs..
/// </summary>
public static string SR_BACKEND_FAILURE_460 {
get {
return ResourceManager.GetString("SR_BACKEND_FAILURE_460", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The storage repository is not available.
/// </summary>
@ -4646,6 +4718,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The VM has too many VUSBs..
/// </summary>
public static string TOO_MANY_VUSBS {
get {
return ResourceManager.GetString("TOO_MANY_VUSBS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The tunnel transport PIF has no IP configuration set..
/// </summary>
@ -4781,6 +4862,51 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The USB device is currently attached to a VM..
/// </summary>
public static string USB_ALREADY_ATTACHED {
get {
return ResourceManager.GetString("USB_ALREADY_ATTACHED", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to USB_groups are currently restricted to contain no more than one VUSB..
/// </summary>
public static string USB_GROUP_CONFLICT {
get {
return ResourceManager.GetString("USB_GROUP_CONFLICT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The USB group does not contain any PUSBs..
/// </summary>
public static string USB_GROUP_CONTAINS_NO_PUSBS {
get {
return ResourceManager.GetString("USB_GROUP_CONTAINS_NO_PUSBS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The USB group contains active PUSBs and cannot be deleted..
/// </summary>
public static string USB_GROUP_CONTAINS_PUSB {
get {
return ResourceManager.GetString("USB_GROUP_CONTAINS_PUSB", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The USB group contains active VUSBs and cannot be deleted..
/// </summary>
public static string USB_GROUP_CONTAINS_VUSB {
get {
return ResourceManager.GetString("USB_GROUP_CONTAINS_VUSB", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Only the local superuser can perform this operation.
/// </summary>
@ -5078,6 +5204,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The VGPU is not compatible with any PGPU in the destination..
/// </summary>
public static string VGPU_DESTINATION_INCOMPATIBLE {
get {
return ResourceManager.GetString("VGPU_DESTINATION_INCOMPATIBLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The VM cannot start because all GPUs are fully used or are running other types of virtual GPU.
/// </summary>
@ -5196,7 +5331,7 @@ namespace XenAPI {
}
/// <summary>
/// Looks up a localized string similar to The BIOS strings for this VM have already been set and cannot be changed anymore..
/// Looks up a localized string similar to The BIOS strings for this VM have already been set and cannot be changed..
/// </summary>
public static string VM_BIOS_STRINGS_ALREADY_SET {
get {
@ -5321,6 +5456,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to The operation is not allowed when the VM has VUSBs..
/// </summary>
public static string VM_HAS_VUSBS {
get {
return ResourceManager.GetString("VM_HAS_VUSBS", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to This VM operation cannot be performed on an older-versioned host during an upgrade..
/// </summary>
@ -5331,7 +5475,7 @@ namespace XenAPI {
}
/// <summary>
/// Looks up a localized string similar to You attempted to migrate a VM to a destination host running a version of XenServer older than the source host..
/// Looks up a localized string similar to You attempted to migrate a VM to a destination host which is older than the source host..
/// </summary>
public static string VM_HOST_INCOMPATIBLE_VERSION_MIGRATE {
get {
@ -5645,6 +5789,15 @@ namespace XenAPI {
}
}
/// <summary>
/// Looks up a localized string similar to You attempted to run a VM on a host on which the VUSB required by the VM cannot be allocated on any PUSBs in the USB_group needed by the VM..
/// </summary>
public static string VM_REQUIRES_VUSB {
get {
return ResourceManager.GetString("VM_REQUIRES_VUSB", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to An error occurred while reverting the specified virtual machine to the specified snapshot.
/// </summary>

View File

@ -717,6 +717,9 @@
<data name="NO_MORE_REDO_LOGS_ALLOWED" xml:space="preserve">
<value>The upper limit of active redo log instances was reached.</value>
</data>
<data name="NVIDIA_TOOLS_ERROR" xml:space="preserve">
<value>Nvidia tools error. Please ensure that the latest Nvidia tools are installed</value>
</data>
<data name="OBJECT_NOLONGER_EXISTS" xml:space="preserve">
<value>The specified object no longer exists.</value>
</data>
@ -1832,6 +1835,9 @@ Authorized Roles: {1}</value>
<data name="VDI_TOO_SMALL" xml:space="preserve">
<value>The VDI is too small. Please resize it to at least the minimum size.</value>
</data>
<data name="VGPU_DESTINATION_INCOMPATIBLE" xml:space="preserve">
<value>The VGPU is not compatible with any PGPU in the destination.</value>
</data>
<data name="VGPU_TYPE_NOT_COMPATIBLE_WITH_RUNNING_TYPE" xml:space="preserve">
<value>The VM cannot start because all GPUs are fully used or are running other types of virtual GPU</value>
</data>

View File

@ -159,6 +159,15 @@ namespace XenAPI
Helper.AreEqual2(this._enabled_VGPU_types, other._enabled_VGPU_types);
}
internal static List<GPU_group> ProxyArrayToObjectList(Proxy_GPU_group[] input)
{
var result = new List<GPU_group>();
foreach (var item in input)
result.Add(new GPU_group(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, GPU_group server)
{
if (opaqueRef == null)

View File

@ -1,19 +1,19 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
*
* 2) Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
@ -140,7 +140,7 @@ namespace XenAPI
}
/// <summary>
///
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="opaqueRefs">Must not be null.</param>
@ -271,26 +271,6 @@ namespace XenAPI
return result;
}
internal static List<Data_source> Proxy_Data_sourceArrayToData_sourceList(Proxy_Data_source[] input)
{
List<Data_source> result = new List<Data_source>();
foreach (Proxy_Data_source pd in input)
{
result.Add(new Data_source(pd));
}
return result;
}
internal static List<Vdi_nbd_server_info> Proxy_Vdi_nbd_server_infoArrayToVdi_nbd_server_infoList(Proxy_Vdi_nbd_server_info[] input)
{
List<Vdi_nbd_server_info> result = new List<Vdi_nbd_server_info>();
foreach (Proxy_Vdi_nbd_server_info pd in input)
{
result.Add(new Vdi_nbd_server_info(pd));
}
return result;
}
internal static Object EnumParseDefault(Type t, string s)
{
try

View File

@ -483,6 +483,15 @@ namespace XenAPI
Helper.AreEqual2(this._features, other._features);
}
internal static List<Host> ProxyArrayToObjectList(Proxy_Host[] input)
{
var result = new List<Host>();
foreach (var item in input)
result.Add(new Host(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Host server)
{
if (opaqueRef == null)
@ -1814,7 +1823,7 @@ namespace XenAPI
/// <param name="_host">The opaque_ref of the given host</param>
public static List<Data_source> get_data_sources(Session session, string _host)
{
return Helper.Proxy_Data_sourceArrayToData_sourceList(session.proxy.host_get_data_sources(session.uuid, _host ?? "").parse());
return Data_source.ProxyArrayToObjectList(session.proxy.host_get_data_sources(session.uuid, _host ?? "").parse());
}
/// <summary>

View File

@ -180,6 +180,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Host_cpu> ProxyArrayToObjectList(Proxy_Host_cpu[] input)
{
var result = new List<Host_cpu>();
foreach (var item in input)
result.Add(new Host_cpu(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Host_cpu server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Host_crashdump> ProxyArrayToObjectList(Proxy_Host_crashdump[] input)
{
var result = new List<Host_crashdump>();
foreach (var item in input)
result.Add(new Host_crashdump(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Host_crashdump server)
{
if (opaqueRef == null)

View File

@ -131,6 +131,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Host_metrics> ProxyArrayToObjectList(Proxy_Host_metrics[] input)
{
var result = new List<Host_metrics>();
foreach (var item in input)
result.Add(new Host_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Host_metrics server)
{
if (opaqueRef == null)

View File

@ -159,6 +159,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Host_patch> ProxyArrayToObjectList(Proxy_Host_patch[] input)
{
var result = new List<Host_patch>();
foreach (var item in input)
result.Add(new Host_patch(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Host_patch server)
{
if (opaqueRef == null)

View File

@ -96,6 +96,15 @@ namespace XenAPI
return Helper.AreEqual2(this._uuid, other._uuid);
}
internal static List<LVHD> ProxyArrayToObjectList(Proxy_LVHD[] input)
{
var result = new List<LVHD>();
foreach (var item in input)
result.Add(new LVHD(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, LVHD server)
{
if (opaqueRef == null)

View File

@ -931,6 +931,53 @@ namespace XenAPI
return result;
}
internal static Dictionary<XenRef<VGPU>, XenRef<GPU_group>>
convert_from_proxy_XenRefVGPU_XenRefGPU_group(Object o)
{
Hashtable table = (Hashtable)o;
Dictionary<XenRef<VGPU>, XenRef<GPU_group>> result = new Dictionary<XenRef<VGPU>, XenRef<GPU_group>>();
if (table != null)
{
foreach (string key in table.Keys)
{
try
{
XenRef<VGPU> k = XenRef<VGPU>.Create(key);
XenRef<GPU_group> v = table[key] == null ? null : XenRef<GPU_group>.Create(table[key]);
result[k] = v;
}
catch
{
continue;
}
}
}
return result;
}
internal static Hashtable
convert_to_proxy_XenRefVGPU_XenRefGPU_group(Dictionary<XenRef<VGPU>, XenRef<GPU_group>> table)
{
CookComputing.XmlRpc.XmlRpcStruct result = new CookComputing.XmlRpc.XmlRpcStruct();
if (table != null)
{
foreach (XenRef<VGPU> key in table.Keys)
{
try
{
string k = key ?? "";
string v = table[key] ?? "";
result[k] = v;
}
catch
{
continue;
}
}
}
return result;
}
internal static Dictionary<XenRef<VGPU_type>, long>
convert_from_proxy_XenRefVGPU_type_long(Object o)
{

View File

@ -300,6 +300,15 @@ namespace XenAPI
Helper.AreEqual2(this._body, other._body);
}
internal static List<Message> ProxyArrayToObjectList(Proxy_Message[] input)
{
var result = new List<Message>();
foreach (var item in input)
result.Add(new Message(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Message server)
{
if (opaqueRef == null)

View File

@ -203,6 +203,15 @@ namespace XenAPI
Helper.AreEqual2(this._purpose, other._purpose);
}
internal static List<Network> ProxyArrayToObjectList(Proxy_Network[] input)
{
var result = new List<Network>();
foreach (var item in input)
result.Add(new Network(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Network server)
{
if (opaqueRef == null)

View File

@ -131,6 +131,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<PBD> ProxyArrayToObjectList(Proxy_PBD[] input)
{
var result = new List<PBD>();
foreach (var item in input)
result.Add(new PBD(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PBD server)
{
if (opaqueRef == null)

View File

@ -159,6 +159,15 @@ namespace XenAPI
Helper.AreEqual2(this._subsystem_device_name, other._subsystem_device_name);
}
internal static List<PCI> ProxyArrayToObjectList(Proxy_PCI[] input)
{
var result = new List<PCI>();
foreach (var item in input)
result.Add(new PCI(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PCI server)
{
if (opaqueRef == null)

View File

@ -56,7 +56,8 @@ namespace XenAPI
List<XenRef<VGPU>> resident_VGPUs,
Dictionary<XenRef<VGPU_type>, long> supported_VGPU_max_capacities,
pgpu_dom0_access dom0_access,
bool is_system_display_device)
bool is_system_display_device,
Dictionary<string, string> compatibility_metadata)
{
this.uuid = uuid;
this.PCI = PCI;
@ -69,6 +70,7 @@ namespace XenAPI
this.supported_VGPU_max_capacities = supported_VGPU_max_capacities;
this.dom0_access = dom0_access;
this.is_system_display_device = is_system_display_device;
this.compatibility_metadata = compatibility_metadata;
}
/// <summary>
@ -93,6 +95,7 @@ namespace XenAPI
supported_VGPU_max_capacities = update.supported_VGPU_max_capacities;
dom0_access = update.dom0_access;
is_system_display_device = update.is_system_display_device;
compatibility_metadata = update.compatibility_metadata;
}
internal void UpdateFromProxy(Proxy_PGPU proxy)
@ -108,6 +111,7 @@ namespace XenAPI
supported_VGPU_max_capacities = proxy.supported_VGPU_max_capacities == null ? null : Maps.convert_from_proxy_XenRefVGPU_type_long(proxy.supported_VGPU_max_capacities);
dom0_access = proxy.dom0_access == null ? (pgpu_dom0_access) 0 : (pgpu_dom0_access)Helper.EnumParseDefault(typeof(pgpu_dom0_access), (string)proxy.dom0_access);
is_system_display_device = (bool)proxy.is_system_display_device;
compatibility_metadata = proxy.compatibility_metadata == null ? null : Maps.convert_from_proxy_string_string(proxy.compatibility_metadata);
}
public Proxy_PGPU ToProxy()
@ -124,6 +128,7 @@ namespace XenAPI
result_.supported_VGPU_max_capacities = Maps.convert_to_proxy_XenRefVGPU_type_long(supported_VGPU_max_capacities);
result_.dom0_access = pgpu_dom0_access_helper.ToString(dom0_access);
result_.is_system_display_device = is_system_display_device;
result_.compatibility_metadata = Maps.convert_to_proxy_string_string(compatibility_metadata);
return result_;
}
@ -144,6 +149,7 @@ namespace XenAPI
supported_VGPU_max_capacities = Maps.convert_from_proxy_XenRefVGPU_type_long(Marshalling.ParseHashTable(table, "supported_VGPU_max_capacities"));
dom0_access = (pgpu_dom0_access)Helper.EnumParseDefault(typeof(pgpu_dom0_access), Marshalling.ParseString(table, "dom0_access"));
is_system_display_device = Marshalling.ParseBool(table, "is_system_display_device");
compatibility_metadata = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "compatibility_metadata"));
}
public bool DeepEquals(PGPU other)
@ -163,7 +169,17 @@ namespace XenAPI
Helper.AreEqual2(this._resident_VGPUs, other._resident_VGPUs) &&
Helper.AreEqual2(this._supported_VGPU_max_capacities, other._supported_VGPU_max_capacities) &&
Helper.AreEqual2(this._dom0_access, other._dom0_access) &&
Helper.AreEqual2(this._is_system_display_device, other._is_system_display_device);
Helper.AreEqual2(this._is_system_display_device, other._is_system_display_device) &&
Helper.AreEqual2(this._compatibility_metadata, other._compatibility_metadata);
}
internal static List<PGPU> ProxyArrayToObjectList(Proxy_PGPU[] input)
{
var result = new List<PGPU>();
foreach (var item in input)
result.Add(new PGPU(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PGPU server)
@ -330,6 +346,17 @@ namespace XenAPI
return (bool)session.proxy.pgpu_get_is_system_display_device(session.uuid, _pgpu ?? "").parse();
}
/// <summary>
/// Get the compatibility_metadata field of the given PGPU.
/// First published in Unreleased.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pgpu">The opaque_ref of the given pgpu</param>
public static Dictionary<string, string> get_compatibility_metadata(Session session, string _pgpu)
{
return Maps.convert_from_proxy_string_string(session.proxy.pgpu_get_compatibility_metadata(session.uuid, _pgpu ?? "").parse());
}
/// <summary>
/// Set the other_config field of the given PGPU.
/// First published in XenServer 6.0.
@ -754,5 +781,24 @@ namespace XenAPI
}
}
private bool _is_system_display_device;
/// <summary>
/// PGPU metadata to determine whether a VGPU can migrate between two PGPUs
/// First published in Unreleased.
/// </summary>
public virtual Dictionary<string, string> compatibility_metadata
{
get { return _compatibility_metadata; }
set
{
if (!Helper.AreEqual(value, _compatibility_metadata))
{
_compatibility_metadata = value;
Changed = true;
NotifyPropertyChanged("compatibility_metadata");
}
}
}
private Dictionary<string, string> _compatibility_metadata;
}
}

View File

@ -313,6 +313,15 @@ namespace XenAPI
Helper.AreEqual2(this._igmp_snooping_status, other._igmp_snooping_status);
}
internal static List<PIF> ProxyArrayToObjectList(Proxy_PIF[] input)
{
var result = new List<PIF>();
foreach (var item in input)
result.Add(new PIF(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PIF server)
{
if (opaqueRef == null)

View File

@ -180,6 +180,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<PIF_metrics> ProxyArrayToObjectList(Proxy_PIF_metrics[] input)
{
var result = new List<PIF_metrics>();
foreach (var item in input)
result.Add(new PIF_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PIF_metrics server)
{
if (opaqueRef == null)

View File

@ -180,6 +180,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<PUSB> ProxyArrayToObjectList(Proxy_PUSB[] input)
{
var result = new List<PUSB>();
foreach (var item in input)
result.Add(new PUSB(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PUSB server)
{
if (opaqueRef == null)

View File

@ -131,6 +131,15 @@ namespace XenAPI
Helper.AreEqual2(this._VDI, other._VDI);
}
internal static List<PVS_cache_storage> ProxyArrayToObjectList(Proxy_PVS_cache_storage[] input)
{
var result = new List<PVS_cache_storage>();
foreach (var item in input)
result.Add(new PVS_cache_storage(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PVS_cache_storage server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._status, other._status);
}
internal static List<PVS_proxy> ProxyArrayToObjectList(Proxy_PVS_proxy[] input)
{
var result = new List<PVS_proxy>();
foreach (var item in input)
result.Add(new PVS_proxy(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._site, other._site);
}
internal static List<PVS_server> ProxyArrayToObjectList(Proxy_PVS_server[] input)
{
var result = new List<PVS_server>();
foreach (var item in input)
result.Add(new PVS_server(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PVS_server server)
{
if (opaqueRef == null)

View File

@ -138,6 +138,15 @@ namespace XenAPI
Helper.AreEqual2(this._proxies, other._proxies);
}
internal static List<PVS_site> ProxyArrayToObjectList(Proxy_PVS_site[] input)
{
var result = new List<PVS_site>();
foreach (var item in input)
result.Add(new PVS_site(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, PVS_site server)
{
if (opaqueRef == null)

View File

@ -343,6 +343,15 @@ namespace XenAPI
Helper.AreEqual2(this._igmp_snooping_enabled, other._igmp_snooping_enabled);
}
internal static List<Pool> ProxyArrayToObjectList(Proxy_Pool[] input)
{
var result = new List<Pool>();
foreach (var item in input)
result.Add(new Pool(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Pool server)
{
if (opaqueRef == null)

View File

@ -159,6 +159,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Pool_patch> ProxyArrayToObjectList(Proxy_Pool_patch[] input)
{
var result = new List<Pool_patch>();
foreach (var item in input)
result.Add(new Pool_patch(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Pool_patch server)
{
if (opaqueRef == null)

View File

@ -166,6 +166,15 @@ namespace XenAPI
Helper.AreEqual2(this._enforce_homogeneity, other._enforce_homogeneity);
}
internal static List<Pool_update> ProxyArrayToObjectList(Proxy_Pool_update[] input)
{
var result = new List<Pool_update>();
foreach (var item in input)
result.Add(new Pool_update(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Pool_update server)
{
if (opaqueRef == null)

View File

@ -2164,6 +2164,14 @@ namespace XenAPI
Response<string>
async_vm_migrate_send(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options);
[XmlRpcMethod("VM.migrate_send")]
Response<string>
vm_migrate_send(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options, Object _vgpu_map);
[XmlRpcMethod("Async.VM.migrate_send")]
Response<string>
async_vm_migrate_send(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options, Object _vgpu_map);
[XmlRpcMethod("VM.assert_can_migrate")]
Response<string>
vm_assert_can_migrate(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options);
@ -2172,6 +2180,14 @@ namespace XenAPI
Response<string>
async_vm_assert_can_migrate(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options);
[XmlRpcMethod("VM.assert_can_migrate")]
Response<string>
vm_assert_can_migrate(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options, Object _vgpu_map);
[XmlRpcMethod("Async.VM.assert_can_migrate")]
Response<string>
async_vm_assert_can_migrate(string session, string _vm, Object _dest, bool _live, Object _vdi_map, Object _vif_map, Object _options, Object _vgpu_map);
[XmlRpcMethod("VM.get_boot_record")]
Response<Proxy_VM>
vm_get_boot_record(string session, string _vm);
@ -6968,6 +6984,10 @@ namespace XenAPI
Response<bool>
pgpu_get_is_system_display_device(string session, string _pgpu);
[XmlRpcMethod("PGPU.get_compatibility_metadata")]
Response<Object>
pgpu_get_compatibility_metadata(string session, string _pgpu);
[XmlRpcMethod("PGPU.set_other_config")]
Response<string>
pgpu_set_other_config(string session, string _pgpu, Object _other_config);
@ -7192,6 +7212,10 @@ namespace XenAPI
Response<string>
vgpu_get_resident_on(string session, string _vgpu);
[XmlRpcMethod("VGPU.get_scheduled_to_be_resident_on")]
Response<string>
vgpu_get_scheduled_to_be_resident_on(string session, string _vgpu);
[XmlRpcMethod("VGPU.set_other_config")]
Response<string>
vgpu_set_other_config(string session, string _vgpu, Object _other_config);
@ -8743,6 +8767,7 @@ namespace XenAPI
public Object supported_VGPU_max_capacities;
public string dom0_access;
public bool is_system_display_device;
public Object compatibility_metadata;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
@ -8771,6 +8796,7 @@ namespace XenAPI
public Object other_config;
public string type;
public string resident_on;
public string scheduled_to_be_resident_on;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]

View File

@ -117,6 +117,15 @@ namespace XenAPI
Helper.AreEqual2(this._subroles, other._subroles);
}
internal static List<Role> ProxyArrayToObjectList(Proxy_Role[] input)
{
var result = new List<Role>();
foreach (var item in input)
result.Add(new Role(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Role server)
{
if (opaqueRef == null)

View File

@ -117,6 +117,15 @@ namespace XenAPI
Helper.AreEqual2(this._port, other._port);
}
internal static List<SDN_controller> ProxyArrayToObjectList(Proxy_SDN_controller[] input)
{
var result = new List<SDN_controller>();
foreach (var item in input)
result.Add(new SDN_controller(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, SDN_controller server)
{
if (opaqueRef == null)

View File

@ -187,6 +187,15 @@ namespace XenAPI
Helper.AreEqual2(this._required_cluster_stack, other._required_cluster_stack);
}
internal static List<SM> ProxyArrayToObjectList(Proxy_SM[] input)
{
var result = new List<SM>();
foreach (var item in input)
result.Add(new SM(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, SM server)
{
if (opaqueRef == null)

View File

@ -238,6 +238,15 @@ namespace XenAPI
Helper.AreEqual2(this._is_tools_sr, other._is_tools_sr);
}
internal static List<SR> ProxyArrayToObjectList(Proxy_SR[] input)
{
var result = new List<SR>();
foreach (var item in input)
result.Add(new SR(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, SR server)
{
if (opaqueRef == null)
@ -1251,7 +1260,7 @@ namespace XenAPI
/// <param name="_sr">The opaque_ref of the given sr</param>
public static List<Data_source> get_data_sources(Session session, string _sr)
{
return Helper.Proxy_Data_sourceArrayToData_sourceList(session.proxy.sr_get_data_sources(session.uuid, _sr ?? "").parse());
return Data_source.ProxyArrayToObjectList(session.proxy.sr_get_data_sources(session.uuid, _sr ?? "").parse());
}
/// <summary>

View File

@ -110,6 +110,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Secret> ProxyArrayToObjectList(Proxy_Secret[] input)
{
var result = new List<Secret>();
foreach (var item in input)
result.Add(new Secret(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Secret server)
{
if (opaqueRef == null)

View File

@ -117,6 +117,15 @@ namespace XenAPI
Helper.AreEqual2(this._roles, other._roles);
}
internal static List<Subject> ProxyArrayToObjectList(Proxy_Subject[] input)
{
var result = new List<Subject>();
foreach (var item in input)
result.Add(new Subject(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Subject server)
{
if (opaqueRef == null)

View File

@ -210,6 +210,15 @@ namespace XenAPI
Helper.AreEqual2(this._backtrace, other._backtrace);
}
internal static List<Task> ProxyArrayToObjectList(Proxy_Task[] input)
{
var result = new List<Task>();
foreach (var item in input)
result.Add(new Task(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Task server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<Tunnel> ProxyArrayToObjectList(Proxy_Tunnel[] input)
{
var result = new List<Tunnel>();
foreach (var item in input)
result.Add(new Tunnel(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Tunnel server)
{
if (opaqueRef == null)

View File

@ -131,6 +131,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<USB_group> ProxyArrayToObjectList(Proxy_USB_group[] input)
{
var result = new List<USB_group>();
foreach (var item in input)
result.Add(new USB_group(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, USB_group server)
{
if (opaqueRef == null)

View File

@ -117,6 +117,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<User> ProxyArrayToObjectList(Proxy_User[] input)
{
var result = new List<User>();
foreach (var item in input)
result.Add(new User(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, User server)
{
if (opaqueRef == null)

View File

@ -245,6 +245,15 @@ namespace XenAPI
Helper.AreEqual2(this._metrics, other._metrics);
}
internal static List<VBD> ProxyArrayToObjectList(Proxy_VBD[] input)
{
var result = new List<VBD>();
foreach (var item in input)
result.Add(new VBD(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VBD server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<VBD_metrics> ProxyArrayToObjectList(Proxy_VBD_metrics[] input)
{
var result = new List<VBD_metrics>();
foreach (var item in input)
result.Add(new VBD_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VBD_metrics server)
{
if (opaqueRef == null)

View File

@ -315,6 +315,15 @@ namespace XenAPI
Helper.AreEqual2(this._cbt_enabled, other._cbt_enabled);
}
internal static List<VDI> ProxyArrayToObjectList(Proxy_VDI[] input)
{
var result = new List<VDI>();
foreach (var item in input)
result.Add(new VDI(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VDI server)
{
if (opaqueRef == null)
@ -1794,7 +1803,7 @@ namespace XenAPI
/// <param name="_vdi">The opaque_ref of the given vdi</param>
public static List<Vdi_nbd_server_info> get_nbd_info(Session session, string _vdi)
{
return Helper.Proxy_Vdi_nbd_server_infoArrayToVdi_nbd_server_infoList(session.proxy.vdi_get_nbd_info(session.uuid, _vdi ?? "").parse());
return Vdi_nbd_server_info.ProxyArrayToObjectList(session.proxy.vdi_get_nbd_info(session.uuid, _vdi ?? "").parse());
}
/// <summary>

View File

@ -53,7 +53,8 @@ namespace XenAPI
bool currently_attached,
Dictionary<string, string> other_config,
XenRef<VGPU_type> type,
XenRef<PGPU> resident_on)
XenRef<PGPU> resident_on,
XenRef<PGPU> scheduled_to_be_resident_on)
{
this.uuid = uuid;
this.VM = VM;
@ -63,6 +64,7 @@ namespace XenAPI
this.other_config = other_config;
this.type = type;
this.resident_on = resident_on;
this.scheduled_to_be_resident_on = scheduled_to_be_resident_on;
}
/// <summary>
@ -84,6 +86,7 @@ namespace XenAPI
other_config = update.other_config;
type = update.type;
resident_on = update.resident_on;
scheduled_to_be_resident_on = update.scheduled_to_be_resident_on;
}
internal void UpdateFromProxy(Proxy_VGPU proxy)
@ -96,6 +99,7 @@ namespace XenAPI
other_config = proxy.other_config == null ? null : Maps.convert_from_proxy_string_string(proxy.other_config);
type = proxy.type == null ? null : XenRef<VGPU_type>.Create(proxy.type);
resident_on = proxy.resident_on == null ? null : XenRef<PGPU>.Create(proxy.resident_on);
scheduled_to_be_resident_on = proxy.scheduled_to_be_resident_on == null ? null : XenRef<PGPU>.Create(proxy.scheduled_to_be_resident_on);
}
public Proxy_VGPU ToProxy()
@ -109,6 +113,7 @@ namespace XenAPI
result_.other_config = Maps.convert_to_proxy_string_string(other_config);
result_.type = type ?? "";
result_.resident_on = resident_on ?? "";
result_.scheduled_to_be_resident_on = scheduled_to_be_resident_on ?? "";
return result_;
}
@ -126,6 +131,7 @@ namespace XenAPI
other_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "other_config"));
type = Marshalling.ParseRef<VGPU_type>(table, "type");
resident_on = Marshalling.ParseRef<PGPU>(table, "resident_on");
scheduled_to_be_resident_on = Marshalling.ParseRef<PGPU>(table, "scheduled_to_be_resident_on");
}
public bool DeepEquals(VGPU other)
@ -142,7 +148,17 @@ namespace XenAPI
Helper.AreEqual2(this._currently_attached, other._currently_attached) &&
Helper.AreEqual2(this._other_config, other._other_config) &&
Helper.AreEqual2(this._type, other._type) &&
Helper.AreEqual2(this._resident_on, other._resident_on);
Helper.AreEqual2(this._resident_on, other._resident_on) &&
Helper.AreEqual2(this._scheduled_to_be_resident_on, other._scheduled_to_be_resident_on);
}
internal static List<VGPU> ProxyArrayToObjectList(Proxy_VGPU[] input)
{
var result = new List<VGPU>();
foreach (var item in input)
result.Add(new VGPU(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VGPU server)
@ -272,6 +288,17 @@ namespace XenAPI
return XenRef<PGPU>.Create(session.proxy.vgpu_get_resident_on(session.uuid, _vgpu ?? "").parse());
}
/// <summary>
/// Get the scheduled_to_be_resident_on field of the given VGPU.
/// First published in XenServer 7.0.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vgpu">The opaque_ref of the given vgpu</param>
public static XenRef<PGPU> get_scheduled_to_be_resident_on(Session session, string _vgpu)
{
return XenRef<PGPU>.Create(session.proxy.vgpu_get_scheduled_to_be_resident_on(session.uuid, _vgpu ?? "").parse());
}
/// <summary>
/// Set the other_config field of the given VGPU.
/// First published in XenServer 6.0.
@ -554,5 +581,24 @@ namespace XenAPI
}
}
private XenRef<PGPU> _resident_on;
/// <summary>
/// The PGPU on which this VGPU is scheduled to run
/// First published in XenServer 7.0.
/// </summary>
public virtual XenRef<PGPU> scheduled_to_be_resident_on
{
get { return _scheduled_to_be_resident_on; }
set
{
if (!Helper.AreEqual(value, _scheduled_to_be_resident_on))
{
_scheduled_to_be_resident_on = value;
Changed = true;
NotifyPropertyChanged("scheduled_to_be_resident_on");
}
}
}
private XenRef<PGPU> _scheduled_to_be_resident_on;
}
}

View File

@ -194,6 +194,15 @@ namespace XenAPI
Helper.AreEqual2(this._experimental, other._experimental);
}
internal static List<VGPU_type> ProxyArrayToObjectList(Proxy_VGPU_type[] input)
{
var result = new List<VGPU_type>();
foreach (var item in input)
result.Add(new VGPU_type(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VGPU_type server)
{
if (opaqueRef == null)

View File

@ -280,6 +280,15 @@ namespace XenAPI
Helper.AreEqual2(this._ipv6_gateway, other._ipv6_gateway);
}
internal static List<VIF> ProxyArrayToObjectList(Proxy_VIF[] input)
{
var result = new List<VIF>();
foreach (var item in input)
result.Add(new VIF(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VIF server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<VIF_metrics> ProxyArrayToObjectList(Proxy_VIF_metrics[] input)
{
var result = new List<VIF_metrics>();
foreach (var item in input)
result.Add(new VIF_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VIF_metrics server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._other_config, other._other_config);
}
internal static List<VLAN> ProxyArrayToObjectList(Proxy_VLAN[] input)
{
var result = new List<VLAN>();
foreach (var item in input)
result.Add(new VLAN(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VLAN server)
{
if (opaqueRef == null)

View File

@ -672,6 +672,15 @@ namespace XenAPI
Helper.AreEqual2(this._reference_label, other._reference_label);
}
internal static List<VM> ProxyArrayToObjectList(Proxy_VM[] input)
{
var result = new List<VM>();
foreach (var item in input)
result.Add(new VM(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VM server)
{
if (opaqueRef == null)
@ -3337,6 +3346,40 @@ namespace XenAPI
return XenRef<Task>.Create(session.proxy.async_vm_migrate_send(session.uuid, _vm ?? "", Maps.convert_to_proxy_string_string(_dest), _live, Maps.convert_to_proxy_XenRefVDI_XenRefSR(_vdi_map), Maps.convert_to_proxy_XenRefVIF_XenRefNetwork(_vif_map), Maps.convert_to_proxy_string_string(_options)).parse());
}
/// <summary>
/// Migrate the VM to another host. This can only be called when the specified VM is in the Running state.
/// First published in XenServer 6.1.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_dest">The result of a Host.migrate_receive call.</param>
/// <param name="_live">Live migration</param>
/// <param name="_vdi_map">Map of source VDI to destination SR</param>
/// <param name="_vif_map">Map of source VIF to destination network</param>
/// <param name="_options">Other parameters</param>
/// <param name="_vgpu_map">Map of source vGPU to destination GPU group First published in Unreleased.</param>
public static XenRef<VM> migrate_send(Session session, string _vm, Dictionary<string, string> _dest, bool _live, Dictionary<XenRef<VDI>, XenRef<SR>> _vdi_map, Dictionary<XenRef<VIF>, XenRef<Network>> _vif_map, Dictionary<string, string> _options, Dictionary<XenRef<VGPU>, XenRef<GPU_group>> _vgpu_map)
{
return XenRef<VM>.Create(session.proxy.vm_migrate_send(session.uuid, _vm ?? "", Maps.convert_to_proxy_string_string(_dest), _live, Maps.convert_to_proxy_XenRefVDI_XenRefSR(_vdi_map), Maps.convert_to_proxy_XenRefVIF_XenRefNetwork(_vif_map), Maps.convert_to_proxy_string_string(_options), Maps.convert_to_proxy_XenRefVGPU_XenRefGPU_group(_vgpu_map)).parse());
}
/// <summary>
/// Migrate the VM to another host. This can only be called when the specified VM is in the Running state.
/// First published in XenServer 6.1.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_dest">The result of a Host.migrate_receive call.</param>
/// <param name="_live">Live migration</param>
/// <param name="_vdi_map">Map of source VDI to destination SR</param>
/// <param name="_vif_map">Map of source VIF to destination network</param>
/// <param name="_options">Other parameters</param>
/// <param name="_vgpu_map">Map of source vGPU to destination GPU group First published in Unreleased.</param>
public static XenRef<Task> async_migrate_send(Session session, string _vm, Dictionary<string, string> _dest, bool _live, Dictionary<XenRef<VDI>, XenRef<SR>> _vdi_map, Dictionary<XenRef<VIF>, XenRef<Network>> _vif_map, Dictionary<string, string> _options, Dictionary<XenRef<VGPU>, XenRef<GPU_group>> _vgpu_map)
{
return XenRef<Task>.Create(session.proxy.async_vm_migrate_send(session.uuid, _vm ?? "", Maps.convert_to_proxy_string_string(_dest), _live, Maps.convert_to_proxy_XenRefVDI_XenRefSR(_vdi_map), Maps.convert_to_proxy_XenRefVIF_XenRefNetwork(_vif_map), Maps.convert_to_proxy_string_string(_options), Maps.convert_to_proxy_XenRefVGPU_XenRefGPU_group(_vgpu_map)).parse());
}
/// <summary>
/// Assert whether a VM can be migrated to the specified destination.
/// First published in XenServer 6.1.
@ -3370,11 +3413,47 @@ namespace XenAPI
}
/// <summary>
/// Returns a record describing the VM's dynamic state, initialised when the VM boots and updated to reflect runtime configuration changes e.g. CPU hotplug
/// First published in XenServer 4.0.
/// Assert whether a VM can be migrated to the specified destination.
/// First published in XenServer 6.1.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_dest">The result of a VM.migrate_receive call.</param>
/// <param name="_live">Live migration</param>
/// <param name="_vdi_map">Map of source VDI to destination SR</param>
/// <param name="_vif_map">Map of source VIF to destination network</param>
/// <param name="_options">Other parameters</param>
/// <param name="_vgpu_map">Map of source vGPU to destination GPU group First published in Unreleased.</param>
public static void assert_can_migrate(Session session, string _vm, Dictionary<string, string> _dest, bool _live, Dictionary<XenRef<VDI>, XenRef<SR>> _vdi_map, Dictionary<XenRef<VIF>, XenRef<Network>> _vif_map, Dictionary<string, string> _options, Dictionary<XenRef<VGPU>, XenRef<GPU_group>> _vgpu_map)
{
session.proxy.vm_assert_can_migrate(session.uuid, _vm ?? "", Maps.convert_to_proxy_string_string(_dest), _live, Maps.convert_to_proxy_XenRefVDI_XenRefSR(_vdi_map), Maps.convert_to_proxy_XenRefVIF_XenRefNetwork(_vif_map), Maps.convert_to_proxy_string_string(_options), Maps.convert_to_proxy_XenRefVGPU_XenRefGPU_group(_vgpu_map)).parse();
}
/// <summary>
/// Assert whether a VM can be migrated to the specified destination.
/// First published in XenServer 6.1.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_dest">The result of a VM.migrate_receive call.</param>
/// <param name="_live">Live migration</param>
/// <param name="_vdi_map">Map of source VDI to destination SR</param>
/// <param name="_vif_map">Map of source VIF to destination network</param>
/// <param name="_options">Other parameters</param>
/// <param name="_vgpu_map">Map of source vGPU to destination GPU group First published in Unreleased.</param>
public static XenRef<Task> async_assert_can_migrate(Session session, string _vm, Dictionary<string, string> _dest, bool _live, Dictionary<XenRef<VDI>, XenRef<SR>> _vdi_map, Dictionary<XenRef<VIF>, XenRef<Network>> _vif_map, Dictionary<string, string> _options, Dictionary<XenRef<VGPU>, XenRef<GPU_group>> _vgpu_map)
{
return XenRef<Task>.Create(session.proxy.async_vm_assert_can_migrate(session.uuid, _vm ?? "", Maps.convert_to_proxy_string_string(_dest), _live, Maps.convert_to_proxy_XenRefVDI_XenRefSR(_vdi_map), Maps.convert_to_proxy_XenRefVIF_XenRefNetwork(_vif_map), Maps.convert_to_proxy_string_string(_options), Maps.convert_to_proxy_XenRefVGPU_XenRefGPU_group(_vgpu_map)).parse());
}
/// <summary>
/// Returns a record describing the VM's dynamic state, initialised when the VM boots and updated to reflect runtime configuration changes e.g. CPU hotplug
/// First published in XenServer 4.0.
/// Deprecated since Unreleased.
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
[Deprecated("Unreleased")]
public static VM get_boot_record(Session session, string _vm)
{
return new VM((Proxy_VM)session.proxy.vm_get_boot_record(session.uuid, _vm ?? "").parse());
@ -3388,7 +3467,7 @@ namespace XenAPI
/// <param name="_vm">The opaque_ref of the given vm</param>
public static List<Data_source> get_data_sources(Session session, string _vm)
{
return Helper.Proxy_Data_sourceArrayToData_sourceList(session.proxy.vm_get_data_sources(session.uuid, _vm ?? "").parse());
return Data_source.ProxyArrayToObjectList(session.proxy.vm_get_data_sources(session.uuid, _vm ?? "").parse());
}
/// <summary>

View File

@ -229,6 +229,15 @@ namespace XenAPI
Helper.AreEqual2(this._recent_alerts, other._recent_alerts);
}
internal static List<VMPP> ProxyArrayToObjectList(Proxy_VMPP[] input)
{
var result = new List<VMPP>();
foreach (var item in input)
result.Add(new VMPP(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VMPP server)
{
if (opaqueRef == null)

View File

@ -159,6 +159,15 @@ namespace XenAPI
Helper.AreEqual2(this._VMs, other._VMs);
}
internal static List<VMSS> ProxyArrayToObjectList(Proxy_VMSS[] input)
{
var result = new List<VMSS>();
foreach (var item in input)
result.Add(new VMSS(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VMSS server)
{
if (opaqueRef == null)

View File

@ -133,6 +133,15 @@ namespace XenAPI
Helper.AreEqual2(this._VMs, other._VMs);
}
internal static List<VM_appliance> ProxyArrayToObjectList(Proxy_VM_appliance[] input)
{
var result = new List<VM_appliance>();
foreach (var item in input)
result.Add(new VM_appliance(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VM_appliance server)
{
if (opaqueRef == null)

View File

@ -187,6 +187,15 @@ namespace XenAPI
Helper.AreEqual2(this._PV_drivers_detected, other._PV_drivers_detected);
}
internal static List<VM_guest_metrics> ProxyArrayToObjectList(Proxy_VM_guest_metrics[] input)
{
var result = new List<VM_guest_metrics>();
foreach (var item in input)
result.Add(new VM_guest_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VM_guest_metrics server)
{
if (opaqueRef == null)

View File

@ -194,6 +194,15 @@ namespace XenAPI
Helper.AreEqual2(this._nomigrate, other._nomigrate);
}
internal static List<VM_metrics> ProxyArrayToObjectList(Proxy_VM_metrics[] input)
{
var result = new List<VM_metrics>();
foreach (var item in input)
result.Add(new VM_metrics(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VM_metrics server)
{
if (opaqueRef == null)

View File

@ -110,6 +110,15 @@ namespace XenAPI
Helper.AreEqual2(this._backend, other._backend);
}
internal static List<VTPM> ProxyArrayToObjectList(Proxy_VTPM[] input)
{
var result = new List<VTPM>();
foreach (var item in input)
result.Add(new VTPM(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VTPM server)
{
if (opaqueRef == null)

View File

@ -140,6 +140,15 @@ namespace XenAPI
Helper.AreEqual2(this._currently_attached, other._currently_attached);
}
internal static List<VUSB> ProxyArrayToObjectList(Proxy_VUSB[] input)
{
var result = new List<VUSB>();
foreach (var item in input)
result.Add(new VUSB(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, VUSB server)
{
if (opaqueRef == null)

View File

@ -124,6 +124,15 @@ namespace XenAPI
Helper.AreEqual2(this._subject, other._subject);
}
internal static List<Vdi_nbd_server_info> ProxyArrayToObjectList(Proxy_Vdi_nbd_server_info[] input)
{
var result = new List<Vdi_nbd_server_info>();
foreach (var item in input)
result.Add(new Vdi_nbd_server_info(item));
return result;
}
public override string SaveChanges(Session session, string opaqueRef, Vdi_nbd_server_info server)
{
if (opaqueRef == null)
@ -209,7 +218,7 @@ namespace XenAPI
private string _cert;
/// <summary>
/// For convenience, this redundant field holds a subject of the certificate.
/// For convenience, this redundant field holds a DNS (hostname) subject of the certificate. This can be a wildcard, but only for a certificate that has a wildcard subject and no concrete hostname subjects.
/// </summary>
public virtual string subject
{