mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2025-01-20 07:19:18 +01:00
CP-19303: Bring in XAPI bindings for live patching
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
This commit is contained in:
parent
da0ebc467c
commit
a5d92c27c5
@ -207,6 +207,9 @@
|
||||
<data name="CANNOT_FIND_STATE_PARTITION" xml:space="preserve">
|
||||
<value>The restore could not be performed because the state partition could not be found</value>
|
||||
</data>
|
||||
<data name="CANNOT_FIND_UPDATE" xml:space="preserve">
|
||||
<value>The requested update could not be found. Please upload the update again. This can occur when you run xe update-pool-clean before xe update-apply. </value>
|
||||
</data>
|
||||
<data name="CANNOT_PLUG_BOND_SLAVE" xml:space="preserve">
|
||||
<value>This PIF is a bond slave and cannot be plugged.</value>
|
||||
</data>
|
||||
@ -559,7 +562,7 @@
|
||||
<value>The uploaded update file is invalid.</value>
|
||||
</data>
|
||||
<data name="INVALID_UPDATE" xml:space="preserve">
|
||||
<value>The uploaded update package is invalid</value>
|
||||
<value>The uploaded update package is invalid.</value>
|
||||
</data>
|
||||
<data name="INVALID_VALUE" xml:space="preserve">
|
||||
<value>The value '{1}' is invalid for field '{0}'.</value>
|
||||
@ -633,6 +636,9 @@
|
||||
<data name="MAP_DUPLICATE_KEY" xml:space="preserve">
|
||||
<value>INTERNAL ERROR: Attempted to set '{0}'.'{1}':'{3}'='{2}', but the key '{3}' was already present in map '{1}'.</value>
|
||||
</data>
|
||||
<data name="MEMORY_CONSTRAINT_VIOLATION" xml:space="preserve">
|
||||
<value>The dynamic memory range does not satisfy the following constraint.</value>
|
||||
</data>
|
||||
<data name="MEM_MAX_ALLOWED" xml:space="preserve">
|
||||
<value>You have reached the maximum amount of memory allowed for this virtual machine.</value>
|
||||
</data>
|
||||
@ -864,6 +870,24 @@
|
||||
<data name="PROVISION_ONLY_ALLOWED_ON_TEMPLATE" xml:space="preserve">
|
||||
<value>The provision call can only be invoked on templates, not regular VMs.</value>
|
||||
</data>
|
||||
<data name="PVS_CACHE_STORAGE_ALREADY_PRESENT" xml:space="preserve">
|
||||
<value>The PVS site already has cache storage configured for the host.</value>
|
||||
</data>
|
||||
<data name="PVS_CACHE_STORAGE_IS_IN_USE" xml:space="preserve">
|
||||
<value>The PVS cache storage is in use by the site and cannot be removed.</value>
|
||||
</data>
|
||||
<data name="PVS_PROXY_ALREADY_PRESENT" xml:space="preserve">
|
||||
<value>The VIF is already associated with a PVS proxy</value>
|
||||
</data>
|
||||
<data name="PVS_SERVER_ADDRESS_IN_USE" xml:space="preserve">
|
||||
<value>The address specified is already in use by an existing PVS_server object</value>
|
||||
</data>
|
||||
<data name="PVS_SITE_CONTAINS_RUNNING_PROXIES" xml:space="preserve">
|
||||
<value>The PVS site contains running proxies.</value>
|
||||
</data>
|
||||
<data name="PVS_SITE_CONTAINS_SERVERS" xml:space="preserve">
|
||||
<value>The PVS site contains servers and cannot be forgotten.</value>
|
||||
</data>
|
||||
<data name="RBAC_PERMISSION_DENIED" xml:space="preserve">
|
||||
<value>Your current role is not authorized to perform this action.
|
||||
Action: {0}</value>
|
||||
@ -1544,6 +1568,9 @@ Authorized Roles: {1}</value>
|
||||
<data name="SUBJECT_CANNOT_BE_RESOLVED" xml:space="preserve">
|
||||
<value>Subject cannot be resolved by the external directory service.</value>
|
||||
</data>
|
||||
<data name="SUSPEND_IMAGE_NOT_ACCESSIBLE" xml:space="preserve">
|
||||
<value>The suspend image of a checkpoint is not accessible from the host on which the VM is running</value>
|
||||
</data>
|
||||
<data name="SYSTEM_STATUS_MUST_USE_TAR_ON_OEM" xml:space="preserve">
|
||||
<value>You must use tar output to retrieve system status from an OEM server.</value>
|
||||
</data>
|
||||
@ -1571,6 +1598,15 @@ Authorized Roles: {1}</value>
|
||||
<data name="UNKNOWN_BOOTLOADER" xml:space="preserve">
|
||||
<value>The requested bootloader {1} for VM {0} is unknown</value>
|
||||
</data>
|
||||
<data name="UPDATE_ALREADY_APPLIED" xml:space="preserve">
|
||||
<value>This update has already been applied.</value>
|
||||
</data>
|
||||
<data name="UPDATE_ALREADY_APPLIED_IN_POOL" xml:space="preserve">
|
||||
<value>This update has already been applied to all hosts in the pool.</value>
|
||||
</data>
|
||||
<data name="UPDATE_ALREADY_EXISTS" xml:space="preserve">
|
||||
<value>The uploaded update already exists</value>
|
||||
</data>
|
||||
<data name="UPDATE_IS_APPLIED" xml:space="preserve">
|
||||
<value>The specified update has been applied and cannot be destroyed.</value>
|
||||
</data>
|
||||
@ -1757,6 +1793,9 @@ Authorized Roles: {1}</value>
|
||||
<data name="VM_HOST_INCOMPATIBLE_VERSION" xml:space="preserve">
|
||||
<value>This VM operation cannot be performed on an older-versioned host during an upgrade.</value>
|
||||
</data>
|
||||
<data name="VM_HOST_INCOMPATIBLE_VERSION_MIGRATE" xml:space="preserve">
|
||||
<value>You attempted to migrate a VM to a destination host running a version of XenServer older than the source host.</value>
|
||||
</data>
|
||||
<data name="VM_HOST_INCOMPATIBLE_VIRTUAL_HARDWARE_PLATFORM_VERSION" xml:space="preserve">
|
||||
<value>The VM's Virtual Hardware Platform version is incompatible with this host.</value>
|
||||
</data>
|
||||
|
@ -44,7 +44,7 @@ namespace XenAPI
|
||||
/// </summary>
|
||||
public partial class Message : XenObject<Message>
|
||||
{
|
||||
public enum MessageType { POOL_CPU_FEATURES_UP, POOL_CPU_FEATURES_DOWN, HOST_CPU_FEATURES_UP, HOST_CPU_FEATURES_DOWN, BOND_STATUS_CHANGED, VMPP_SNAPSHOT_ARCHIVE_ALREADY_EXISTS, VMPP_ARCHIVE_MISSED_EVENT, VMPP_SNAPSHOT_MISSED_EVENT, VMPP_XAPI_LOGON_FAILURE, VMPP_LICENSE_ERROR, VMPP_ARCHIVE_TARGET_UNMOUNT_FAILED, VMPP_ARCHIVE_TARGET_MOUNT_FAILED, VMPP_ARCHIVE_SUCCEEDED, VMPP_ARCHIVE_FAILED_0, VMPP_ARCHIVE_LOCK_FAILED, VMPP_SNAPSHOT_FAILED, VMPP_SNAPSHOT_SUCCEEDED, VMPP_SNAPSHOT_LOCK_FAILED, LICENSE_SERVER_VERSION_OBSOLETE, LICENSE_SERVER_UNREACHABLE, LICENSE_NOT_AVAILABLE, GRACE_LICENSE, LICENSE_SERVER_UNAVAILABLE, LICENSE_SERVER_CONNECTED, LICENSE_EXPIRED, LICENSE_EXPIRES_SOON, LICENSE_DOES_NOT_SUPPORT_POOLING, MULTIPATH_PERIODIC_ALERT, EXTAUTH_IN_POOL_IS_NON_HOMOGENEOUS, EXTAUTH_INIT_IN_HOST_FAILED, WLB_OPTIMIZATION_ALERT, WLB_CONSULTATION_FAILED, ALARM, PBD_PLUG_FAILED_ON_SERVER_START, POOL_MASTER_TRANSITION, HOST_CLOCK_WENT_BACKWARDS, HOST_CLOCK_SKEW_DETECTED, HOST_SYNC_DATA_FAILED, VM_CLONED, VM_CRASHED, VM_RESUMED, VM_SUSPENDED, VM_REBOOTED, VM_SHUTDOWN, VM_STARTED, VCPU_QOS_FAILED, VBD_QOS_FAILED, VIF_QOS_FAILED, IP_CONFIGURED_PIF_CAN_UNPLUG, METADATA_LUN_BROKEN, METADATA_LUN_HEALTHY, HA_HOST_WAS_FENCED, HA_HOST_FAILED, HA_PROTECTED_VM_RESTART_FAILED, HA_POOL_DROP_IN_PLAN_EXISTS_FOR, HA_POOL_OVERCOMMITTED, HA_NETWORK_BONDING_ERROR, HA_XAPI_HEALTHCHECK_APPROACHING_TIMEOUT, HA_STATEFILE_APPROACHING_TIMEOUT, HA_HEARTBEAT_APPROACHING_TIMEOUT, HA_STATEFILE_LOST, unknown };
|
||||
public enum MessageType { POOL_CPU_FEATURES_UP, POOL_CPU_FEATURES_DOWN, HOST_CPU_FEATURES_UP, HOST_CPU_FEATURES_DOWN, BOND_STATUS_CHANGED, VMPP_SNAPSHOT_ARCHIVE_ALREADY_EXISTS, VMPP_ARCHIVE_MISSED_EVENT, VMPP_SNAPSHOT_MISSED_EVENT, VMPP_XAPI_LOGON_FAILURE, VMPP_LICENSE_ERROR, VMPP_ARCHIVE_TARGET_UNMOUNT_FAILED, VMPP_ARCHIVE_TARGET_MOUNT_FAILED, VMPP_ARCHIVE_SUCCEEDED, VMPP_ARCHIVE_FAILED_0, VMPP_ARCHIVE_LOCK_FAILED, VMPP_SNAPSHOT_FAILED, VMPP_SNAPSHOT_SUCCEEDED, VMPP_SNAPSHOT_LOCK_FAILED, PVS_PROXY_SETUP_FAILED, PVS_PROXY_NO_CACHE_SR_AVAILABLE, LICENSE_SERVER_VERSION_OBSOLETE, LICENSE_SERVER_UNREACHABLE, LICENSE_NOT_AVAILABLE, GRACE_LICENSE, LICENSE_SERVER_UNAVAILABLE, LICENSE_SERVER_CONNECTED, LICENSE_EXPIRED, LICENSE_EXPIRES_SOON, LICENSE_DOES_NOT_SUPPORT_POOLING, MULTIPATH_PERIODIC_ALERT, EXTAUTH_IN_POOL_IS_NON_HOMOGENEOUS, EXTAUTH_INIT_IN_HOST_FAILED, WLB_OPTIMIZATION_ALERT, WLB_CONSULTATION_FAILED, ALARM, PBD_PLUG_FAILED_ON_SERVER_START, POOL_MASTER_TRANSITION, HOST_CLOCK_WENT_BACKWARDS, HOST_CLOCK_SKEW_DETECTED, HOST_SYNC_DATA_FAILED, VM_CLONED, VM_CRASHED, VM_RESUMED, VM_SUSPENDED, VM_REBOOTED, VM_SHUTDOWN, VM_STARTED, VCPU_QOS_FAILED, VBD_QOS_FAILED, VIF_QOS_FAILED, IP_CONFIGURED_PIF_CAN_UNPLUG, METADATA_LUN_BROKEN, METADATA_LUN_HEALTHY, HA_HOST_WAS_FENCED, HA_HOST_FAILED, HA_PROTECTED_VM_RESTART_FAILED, HA_POOL_DROP_IN_PLAN_EXISTS_FOR, HA_POOL_OVERCOMMITTED, HA_NETWORK_BONDING_ERROR, HA_XAPI_HEALTHCHECK_APPROACHING_TIMEOUT, HA_STATEFILE_APPROACHING_TIMEOUT, HA_HEARTBEAT_APPROACHING_TIMEOUT, HA_STATEFILE_LOST, unknown };
|
||||
|
||||
public MessageType Type
|
||||
{
|
||||
@ -88,6 +88,10 @@ namespace XenAPI
|
||||
return MessageType.VMPP_SNAPSHOT_SUCCEEDED;
|
||||
case "VMPP_SNAPSHOT_LOCK_FAILED":
|
||||
return MessageType.VMPP_SNAPSHOT_LOCK_FAILED;
|
||||
case "PVS_PROXY_SETUP_FAILED":
|
||||
return MessageType.PVS_PROXY_SETUP_FAILED;
|
||||
case "PVS_PROXY_NO_CACHE_SR_AVAILABLE":
|
||||
return MessageType.PVS_PROXY_NO_CACHE_SR_AVAILABLE;
|
||||
case "LICENSE_SERVER_VERSION_OBSOLETE":
|
||||
return MessageType.LICENSE_SERVER_VERSION_OBSOLETE;
|
||||
case "LICENSE_SERVER_UNREACHABLE":
|
||||
|
412
XenModel/XenAPI/PVS_cache_storage.cs
Normal file
412
XenModel/XenAPI/PVS_cache_storage.cs
Normal file
@ -0,0 +1,412 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using CookComputing.XmlRpc;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
/// <summary>
|
||||
/// Describes the storage that is available to a PVS site for caching purposes
|
||||
/// </summary>
|
||||
public partial class PVS_cache_storage : XenObject<PVS_cache_storage>
|
||||
{
|
||||
public PVS_cache_storage()
|
||||
{
|
||||
}
|
||||
|
||||
public PVS_cache_storage(string uuid,
|
||||
XenRef<Host> host,
|
||||
XenRef<SR> SR,
|
||||
XenRef<PVS_site> site,
|
||||
long size,
|
||||
XenRef<VDI> VDI)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
this.host = host;
|
||||
this.SR = SR;
|
||||
this.site = site;
|
||||
this.size = size;
|
||||
this.VDI = VDI;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_cache_storage from a Proxy_PVS_cache_storage.
|
||||
/// </summary>
|
||||
/// <param name="proxy"></param>
|
||||
public PVS_cache_storage(Proxy_PVS_cache_storage proxy)
|
||||
{
|
||||
this.UpdateFromProxy(proxy);
|
||||
}
|
||||
|
||||
public override void UpdateFrom(PVS_cache_storage update)
|
||||
{
|
||||
uuid = update.uuid;
|
||||
host = update.host;
|
||||
SR = update.SR;
|
||||
site = update.site;
|
||||
size = update.size;
|
||||
VDI = update.VDI;
|
||||
}
|
||||
|
||||
internal void UpdateFromProxy(Proxy_PVS_cache_storage proxy)
|
||||
{
|
||||
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
|
||||
host = proxy.host == null ? null : XenRef<Host>.Create(proxy.host);
|
||||
SR = proxy.SR == null ? null : XenRef<SR>.Create(proxy.SR);
|
||||
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
|
||||
size = proxy.size == null ? 0 : long.Parse((string)proxy.size);
|
||||
VDI = proxy.VDI == null ? null : XenRef<VDI>.Create(proxy.VDI);
|
||||
}
|
||||
|
||||
public Proxy_PVS_cache_storage ToProxy()
|
||||
{
|
||||
Proxy_PVS_cache_storage result_ = new Proxy_PVS_cache_storage();
|
||||
result_.uuid = (uuid != null) ? uuid : "";
|
||||
result_.host = (host != null) ? host : "";
|
||||
result_.SR = (SR != null) ? SR : "";
|
||||
result_.site = (site != null) ? site : "";
|
||||
result_.size = size.ToString();
|
||||
result_.VDI = (VDI != null) ? VDI : "";
|
||||
return result_;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_cache_storage from a Hashtable.
|
||||
/// </summary>
|
||||
/// <param name="table"></param>
|
||||
public PVS_cache_storage(Hashtable table)
|
||||
{
|
||||
uuid = Marshalling.ParseString(table, "uuid");
|
||||
host = Marshalling.ParseRef<Host>(table, "host");
|
||||
SR = Marshalling.ParseRef<SR>(table, "SR");
|
||||
site = Marshalling.ParseRef<PVS_site>(table, "site");
|
||||
size = Marshalling.ParseLong(table, "size");
|
||||
VDI = Marshalling.ParseRef<VDI>(table, "VDI");
|
||||
}
|
||||
|
||||
public bool DeepEquals(PVS_cache_storage other)
|
||||
{
|
||||
if (ReferenceEquals(null, other))
|
||||
return false;
|
||||
if (ReferenceEquals(this, other))
|
||||
return true;
|
||||
|
||||
return Helper.AreEqual2(this._uuid, other._uuid) &&
|
||||
Helper.AreEqual2(this._host, other._host) &&
|
||||
Helper.AreEqual2(this._SR, other._SR) &&
|
||||
Helper.AreEqual2(this._site, other._site) &&
|
||||
Helper.AreEqual2(this._size, other._size) &&
|
||||
Helper.AreEqual2(this._VDI, other._VDI);
|
||||
}
|
||||
|
||||
public override string SaveChanges(Session session, string opaqueRef, PVS_cache_storage server)
|
||||
{
|
||||
if (opaqueRef == null)
|
||||
{
|
||||
Proxy_PVS_cache_storage p = this.ToProxy();
|
||||
return session.proxy.pvs_cache_storage_create(session.uuid, p).parse();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("This type has no read/write properties");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Get a record containing the current state of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static PVS_cache_storage get_record(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return new PVS_cache_storage((Proxy_PVS_cache_storage)session.proxy.pvs_cache_storage_get_record(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a reference to the PVS_cache_storage instance with the specified UUID.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_uuid">UUID of object to return</param>
|
||||
public static XenRef<PVS_cache_storage> get_by_uuid(Session session, string _uuid)
|
||||
{
|
||||
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new PVS_cache_storage instance, and return its handle.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_record">All constructor arguments</param>
|
||||
public static XenRef<PVS_cache_storage> create(Session session, PVS_cache_storage _record)
|
||||
{
|
||||
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a new PVS_cache_storage instance, and return its handle.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_record">All constructor arguments</param>
|
||||
public static XenRef<Task> async_create(Session session, PVS_cache_storage _record)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Destroy the specified PVS_cache_storage instance.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static void destroy(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
session.proxy.pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Destroy the specified PVS_cache_storage instance.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static XenRef<Task> async_destroy(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the uuid field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static string get_uuid(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return (string)session.proxy.pvs_cache_storage_get_uuid(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the host field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static XenRef<Host> get_host(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return XenRef<Host>.Create(session.proxy.pvs_cache_storage_get_host(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the SR field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static XenRef<SR> get_SR(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return XenRef<SR>.Create(session.proxy.pvs_cache_storage_get_sr(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the site field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static XenRef<PVS_site> get_site(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_cache_storage_get_site(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the size field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static long get_size(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return long.Parse((string)session.proxy.pvs_cache_storage_get_size(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the VDI field of the given PVS_cache_storage.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
|
||||
public static XenRef<VDI> get_VDI(Session session, string _pvs_cache_storage)
|
||||
{
|
||||
return XenRef<VDI>.Create(session.proxy.pvs_cache_storage_get_vdi(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a list of all the PVS_cache_storages known to the system.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static List<XenRef<PVS_cache_storage>> get_all(Session session)
|
||||
{
|
||||
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_get_all(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all the PVS_cache_storage Records at once, in a single XML RPC call
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static Dictionary<XenRef<PVS_cache_storage>, PVS_cache_storage> get_all_records(Session session)
|
||||
{
|
||||
return XenRef<PVS_cache_storage>.Create<Proxy_PVS_cache_storage>(session.proxy.pvs_cache_storage_get_all_records(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier/object reference
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string uuid
|
||||
{
|
||||
get { return _uuid; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _uuid))
|
||||
{
|
||||
_uuid = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("uuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _uuid;
|
||||
|
||||
/// <summary>
|
||||
/// The host on which this object defines PVS cache storage
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<Host> host
|
||||
{
|
||||
get { return _host; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _host))
|
||||
{
|
||||
_host = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("host");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<Host> _host;
|
||||
|
||||
/// <summary>
|
||||
/// SR providing storage for the PVS cache
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<SR> SR
|
||||
{
|
||||
get { return _SR; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _SR))
|
||||
{
|
||||
_SR = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("SR");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<SR> _SR;
|
||||
|
||||
/// <summary>
|
||||
/// The PVS_site for which this object defines the storage
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<PVS_site> site
|
||||
{
|
||||
get { return _site; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _site))
|
||||
{
|
||||
_site = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("site");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<PVS_site> _site;
|
||||
|
||||
/// <summary>
|
||||
/// The size of the cache VDI (in bytes)
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual long size
|
||||
{
|
||||
get { return _size; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _size))
|
||||
{
|
||||
_size = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("size");
|
||||
}
|
||||
}
|
||||
}
|
||||
private long _size;
|
||||
|
||||
/// <summary>
|
||||
/// The VDI used for caching
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<VDI> VDI
|
||||
{
|
||||
get { return _VDI; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _VDI))
|
||||
{
|
||||
_VDI = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("VDI");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<VDI> _VDI;
|
||||
}
|
||||
}
|
377
XenModel/XenAPI/PVS_proxy.cs
Normal file
377
XenModel/XenAPI/PVS_proxy.cs
Normal file
@ -0,0 +1,377 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using CookComputing.XmlRpc;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
/// <summary>
|
||||
/// a proxy connects a VM/VIF with a PVS site
|
||||
/// </summary>
|
||||
public partial class PVS_proxy : XenObject<PVS_proxy>
|
||||
{
|
||||
public PVS_proxy()
|
||||
{
|
||||
}
|
||||
|
||||
public PVS_proxy(string uuid,
|
||||
XenRef<PVS_site> site,
|
||||
XenRef<VIF> VIF,
|
||||
bool currently_attached,
|
||||
pvs_proxy_status status)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
this.site = site;
|
||||
this.VIF = VIF;
|
||||
this.currently_attached = currently_attached;
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_proxy from a Proxy_PVS_proxy.
|
||||
/// </summary>
|
||||
/// <param name="proxy"></param>
|
||||
public PVS_proxy(Proxy_PVS_proxy proxy)
|
||||
{
|
||||
this.UpdateFromProxy(proxy);
|
||||
}
|
||||
|
||||
public override void UpdateFrom(PVS_proxy update)
|
||||
{
|
||||
uuid = update.uuid;
|
||||
site = update.site;
|
||||
VIF = update.VIF;
|
||||
currently_attached = update.currently_attached;
|
||||
status = update.status;
|
||||
}
|
||||
|
||||
internal void UpdateFromProxy(Proxy_PVS_proxy proxy)
|
||||
{
|
||||
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
|
||||
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
|
||||
VIF = proxy.VIF == null ? null : XenRef<VIF>.Create(proxy.VIF);
|
||||
currently_attached = (bool)proxy.currently_attached;
|
||||
status = proxy.status == null ? (pvs_proxy_status) 0 : (pvs_proxy_status)Helper.EnumParseDefault(typeof(pvs_proxy_status), (string)proxy.status);
|
||||
}
|
||||
|
||||
public Proxy_PVS_proxy ToProxy()
|
||||
{
|
||||
Proxy_PVS_proxy result_ = new Proxy_PVS_proxy();
|
||||
result_.uuid = (uuid != null) ? uuid : "";
|
||||
result_.site = (site != null) ? site : "";
|
||||
result_.VIF = (VIF != null) ? VIF : "";
|
||||
result_.currently_attached = currently_attached;
|
||||
result_.status = pvs_proxy_status_helper.ToString(status);
|
||||
return result_;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_proxy from a Hashtable.
|
||||
/// </summary>
|
||||
/// <param name="table"></param>
|
||||
public PVS_proxy(Hashtable table)
|
||||
{
|
||||
uuid = Marshalling.ParseString(table, "uuid");
|
||||
site = Marshalling.ParseRef<PVS_site>(table, "site");
|
||||
VIF = Marshalling.ParseRef<VIF>(table, "VIF");
|
||||
currently_attached = Marshalling.ParseBool(table, "currently_attached");
|
||||
status = (pvs_proxy_status)Helper.EnumParseDefault(typeof(pvs_proxy_status), Marshalling.ParseString(table, "status"));
|
||||
}
|
||||
|
||||
public bool DeepEquals(PVS_proxy other)
|
||||
{
|
||||
if (ReferenceEquals(null, other))
|
||||
return false;
|
||||
if (ReferenceEquals(this, other))
|
||||
return true;
|
||||
|
||||
return Helper.AreEqual2(this._uuid, other._uuid) &&
|
||||
Helper.AreEqual2(this._site, other._site) &&
|
||||
Helper.AreEqual2(this._VIF, other._VIF) &&
|
||||
Helper.AreEqual2(this._currently_attached, other._currently_attached) &&
|
||||
Helper.AreEqual2(this._status, other._status);
|
||||
}
|
||||
|
||||
public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server)
|
||||
{
|
||||
if (opaqueRef == null)
|
||||
{
|
||||
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("This type has no read/write properties");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Get a record containing the current state of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static PVS_proxy get_record(Session session, string _pvs_proxy)
|
||||
{
|
||||
return new PVS_proxy((Proxy_PVS_proxy)session.proxy.pvs_proxy_get_record(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a reference to the PVS_proxy instance with the specified UUID.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_uuid">UUID of object to return</param>
|
||||
public static XenRef<PVS_proxy> get_by_uuid(Session session, string _uuid)
|
||||
{
|
||||
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the uuid field of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static string get_uuid(Session session, string _pvs_proxy)
|
||||
{
|
||||
return (string)session.proxy.pvs_proxy_get_uuid(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the site field of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static XenRef<PVS_site> get_site(Session session, string _pvs_proxy)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_proxy_get_site(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the VIF field of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static XenRef<VIF> get_VIF(Session session, string _pvs_proxy)
|
||||
{
|
||||
return XenRef<VIF>.Create(session.proxy.pvs_proxy_get_vif(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the currently_attached field of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static bool get_currently_attached(Session session, string _pvs_proxy)
|
||||
{
|
||||
return (bool)session.proxy.pvs_proxy_get_currently_attached(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the status field of the given PVS_proxy.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static pvs_proxy_status get_status(Session session, string _pvs_proxy)
|
||||
{
|
||||
return (pvs_proxy_status)Helper.EnumParseDefault(typeof(pvs_proxy_status), (string)session.proxy.pvs_proxy_get_status(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configure a VM/VIF to use a PVS proxy
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_site">PVS site that we proxy for</param>
|
||||
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
|
||||
public static XenRef<PVS_proxy> create(Session session, string _site, string _vif)
|
||||
{
|
||||
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Configure a VM/VIF to use a PVS proxy
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_site">PVS site that we proxy for</param>
|
||||
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
|
||||
public static XenRef<Task> async_create(Session session, string _site, string _vif)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// remove (or switch off) a PVS proxy for this VM
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static void destroy(Session session, string _pvs_proxy)
|
||||
{
|
||||
session.proxy.pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// remove (or switch off) a PVS proxy for this VM
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
|
||||
public static XenRef<Task> async_destroy(Session session, string _pvs_proxy)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a list of all the PVS_proxys known to the system.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static List<XenRef<PVS_proxy>> get_all(Session session)
|
||||
{
|
||||
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_all(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all the PVS_proxy Records at once, in a single XML RPC call
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static Dictionary<XenRef<PVS_proxy>, PVS_proxy> get_all_records(Session session)
|
||||
{
|
||||
return XenRef<PVS_proxy>.Create<Proxy_PVS_proxy>(session.proxy.pvs_proxy_get_all_records(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier/object reference
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string uuid
|
||||
{
|
||||
get { return _uuid; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _uuid))
|
||||
{
|
||||
_uuid = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("uuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _uuid;
|
||||
|
||||
/// <summary>
|
||||
/// PVS site this proxy is part of
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<PVS_site> site
|
||||
{
|
||||
get { return _site; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _site))
|
||||
{
|
||||
_site = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("site");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<PVS_site> _site;
|
||||
|
||||
/// <summary>
|
||||
/// VIF of the VM using the proxy
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<VIF> VIF
|
||||
{
|
||||
get { return _VIF; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _VIF))
|
||||
{
|
||||
_VIF = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("VIF");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<VIF> _VIF;
|
||||
|
||||
/// <summary>
|
||||
/// true = VM is currently proxied
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual bool currently_attached
|
||||
{
|
||||
get { return _currently_attached; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _currently_attached))
|
||||
{
|
||||
_currently_attached = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("currently_attached");
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool _currently_attached;
|
||||
|
||||
/// <summary>
|
||||
/// The run-time status of the proxy
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual pvs_proxy_status status
|
||||
{
|
||||
get { return _status; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _status))
|
||||
{
|
||||
_status = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("status");
|
||||
}
|
||||
}
|
||||
}
|
||||
private pvs_proxy_status _status;
|
||||
}
|
||||
}
|
381
XenModel/XenAPI/PVS_server.cs
Normal file
381
XenModel/XenAPI/PVS_server.cs
Normal file
@ -0,0 +1,381 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using CookComputing.XmlRpc;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
/// <summary>
|
||||
/// individual machine serving provisioning (block) data
|
||||
/// </summary>
|
||||
public partial class PVS_server : XenObject<PVS_server>
|
||||
{
|
||||
public PVS_server()
|
||||
{
|
||||
}
|
||||
|
||||
public PVS_server(string uuid,
|
||||
string[] addresses,
|
||||
long first_port,
|
||||
long last_port,
|
||||
XenRef<PVS_site> site)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
this.addresses = addresses;
|
||||
this.first_port = first_port;
|
||||
this.last_port = last_port;
|
||||
this.site = site;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_server from a Proxy_PVS_server.
|
||||
/// </summary>
|
||||
/// <param name="proxy"></param>
|
||||
public PVS_server(Proxy_PVS_server proxy)
|
||||
{
|
||||
this.UpdateFromProxy(proxy);
|
||||
}
|
||||
|
||||
public override void UpdateFrom(PVS_server update)
|
||||
{
|
||||
uuid = update.uuid;
|
||||
addresses = update.addresses;
|
||||
first_port = update.first_port;
|
||||
last_port = update.last_port;
|
||||
site = update.site;
|
||||
}
|
||||
|
||||
internal void UpdateFromProxy(Proxy_PVS_server proxy)
|
||||
{
|
||||
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
|
||||
addresses = proxy.addresses == null ? new string[] {} : (string [])proxy.addresses;
|
||||
first_port = proxy.first_port == null ? 0 : long.Parse((string)proxy.first_port);
|
||||
last_port = proxy.last_port == null ? 0 : long.Parse((string)proxy.last_port);
|
||||
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
|
||||
}
|
||||
|
||||
public Proxy_PVS_server ToProxy()
|
||||
{
|
||||
Proxy_PVS_server result_ = new Proxy_PVS_server();
|
||||
result_.uuid = (uuid != null) ? uuid : "";
|
||||
result_.addresses = addresses;
|
||||
result_.first_port = first_port.ToString();
|
||||
result_.last_port = last_port.ToString();
|
||||
result_.site = (site != null) ? site : "";
|
||||
return result_;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_server from a Hashtable.
|
||||
/// </summary>
|
||||
/// <param name="table"></param>
|
||||
public PVS_server(Hashtable table)
|
||||
{
|
||||
uuid = Marshalling.ParseString(table, "uuid");
|
||||
addresses = Marshalling.ParseStringArray(table, "addresses");
|
||||
first_port = Marshalling.ParseLong(table, "first_port");
|
||||
last_port = Marshalling.ParseLong(table, "last_port");
|
||||
site = Marshalling.ParseRef<PVS_site>(table, "site");
|
||||
}
|
||||
|
||||
public bool DeepEquals(PVS_server other)
|
||||
{
|
||||
if (ReferenceEquals(null, other))
|
||||
return false;
|
||||
if (ReferenceEquals(this, other))
|
||||
return true;
|
||||
|
||||
return Helper.AreEqual2(this._uuid, other._uuid) &&
|
||||
Helper.AreEqual2(this._addresses, other._addresses) &&
|
||||
Helper.AreEqual2(this._first_port, other._first_port) &&
|
||||
Helper.AreEqual2(this._last_port, other._last_port) &&
|
||||
Helper.AreEqual2(this._site, other._site);
|
||||
}
|
||||
|
||||
public override string SaveChanges(Session session, string opaqueRef, PVS_server server)
|
||||
{
|
||||
if (opaqueRef == null)
|
||||
{
|
||||
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new InvalidOperationException("This type has no read/write properties");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Get a record containing the current state of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static PVS_server get_record(Session session, string _pvs_server)
|
||||
{
|
||||
return new PVS_server((Proxy_PVS_server)session.proxy.pvs_server_get_record(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a reference to the PVS_server instance with the specified UUID.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_uuid">UUID of object to return</param>
|
||||
public static XenRef<PVS_server> get_by_uuid(Session session, string _uuid)
|
||||
{
|
||||
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the uuid field of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static string get_uuid(Session session, string _pvs_server)
|
||||
{
|
||||
return (string)session.proxy.pvs_server_get_uuid(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the addresses field of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static string[] get_addresses(Session session, string _pvs_server)
|
||||
{
|
||||
return (string [])session.proxy.pvs_server_get_addresses(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the first_port field of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static long get_first_port(Session session, string _pvs_server)
|
||||
{
|
||||
return long.Parse((string)session.proxy.pvs_server_get_first_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the last_port field of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static long get_last_port(Session session, string _pvs_server)
|
||||
{
|
||||
return long.Parse((string)session.proxy.pvs_server_get_last_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the site field of the given PVS_server.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static XenRef<PVS_site> get_site(Session session, string _pvs_server)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_server_get_site(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// introduce new PVS server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_addresses">IPv4 addresses of the server</param>
|
||||
/// <param name="_first_port">first UDP port accepted by this server</param>
|
||||
/// <param name="_last_port">last UDP port accepted by this server</param>
|
||||
/// <param name="_site">PVS site this server is a part of</param>
|
||||
public static XenRef<PVS_server> introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
|
||||
{
|
||||
return XenRef<PVS_server>.Create(session.proxy.pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// introduce new PVS server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_addresses">IPv4 addresses of the server</param>
|
||||
/// <param name="_first_port">first UDP port accepted by this server</param>
|
||||
/// <param name="_last_port">last UDP port accepted by this server</param>
|
||||
/// <param name="_site">PVS site this server is a part of</param>
|
||||
public static XenRef<Task> async_introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// forget a PVS server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static void forget(Session session, string _pvs_server)
|
||||
{
|
||||
session.proxy.pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// forget a PVS server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
|
||||
public static XenRef<Task> async_forget(Session session, string _pvs_server)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a list of all the PVS_servers known to the system.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static List<XenRef<PVS_server>> get_all(Session session)
|
||||
{
|
||||
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_all(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all the PVS_server Records at once, in a single XML RPC call
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static Dictionary<XenRef<PVS_server>, PVS_server> get_all_records(Session session)
|
||||
{
|
||||
return XenRef<PVS_server>.Create<Proxy_PVS_server>(session.proxy.pvs_server_get_all_records(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier/object reference
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string uuid
|
||||
{
|
||||
get { return _uuid; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _uuid))
|
||||
{
|
||||
_uuid = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("uuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _uuid;
|
||||
|
||||
/// <summary>
|
||||
/// IPv4 addresses of this server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string[] addresses
|
||||
{
|
||||
get { return _addresses; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _addresses))
|
||||
{
|
||||
_addresses = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("addresses");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string[] _addresses;
|
||||
|
||||
/// <summary>
|
||||
/// First UDP port accepted by this server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual long first_port
|
||||
{
|
||||
get { return _first_port; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _first_port))
|
||||
{
|
||||
_first_port = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("first_port");
|
||||
}
|
||||
}
|
||||
}
|
||||
private long _first_port;
|
||||
|
||||
/// <summary>
|
||||
/// Last UDP port accepted by this server
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual long last_port
|
||||
{
|
||||
get { return _last_port; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _last_port))
|
||||
{
|
||||
_last_port = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("last_port");
|
||||
}
|
||||
}
|
||||
}
|
||||
private long _last_port;
|
||||
|
||||
/// <summary>
|
||||
/// PVS site this server is part of
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual XenRef<PVS_site> site
|
||||
{
|
||||
get { return _site; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _site))
|
||||
{
|
||||
_site = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("site");
|
||||
}
|
||||
}
|
||||
}
|
||||
private XenRef<PVS_site> _site;
|
||||
}
|
||||
}
|
525
XenModel/XenAPI/PVS_site.cs
Normal file
525
XenModel/XenAPI/PVS_site.cs
Normal file
@ -0,0 +1,525 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using CookComputing.XmlRpc;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
/// <summary>
|
||||
/// machines serving blocks of data for provisioning VMs
|
||||
/// </summary>
|
||||
public partial class PVS_site : XenObject<PVS_site>
|
||||
{
|
||||
public PVS_site()
|
||||
{
|
||||
}
|
||||
|
||||
public PVS_site(string uuid,
|
||||
string name_label,
|
||||
string name_description,
|
||||
string PVS_uuid,
|
||||
List<XenRef<PVS_cache_storage>> cache_storage,
|
||||
List<XenRef<PVS_server>> servers,
|
||||
List<XenRef<PVS_proxy>> proxies)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
this.name_label = name_label;
|
||||
this.name_description = name_description;
|
||||
this.PVS_uuid = PVS_uuid;
|
||||
this.cache_storage = cache_storage;
|
||||
this.servers = servers;
|
||||
this.proxies = proxies;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_site from a Proxy_PVS_site.
|
||||
/// </summary>
|
||||
/// <param name="proxy"></param>
|
||||
public PVS_site(Proxy_PVS_site proxy)
|
||||
{
|
||||
this.UpdateFromProxy(proxy);
|
||||
}
|
||||
|
||||
public override void UpdateFrom(PVS_site update)
|
||||
{
|
||||
uuid = update.uuid;
|
||||
name_label = update.name_label;
|
||||
name_description = update.name_description;
|
||||
PVS_uuid = update.PVS_uuid;
|
||||
cache_storage = update.cache_storage;
|
||||
servers = update.servers;
|
||||
proxies = update.proxies;
|
||||
}
|
||||
|
||||
internal void UpdateFromProxy(Proxy_PVS_site proxy)
|
||||
{
|
||||
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
|
||||
name_label = proxy.name_label == null ? null : (string)proxy.name_label;
|
||||
name_description = proxy.name_description == null ? null : (string)proxy.name_description;
|
||||
PVS_uuid = proxy.PVS_uuid == null ? null : (string)proxy.PVS_uuid;
|
||||
cache_storage = proxy.cache_storage == null ? null : XenRef<PVS_cache_storage>.Create(proxy.cache_storage);
|
||||
servers = proxy.servers == null ? null : XenRef<PVS_server>.Create(proxy.servers);
|
||||
proxies = proxy.proxies == null ? null : XenRef<PVS_proxy>.Create(proxy.proxies);
|
||||
}
|
||||
|
||||
public Proxy_PVS_site ToProxy()
|
||||
{
|
||||
Proxy_PVS_site result_ = new Proxy_PVS_site();
|
||||
result_.uuid = (uuid != null) ? uuid : "";
|
||||
result_.name_label = (name_label != null) ? name_label : "";
|
||||
result_.name_description = (name_description != null) ? name_description : "";
|
||||
result_.PVS_uuid = (PVS_uuid != null) ? PVS_uuid : "";
|
||||
result_.cache_storage = (cache_storage != null) ? Helper.RefListToStringArray(cache_storage) : new string[] {};
|
||||
result_.servers = (servers != null) ? Helper.RefListToStringArray(servers) : new string[] {};
|
||||
result_.proxies = (proxies != null) ? Helper.RefListToStringArray(proxies) : new string[] {};
|
||||
return result_;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new PVS_site from a Hashtable.
|
||||
/// </summary>
|
||||
/// <param name="table"></param>
|
||||
public PVS_site(Hashtable table)
|
||||
{
|
||||
uuid = Marshalling.ParseString(table, "uuid");
|
||||
name_label = Marshalling.ParseString(table, "name_label");
|
||||
name_description = Marshalling.ParseString(table, "name_description");
|
||||
PVS_uuid = Marshalling.ParseString(table, "PVS_uuid");
|
||||
cache_storage = Marshalling.ParseSetRef<PVS_cache_storage>(table, "cache_storage");
|
||||
servers = Marshalling.ParseSetRef<PVS_server>(table, "servers");
|
||||
proxies = Marshalling.ParseSetRef<PVS_proxy>(table, "proxies");
|
||||
}
|
||||
|
||||
public bool DeepEquals(PVS_site other)
|
||||
{
|
||||
if (ReferenceEquals(null, other))
|
||||
return false;
|
||||
if (ReferenceEquals(this, other))
|
||||
return true;
|
||||
|
||||
return Helper.AreEqual2(this._uuid, other._uuid) &&
|
||||
Helper.AreEqual2(this._name_label, other._name_label) &&
|
||||
Helper.AreEqual2(this._name_description, other._name_description) &&
|
||||
Helper.AreEqual2(this._PVS_uuid, other._PVS_uuid) &&
|
||||
Helper.AreEqual2(this._cache_storage, other._cache_storage) &&
|
||||
Helper.AreEqual2(this._servers, other._servers) &&
|
||||
Helper.AreEqual2(this._proxies, other._proxies);
|
||||
}
|
||||
|
||||
public override string SaveChanges(Session session, string opaqueRef, PVS_site server)
|
||||
{
|
||||
if (opaqueRef == null)
|
||||
{
|
||||
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
|
||||
return "";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!Helper.AreEqual2(_name_label, server._name_label))
|
||||
{
|
||||
PVS_site.set_name_label(session, opaqueRef, _name_label);
|
||||
}
|
||||
if (!Helper.AreEqual2(_name_description, server._name_description))
|
||||
{
|
||||
PVS_site.set_name_description(session, opaqueRef, _name_description);
|
||||
}
|
||||
if (!Helper.AreEqual2(_PVS_uuid, server._PVS_uuid))
|
||||
{
|
||||
PVS_site.set_PVS_uuid(session, opaqueRef, _PVS_uuid);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Get a record containing the current state of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static PVS_site get_record(Session session, string _pvs_site)
|
||||
{
|
||||
return new PVS_site((Proxy_PVS_site)session.proxy.pvs_site_get_record(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get a reference to the PVS_site instance with the specified UUID.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_uuid">UUID of object to return</param>
|
||||
public static XenRef<PVS_site> get_by_uuid(Session session, string _uuid)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all the PVS_site instances with the given label.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_label">label of object to return</param>
|
||||
public static List<XenRef<PVS_site>> get_by_name_label(Session session, string _label)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_by_name_label(session.uuid, (_label != null) ? _label : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the uuid field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static string get_uuid(Session session, string _pvs_site)
|
||||
{
|
||||
return (string)session.proxy.pvs_site_get_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the name/label field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static string get_name_label(Session session, string _pvs_site)
|
||||
{
|
||||
return (string)session.proxy.pvs_site_get_name_label(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the name/description field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static string get_name_description(Session session, string _pvs_site)
|
||||
{
|
||||
return (string)session.proxy.pvs_site_get_name_description(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the PVS_uuid field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static string get_PVS_uuid(Session session, string _pvs_site)
|
||||
{
|
||||
return (string)session.proxy.pvs_site_get_pvs_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the cache_storage field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static List<XenRef<PVS_cache_storage>> get_cache_storage(Session session, string _pvs_site)
|
||||
{
|
||||
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_site_get_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the servers field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static List<XenRef<PVS_server>> get_servers(Session session, string _pvs_site)
|
||||
{
|
||||
return XenRef<PVS_server>.Create(session.proxy.pvs_site_get_servers(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the proxies field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static List<XenRef<PVS_proxy>> get_proxies(Session session, string _pvs_site)
|
||||
{
|
||||
return XenRef<PVS_proxy>.Create(session.proxy.pvs_site_get_proxies(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the name/label field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
/// <param name="_label">New value to set</param>
|
||||
public static void set_name_label(Session session, string _pvs_site, string _label)
|
||||
{
|
||||
session.proxy.pvs_site_set_name_label(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_label != null) ? _label : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the name/description field of the given PVS_site.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
/// <param name="_description">New value to set</param>
|
||||
public static void set_name_description(Session session, string _pvs_site, string _description)
|
||||
{
|
||||
session.proxy.pvs_site_set_name_description(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_description != null) ? _description : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Introduce new PVS site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_name_label">name of the PVS site</param>
|
||||
/// <param name="_name_description">description of the PVS site</param>
|
||||
/// <param name="_pvs_uuid">unique identifier of the PVS site</param>
|
||||
public static XenRef<PVS_site> introduce(Session session, string _name_label, string _name_description, string _pvs_uuid)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_site_introduce(session.uuid, (_name_label != null) ? _name_label : "", (_name_description != null) ? _name_description : "", (_pvs_uuid != null) ? _pvs_uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Introduce new PVS site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_name_label">name of the PVS site</param>
|
||||
/// <param name="_name_description">description of the PVS site</param>
|
||||
/// <param name="_pvs_uuid">unique identifier of the PVS site</param>
|
||||
public static XenRef<Task> async_introduce(Session session, string _name_label, string _name_description, string _pvs_uuid)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_site_introduce(session.uuid, (_name_label != null) ? _name_label : "", (_name_description != null) ? _name_description : "", (_pvs_uuid != null) ? _pvs_uuid : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove a site's meta data
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static void forget(Session session, string _pvs_site)
|
||||
{
|
||||
session.proxy.pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Remove a site's meta data
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
public static XenRef<Task> async_forget(Session session, string _pvs_site)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update the PVS UUID of the PVS site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
/// <param name="_value">PVS UUID to be used</param>
|
||||
public static void set_PVS_uuid(Session session, string _pvs_site, string _value)
|
||||
{
|
||||
session.proxy.pvs_site_set_pvs_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update the PVS UUID of the PVS site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
|
||||
/// <param name="_value">PVS UUID to be used</param>
|
||||
public static XenRef<Task> async_set_PVS_uuid(Session session, string _pvs_site, string _value)
|
||||
{
|
||||
return XenRef<Task>.Create(session.proxy.async_pvs_site_set_pvs_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Return a list of all the PVS_sites known to the system.
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static List<XenRef<PVS_site>> get_all(Session session)
|
||||
{
|
||||
return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_all(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all the PVS_site Records at once, in a single XML RPC call
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
public static Dictionary<XenRef<PVS_site>, PVS_site> get_all_records(Session session)
|
||||
{
|
||||
return XenRef<PVS_site>.Create<Proxy_PVS_site>(session.proxy.pvs_site_get_all_records(session.uuid).parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier/object reference
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string uuid
|
||||
{
|
||||
get { return _uuid; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _uuid))
|
||||
{
|
||||
_uuid = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("uuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _uuid;
|
||||
|
||||
/// <summary>
|
||||
/// a human-readable name
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string name_label
|
||||
{
|
||||
get { return _name_label; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _name_label))
|
||||
{
|
||||
_name_label = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("name_label");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _name_label;
|
||||
|
||||
/// <summary>
|
||||
/// a notes field containing human-readable description
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string name_description
|
||||
{
|
||||
get { return _name_description; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _name_description))
|
||||
{
|
||||
_name_description = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("name_description");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _name_description;
|
||||
|
||||
/// <summary>
|
||||
/// Unique identifier of the PVS site, as configured in PVS
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual string PVS_uuid
|
||||
{
|
||||
get { return _PVS_uuid; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _PVS_uuid))
|
||||
{
|
||||
_PVS_uuid = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("PVS_uuid");
|
||||
}
|
||||
}
|
||||
}
|
||||
private string _PVS_uuid;
|
||||
|
||||
/// <summary>
|
||||
/// The SR used by PVS proxy for the cache
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual List<XenRef<PVS_cache_storage>> cache_storage
|
||||
{
|
||||
get { return _cache_storage; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _cache_storage))
|
||||
{
|
||||
_cache_storage = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("cache_storage");
|
||||
}
|
||||
}
|
||||
}
|
||||
private List<XenRef<PVS_cache_storage>> _cache_storage;
|
||||
|
||||
/// <summary>
|
||||
/// The set of PVS servers in the site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual List<XenRef<PVS_server>> servers
|
||||
{
|
||||
get { return _servers; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _servers))
|
||||
{
|
||||
_servers = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("servers");
|
||||
}
|
||||
}
|
||||
}
|
||||
private List<XenRef<PVS_server>> _servers;
|
||||
|
||||
/// <summary>
|
||||
/// The set of proxies associated with the site
|
||||
/// Experimental. First published in .
|
||||
/// </summary>
|
||||
public virtual List<XenRef<PVS_proxy>> proxies
|
||||
{
|
||||
get { return _proxies; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _proxies))
|
||||
{
|
||||
_proxies = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("proxies");
|
||||
}
|
||||
}
|
||||
}
|
||||
private List<XenRef<PVS_proxy>> _proxies;
|
||||
}
|
||||
}
|
@ -309,9 +309,9 @@ namespace XenAPI
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_pool_update">The opaque_ref of the given pool_update</param>
|
||||
/// <param name="_host">The host to run the prechecks on.</param>
|
||||
public static void precheck(Session session, string _pool_update, string _host)
|
||||
public static livepatch_status precheck(Session session, string _pool_update, string _host)
|
||||
{
|
||||
session.proxy.pool_update_precheck(session.uuid, (_pool_update != null) ? _pool_update : "", (_host != null) ? _host : "").parse();
|
||||
return (livepatch_status)Helper.EnumParseDefault(typeof(livepatch_status), (string)session.proxy.pool_update_precheck(session.uuid, (_pool_update != null) ? _pool_update : "", (_host != null) ? _host : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -2376,6 +2376,18 @@ namespace XenAPI
|
||||
Response<Object>
|
||||
vm_metrics_get_other_config(string session, string _vm_metrics);
|
||||
|
||||
[XmlRpcMethod("VM_metrics.get_hvm")]
|
||||
Response<bool>
|
||||
vm_metrics_get_hvm(string session, string _vm_metrics);
|
||||
|
||||
[XmlRpcMethod("VM_metrics.get_nested_virt")]
|
||||
Response<bool>
|
||||
vm_metrics_get_nested_virt(string session, string _vm_metrics);
|
||||
|
||||
[XmlRpcMethod("VM_metrics.get_nomigrate")]
|
||||
Response<bool>
|
||||
vm_metrics_get_nomigrate(string session, string _vm_metrics);
|
||||
|
||||
[XmlRpcMethod("VM_metrics.set_other_config")]
|
||||
Response<string>
|
||||
vm_metrics_set_other_config(string session, string _vm_metrics, Object _other_config);
|
||||
@ -7015,6 +7027,246 @@ namespace XenAPI
|
||||
[XmlRpcMethod("VGPU_type.get_all_records")]
|
||||
Response<Object>
|
||||
vgpu_type_get_all_records(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_record")]
|
||||
Response<Proxy_PVS_site>
|
||||
pvs_site_get_record(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_by_uuid")]
|
||||
Response<string>
|
||||
pvs_site_get_by_uuid(string session, string _uuid);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_by_name_label")]
|
||||
Response<string []>
|
||||
pvs_site_get_by_name_label(string session, string _label);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_uuid")]
|
||||
Response<string>
|
||||
pvs_site_get_uuid(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_name_label")]
|
||||
Response<string>
|
||||
pvs_site_get_name_label(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_name_description")]
|
||||
Response<string>
|
||||
pvs_site_get_name_description(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_PVS_uuid")]
|
||||
Response<string>
|
||||
pvs_site_get_pvs_uuid(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_cache_storage")]
|
||||
Response<string []>
|
||||
pvs_site_get_cache_storage(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_servers")]
|
||||
Response<string []>
|
||||
pvs_site_get_servers(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_proxies")]
|
||||
Response<string []>
|
||||
pvs_site_get_proxies(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.set_name_label")]
|
||||
Response<string>
|
||||
pvs_site_set_name_label(string session, string _pvs_site, string _label);
|
||||
|
||||
[XmlRpcMethod("PVS_site.set_name_description")]
|
||||
Response<string>
|
||||
pvs_site_set_name_description(string session, string _pvs_site, string _description);
|
||||
|
||||
[XmlRpcMethod("PVS_site.introduce")]
|
||||
Response<string>
|
||||
pvs_site_introduce(string session, string _name_label, string _name_description, string _pvs_uuid);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_site.introduce")]
|
||||
Response<string>
|
||||
async_pvs_site_introduce(string session, string _name_label, string _name_description, string _pvs_uuid);
|
||||
|
||||
[XmlRpcMethod("PVS_site.forget")]
|
||||
Response<string>
|
||||
pvs_site_forget(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_site.forget")]
|
||||
Response<string>
|
||||
async_pvs_site_forget(string session, string _pvs_site);
|
||||
|
||||
[XmlRpcMethod("PVS_site.set_PVS_uuid")]
|
||||
Response<string>
|
||||
pvs_site_set_pvs_uuid(string session, string _pvs_site, string _value);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_site.set_PVS_uuid")]
|
||||
Response<string>
|
||||
async_pvs_site_set_pvs_uuid(string session, string _pvs_site, string _value);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_all")]
|
||||
Response<string []>
|
||||
pvs_site_get_all(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_site.get_all_records")]
|
||||
Response<Object>
|
||||
pvs_site_get_all_records(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_record")]
|
||||
Response<Proxy_PVS_server>
|
||||
pvs_server_get_record(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_by_uuid")]
|
||||
Response<string>
|
||||
pvs_server_get_by_uuid(string session, string _uuid);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_uuid")]
|
||||
Response<string>
|
||||
pvs_server_get_uuid(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_addresses")]
|
||||
Response<string []>
|
||||
pvs_server_get_addresses(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_first_port")]
|
||||
Response<string>
|
||||
pvs_server_get_first_port(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_last_port")]
|
||||
Response<string>
|
||||
pvs_server_get_last_port(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_site")]
|
||||
Response<string>
|
||||
pvs_server_get_site(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.introduce")]
|
||||
Response<string>
|
||||
pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_server.introduce")]
|
||||
Response<string>
|
||||
async_pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
|
||||
|
||||
[XmlRpcMethod("PVS_server.forget")]
|
||||
Response<string>
|
||||
pvs_server_forget(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_server.forget")]
|
||||
Response<string>
|
||||
async_pvs_server_forget(string session, string _pvs_server);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_all")]
|
||||
Response<string []>
|
||||
pvs_server_get_all(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_server.get_all_records")]
|
||||
Response<Object>
|
||||
pvs_server_get_all_records(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_record")]
|
||||
Response<Proxy_PVS_proxy>
|
||||
pvs_proxy_get_record(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_by_uuid")]
|
||||
Response<string>
|
||||
pvs_proxy_get_by_uuid(string session, string _uuid);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_uuid")]
|
||||
Response<string>
|
||||
pvs_proxy_get_uuid(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_site")]
|
||||
Response<string>
|
||||
pvs_proxy_get_site(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_VIF")]
|
||||
Response<string>
|
||||
pvs_proxy_get_vif(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_currently_attached")]
|
||||
Response<bool>
|
||||
pvs_proxy_get_currently_attached(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_status")]
|
||||
Response<string>
|
||||
pvs_proxy_get_status(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.create")]
|
||||
Response<string>
|
||||
pvs_proxy_create(string session, string _site, string _vif);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_proxy.create")]
|
||||
Response<string>
|
||||
async_pvs_proxy_create(string session, string _site, string _vif);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.destroy")]
|
||||
Response<string>
|
||||
pvs_proxy_destroy(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_proxy.destroy")]
|
||||
Response<string>
|
||||
async_pvs_proxy_destroy(string session, string _pvs_proxy);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_all")]
|
||||
Response<string []>
|
||||
pvs_proxy_get_all(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_proxy.get_all_records")]
|
||||
Response<Object>
|
||||
pvs_proxy_get_all_records(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_record")]
|
||||
Response<Proxy_PVS_cache_storage>
|
||||
pvs_cache_storage_get_record(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_by_uuid")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_by_uuid(string session, string _uuid);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.create")]
|
||||
Response<string>
|
||||
pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_cache_storage.create")]
|
||||
Response<string>
|
||||
async_pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.destroy")]
|
||||
Response<string>
|
||||
pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("Async.PVS_cache_storage.destroy")]
|
||||
Response<string>
|
||||
async_pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_uuid")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_uuid(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_host")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_host(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_SR")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_sr(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_site")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_site(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_size")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_size(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_VDI")]
|
||||
Response<string>
|
||||
pvs_cache_storage_get_vdi(string session, string _pvs_cache_storage);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_all")]
|
||||
Response<string []>
|
||||
pvs_cache_storage_get_all(string session);
|
||||
|
||||
[XmlRpcMethod("PVS_cache_storage.get_all_records")]
|
||||
Response<Object>
|
||||
pvs_cache_storage_get_all_records(string session);
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
@ -7248,6 +7500,9 @@ namespace XenAPI
|
||||
public DateTime install_time;
|
||||
public DateTime last_updated;
|
||||
public Object other_config;
|
||||
public bool hvm;
|
||||
public bool nested_virt;
|
||||
public bool nomigrate;
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
@ -7868,4 +8123,47 @@ namespace XenAPI
|
||||
public bool experimental;
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
public class Proxy_PVS_site
|
||||
{
|
||||
public string uuid;
|
||||
public string name_label;
|
||||
public string name_description;
|
||||
public string PVS_uuid;
|
||||
public string [] cache_storage;
|
||||
public string [] servers;
|
||||
public string [] proxies;
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
public class Proxy_PVS_server
|
||||
{
|
||||
public string uuid;
|
||||
public string [] addresses;
|
||||
public string first_port;
|
||||
public string last_port;
|
||||
public string site;
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
public class Proxy_PVS_proxy
|
||||
{
|
||||
public string uuid;
|
||||
public string site;
|
||||
public string VIF;
|
||||
public bool currently_attached;
|
||||
public string status;
|
||||
}
|
||||
|
||||
[XmlRpcMissingMapping(MappingAction.Ignore)]
|
||||
public class Proxy_PVS_cache_storage
|
||||
{
|
||||
public string uuid;
|
||||
public string host;
|
||||
public string SR;
|
||||
public string site;
|
||||
public string size;
|
||||
public string VDI;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -96,6 +96,12 @@ namespace XenAPI
|
||||
new Relation("bond_master_of", "Bond", "master"),
|
||||
});
|
||||
|
||||
relations.Add(typeof(Proxy_PVS_site), new Relation[] {
|
||||
new Relation("cache_storage", "PVS_cache_storage", "site"),
|
||||
new Relation("proxies", "PVS_proxy", "site"),
|
||||
new Relation("servers", "PVS_server", "site"),
|
||||
});
|
||||
|
||||
relations.Add(typeof(Proxy_DR_task), new Relation[] {
|
||||
new Relation("introduced_SRs", "SR", "introduced_by"),
|
||||
});
|
||||
|
@ -59,7 +59,10 @@ namespace XenAPI
|
||||
DateTime start_time,
|
||||
DateTime install_time,
|
||||
DateTime last_updated,
|
||||
Dictionary<string, string> other_config)
|
||||
Dictionary<string, string> other_config,
|
||||
bool hvm,
|
||||
bool nested_virt,
|
||||
bool nomigrate)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
this.memory_actual = memory_actual;
|
||||
@ -73,6 +76,9 @@ namespace XenAPI
|
||||
this.install_time = install_time;
|
||||
this.last_updated = last_updated;
|
||||
this.other_config = other_config;
|
||||
this.hvm = hvm;
|
||||
this.nested_virt = nested_virt;
|
||||
this.nomigrate = nomigrate;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -98,6 +104,9 @@ namespace XenAPI
|
||||
install_time = update.install_time;
|
||||
last_updated = update.last_updated;
|
||||
other_config = update.other_config;
|
||||
hvm = update.hvm;
|
||||
nested_virt = update.nested_virt;
|
||||
nomigrate = update.nomigrate;
|
||||
}
|
||||
|
||||
internal void UpdateFromProxy(Proxy_VM_metrics proxy)
|
||||
@ -114,6 +123,9 @@ namespace XenAPI
|
||||
install_time = proxy.install_time;
|
||||
last_updated = proxy.last_updated;
|
||||
other_config = proxy.other_config == null ? null : Maps.convert_from_proxy_string_string(proxy.other_config);
|
||||
hvm = (bool)proxy.hvm;
|
||||
nested_virt = (bool)proxy.nested_virt;
|
||||
nomigrate = (bool)proxy.nomigrate;
|
||||
}
|
||||
|
||||
public Proxy_VM_metrics ToProxy()
|
||||
@ -131,6 +143,9 @@ namespace XenAPI
|
||||
result_.install_time = install_time;
|
||||
result_.last_updated = last_updated;
|
||||
result_.other_config = Maps.convert_to_proxy_string_string(other_config);
|
||||
result_.hvm = hvm;
|
||||
result_.nested_virt = nested_virt;
|
||||
result_.nomigrate = nomigrate;
|
||||
return result_;
|
||||
}
|
||||
|
||||
@ -152,6 +167,9 @@ namespace XenAPI
|
||||
install_time = Marshalling.ParseDateTime(table, "install_time");
|
||||
last_updated = Marshalling.ParseDateTime(table, "last_updated");
|
||||
other_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "other_config"));
|
||||
hvm = Marshalling.ParseBool(table, "hvm");
|
||||
nested_virt = Marshalling.ParseBool(table, "nested_virt");
|
||||
nomigrate = Marshalling.ParseBool(table, "nomigrate");
|
||||
}
|
||||
|
||||
public bool DeepEquals(VM_metrics other)
|
||||
@ -172,7 +190,10 @@ namespace XenAPI
|
||||
Helper.AreEqual2(this._start_time, other._start_time) &&
|
||||
Helper.AreEqual2(this._install_time, other._install_time) &&
|
||||
Helper.AreEqual2(this._last_updated, other._last_updated) &&
|
||||
Helper.AreEqual2(this._other_config, other._other_config);
|
||||
Helper.AreEqual2(this._other_config, other._other_config) &&
|
||||
Helper.AreEqual2(this._hvm, other._hvm) &&
|
||||
Helper.AreEqual2(this._nested_virt, other._nested_virt) &&
|
||||
Helper.AreEqual2(this._nomigrate, other._nomigrate);
|
||||
}
|
||||
|
||||
public override string SaveChanges(Session session, string opaqueRef, VM_metrics server)
|
||||
@ -346,6 +367,39 @@ namespace XenAPI
|
||||
return Maps.convert_from_proxy_string_string(session.proxy.vm_metrics_get_other_config(session.uuid, (_vm_metrics != null) ? _vm_metrics : "").parse());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the hvm field of the given VM_metrics.
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_vm_metrics">The opaque_ref of the given vm_metrics</param>
|
||||
public static bool get_hvm(Session session, string _vm_metrics)
|
||||
{
|
||||
return (bool)session.proxy.vm_metrics_get_hvm(session.uuid, (_vm_metrics != null) ? _vm_metrics : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the nested_virt field of the given VM_metrics.
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_vm_metrics">The opaque_ref of the given vm_metrics</param>
|
||||
public static bool get_nested_virt(Session session, string _vm_metrics)
|
||||
{
|
||||
return (bool)session.proxy.vm_metrics_get_nested_virt(session.uuid, (_vm_metrics != null) ? _vm_metrics : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get the nomigrate field of the given VM_metrics.
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
/// <param name="session">The session</param>
|
||||
/// <param name="_vm_metrics">The opaque_ref of the given vm_metrics</param>
|
||||
public static bool get_nomigrate(Session session, string _vm_metrics)
|
||||
{
|
||||
return (bool)session.proxy.vm_metrics_get_nomigrate(session.uuid, (_vm_metrics != null) ? _vm_metrics : "").parse();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the other_config field of the given VM_metrics.
|
||||
/// First published in XenServer 5.0.
|
||||
@ -619,5 +673,62 @@ namespace XenAPI
|
||||
}
|
||||
}
|
||||
private Dictionary<string, string> _other_config;
|
||||
|
||||
/// <summary>
|
||||
/// hardware virtual machine
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
public virtual bool hvm
|
||||
{
|
||||
get { return _hvm; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _hvm))
|
||||
{
|
||||
_hvm = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("hvm");
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool _hvm;
|
||||
|
||||
/// <summary>
|
||||
/// VM supports nested virtualisation
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
public virtual bool nested_virt
|
||||
{
|
||||
get { return _nested_virt; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _nested_virt))
|
||||
{
|
||||
_nested_virt = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("nested_virt");
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool _nested_virt;
|
||||
|
||||
/// <summary>
|
||||
/// VM is immobile and can't migrate between hosts
|
||||
/// First published in .
|
||||
/// </summary>
|
||||
public virtual bool nomigrate
|
||||
{
|
||||
get { return _nomigrate; }
|
||||
set
|
||||
{
|
||||
if (!Helper.AreEqual(value, _nomigrate))
|
||||
{
|
||||
_nomigrate = value;
|
||||
Changed = true;
|
||||
NotifyPropertyChanged("nomigrate");
|
||||
}
|
||||
}
|
||||
}
|
||||
private bool _nomigrate;
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ namespace XenAPI
|
||||
{
|
||||
public enum cls
|
||||
{
|
||||
VM, Host, SR, Pool, VMPP, unknown
|
||||
VM, Host, SR, Pool, VMPP, PVS_proxy, unknown
|
||||
}
|
||||
|
||||
public static class cls_helper
|
||||
@ -56,6 +56,8 @@ namespace XenAPI
|
||||
return "Pool";
|
||||
case cls.VMPP:
|
||||
return "VMPP";
|
||||
case cls.PVS_proxy:
|
||||
return "PVS_proxy";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
60
XenModel/XenAPI/livepatch_status.cs
Normal file
60
XenModel/XenAPI/livepatch_status.cs
Normal file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
public enum livepatch_status
|
||||
{
|
||||
ok_livepatch_complete, ok_livepatch_incomplete, ok, unknown
|
||||
}
|
||||
|
||||
public static class livepatch_status_helper
|
||||
{
|
||||
public static string ToString(livepatch_status x)
|
||||
{
|
||||
switch (x)
|
||||
{
|
||||
case livepatch_status.ok_livepatch_complete:
|
||||
return "ok_livepatch_complete";
|
||||
case livepatch_status.ok_livepatch_incomplete:
|
||||
return "ok_livepatch_incomplete";
|
||||
case livepatch_status.ok:
|
||||
return "ok";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
64
XenModel/XenAPI/pvs_proxy_status.cs
Normal file
64
XenModel/XenAPI/pvs_proxy_status.cs
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
* 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
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace XenAPI
|
||||
{
|
||||
public enum pvs_proxy_status
|
||||
{
|
||||
stopped, initialised, caching, incompatible_write_cache_mode, incompatible_protocol_version, unknown
|
||||
}
|
||||
|
||||
public static class pvs_proxy_status_helper
|
||||
{
|
||||
public static string ToString(pvs_proxy_status x)
|
||||
{
|
||||
switch (x)
|
||||
{
|
||||
case pvs_proxy_status.stopped:
|
||||
return "stopped";
|
||||
case pvs_proxy_status.initialised:
|
||||
return "initialised";
|
||||
case pvs_proxy_status.caching:
|
||||
return "caching";
|
||||
case pvs_proxy_status.incompatible_write_cache_mode:
|
||||
return "incompatible_write_cache_mode";
|
||||
case pvs_proxy_status.incompatible_protocol_version:
|
||||
return "incompatible_protocol_version";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -37,7 +37,7 @@ namespace XenAPI
|
||||
{
|
||||
public enum vdi_type
|
||||
{
|
||||
system, user, ephemeral, suspend, crashdump, ha_statefile, metadata, redo_log, rrd, unknown
|
||||
system, user, ephemeral, suspend, crashdump, ha_statefile, metadata, redo_log, rrd, pvs_cache, unknown
|
||||
}
|
||||
|
||||
public static class vdi_type_helper
|
||||
@ -64,6 +64,8 @@ namespace XenAPI
|
||||
return "redo_log";
|
||||
case vdi_type.rrd:
|
||||
return "rrd";
|
||||
case vdi_type.pvs_cache:
|
||||
return "pvs_cache";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
|
@ -346,6 +346,7 @@
|
||||
<Compile Include="XenAPI\GPU_group.cs" />
|
||||
<Compile Include="XenAPI\host_display.cs" />
|
||||
<Compile Include="XenAPI\ipv6_configuration_mode.cs" />
|
||||
<Compile Include="XenAPI\livepatch_status.cs" />
|
||||
<Compile Include="XenAPI\LVHD.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
@ -356,6 +357,11 @@
|
||||
<Compile Include="XenAPI\pool_allowed_operations.cs" />
|
||||
<Compile Include="XenAPI\Pool_update.cs" />
|
||||
<Compile Include="XenAPI\primary_address_type.cs" />
|
||||
<Compile Include="XenAPI\PVS_cache_storage.cs" />
|
||||
<Compile Include="XenAPI\PVS_proxy.cs" />
|
||||
<Compile Include="XenAPI\pvs_proxy_status.cs" />
|
||||
<Compile Include="XenAPI\PVS_server.cs" />
|
||||
<Compile Include="XenAPI\PVS_site.cs" />
|
||||
<Compile Include="XenAPI\tristate_type.cs" />
|
||||
<Compile Include="XenAPI\update_after_apply_guidance.cs" />
|
||||
<Compile Include="XenAPI\VGPU.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user