/* * 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 System.ComponentModel; using System.Globalization; using System.Linq; using Newtonsoft.Json; namespace XenAPI { /// /// Pool-wide information /// First published in XenServer 4.0. /// public partial class Pool : XenObject { #region Constructors public Pool() { } public Pool(string uuid, string name_label, string name_description, XenRef master, XenRef default_SR, XenRef suspend_image_SR, XenRef crash_dump_SR, Dictionary other_config, bool ha_enabled, Dictionary ha_configuration, string[] ha_statefiles, long ha_host_failures_to_tolerate, long ha_plan_exists_for, bool ha_allow_overcommit, bool ha_overcommitted, Dictionary> blobs, string[] tags, Dictionary gui_config, Dictionary health_check_config, string wlb_url, string wlb_username, bool wlb_enabled, bool wlb_verify_cert, bool redo_log_enabled, XenRef redo_log_vdi, string vswitch_controller, Dictionary restrictions, List> metadata_VDIs, string ha_cluster_stack, List allowed_operations, Dictionary current_operations, Dictionary guest_agent_config, Dictionary cpu_info, bool policy_no_vendor_device, bool live_patching_disabled, bool igmp_snooping_enabled, string uefi_certificates, bool is_psr_pending, bool tls_verification_enabled, List> repositories, bool client_certificate_auth_enabled, string client_certificate_auth_name, string repository_proxy_url, string repository_proxy_username) { this.uuid = uuid; this.name_label = name_label; this.name_description = name_description; this.master = master; this.default_SR = default_SR; this.suspend_image_SR = suspend_image_SR; this.crash_dump_SR = crash_dump_SR; this.other_config = other_config; this.ha_enabled = ha_enabled; this.ha_configuration = ha_configuration; this.ha_statefiles = ha_statefiles; this.ha_host_failures_to_tolerate = ha_host_failures_to_tolerate; this.ha_plan_exists_for = ha_plan_exists_for; this.ha_allow_overcommit = ha_allow_overcommit; this.ha_overcommitted = ha_overcommitted; this.blobs = blobs; this.tags = tags; this.gui_config = gui_config; this.health_check_config = health_check_config; this.wlb_url = wlb_url; this.wlb_username = wlb_username; this.wlb_enabled = wlb_enabled; this.wlb_verify_cert = wlb_verify_cert; this.redo_log_enabled = redo_log_enabled; this.redo_log_vdi = redo_log_vdi; this.vswitch_controller = vswitch_controller; this.restrictions = restrictions; this.metadata_VDIs = metadata_VDIs; this.ha_cluster_stack = ha_cluster_stack; this.allowed_operations = allowed_operations; this.current_operations = current_operations; this.guest_agent_config = guest_agent_config; this.cpu_info = cpu_info; this.policy_no_vendor_device = policy_no_vendor_device; this.live_patching_disabled = live_patching_disabled; this.igmp_snooping_enabled = igmp_snooping_enabled; this.uefi_certificates = uefi_certificates; this.is_psr_pending = is_psr_pending; this.tls_verification_enabled = tls_verification_enabled; this.repositories = repositories; this.client_certificate_auth_enabled = client_certificate_auth_enabled; this.client_certificate_auth_name = client_certificate_auth_name; this.repository_proxy_url = repository_proxy_url; this.repository_proxy_username = repository_proxy_username; } /// /// Creates a new Pool from a Hashtable. /// Note that the fields not contained in the Hashtable /// will be created with their default values. /// /// public Pool(Hashtable table) : this() { UpdateFrom(table); } /// /// Creates a new Pool from a Proxy_Pool. /// /// public Pool(Proxy_Pool proxy) { UpdateFrom(proxy); } #endregion /// /// Updates each field of this instance with the value of /// the corresponding field of a given Pool. /// public override void UpdateFrom(Pool record) { uuid = record.uuid; name_label = record.name_label; name_description = record.name_description; master = record.master; default_SR = record.default_SR; suspend_image_SR = record.suspend_image_SR; crash_dump_SR = record.crash_dump_SR; other_config = record.other_config; ha_enabled = record.ha_enabled; ha_configuration = record.ha_configuration; ha_statefiles = record.ha_statefiles; ha_host_failures_to_tolerate = record.ha_host_failures_to_tolerate; ha_plan_exists_for = record.ha_plan_exists_for; ha_allow_overcommit = record.ha_allow_overcommit; ha_overcommitted = record.ha_overcommitted; blobs = record.blobs; tags = record.tags; gui_config = record.gui_config; health_check_config = record.health_check_config; wlb_url = record.wlb_url; wlb_username = record.wlb_username; wlb_enabled = record.wlb_enabled; wlb_verify_cert = record.wlb_verify_cert; redo_log_enabled = record.redo_log_enabled; redo_log_vdi = record.redo_log_vdi; vswitch_controller = record.vswitch_controller; restrictions = record.restrictions; metadata_VDIs = record.metadata_VDIs; ha_cluster_stack = record.ha_cluster_stack; allowed_operations = record.allowed_operations; current_operations = record.current_operations; guest_agent_config = record.guest_agent_config; cpu_info = record.cpu_info; policy_no_vendor_device = record.policy_no_vendor_device; live_patching_disabled = record.live_patching_disabled; igmp_snooping_enabled = record.igmp_snooping_enabled; uefi_certificates = record.uefi_certificates; is_psr_pending = record.is_psr_pending; tls_verification_enabled = record.tls_verification_enabled; repositories = record.repositories; client_certificate_auth_enabled = record.client_certificate_auth_enabled; client_certificate_auth_name = record.client_certificate_auth_name; repository_proxy_url = record.repository_proxy_url; repository_proxy_username = record.repository_proxy_username; } internal void UpdateFrom(Proxy_Pool proxy) { uuid = proxy.uuid == null ? null : proxy.uuid; name_label = proxy.name_label == null ? null : proxy.name_label; name_description = proxy.name_description == null ? null : proxy.name_description; master = proxy.master == null ? null : XenRef.Create(proxy.master); default_SR = proxy.default_SR == null ? null : XenRef.Create(proxy.default_SR); suspend_image_SR = proxy.suspend_image_SR == null ? null : XenRef.Create(proxy.suspend_image_SR); crash_dump_SR = proxy.crash_dump_SR == null ? null : XenRef.Create(proxy.crash_dump_SR); other_config = proxy.other_config == null ? null : Maps.convert_from_proxy_string_string(proxy.other_config); ha_enabled = (bool)proxy.ha_enabled; ha_configuration = proxy.ha_configuration == null ? null : Maps.convert_from_proxy_string_string(proxy.ha_configuration); ha_statefiles = proxy.ha_statefiles == null ? new string[] {} : (string [])proxy.ha_statefiles; ha_host_failures_to_tolerate = proxy.ha_host_failures_to_tolerate == null ? 0 : long.Parse(proxy.ha_host_failures_to_tolerate); ha_plan_exists_for = proxy.ha_plan_exists_for == null ? 0 : long.Parse(proxy.ha_plan_exists_for); ha_allow_overcommit = (bool)proxy.ha_allow_overcommit; ha_overcommitted = (bool)proxy.ha_overcommitted; blobs = proxy.blobs == null ? null : Maps.convert_from_proxy_string_XenRefBlob(proxy.blobs); tags = proxy.tags == null ? new string[] {} : (string [])proxy.tags; gui_config = proxy.gui_config == null ? null : Maps.convert_from_proxy_string_string(proxy.gui_config); health_check_config = proxy.health_check_config == null ? null : Maps.convert_from_proxy_string_string(proxy.health_check_config); wlb_url = proxy.wlb_url == null ? null : proxy.wlb_url; wlb_username = proxy.wlb_username == null ? null : proxy.wlb_username; wlb_enabled = (bool)proxy.wlb_enabled; wlb_verify_cert = (bool)proxy.wlb_verify_cert; redo_log_enabled = (bool)proxy.redo_log_enabled; redo_log_vdi = proxy.redo_log_vdi == null ? null : XenRef.Create(proxy.redo_log_vdi); vswitch_controller = proxy.vswitch_controller == null ? null : proxy.vswitch_controller; restrictions = proxy.restrictions == null ? null : Maps.convert_from_proxy_string_string(proxy.restrictions); metadata_VDIs = proxy.metadata_VDIs == null ? null : XenRef.Create(proxy.metadata_VDIs); ha_cluster_stack = proxy.ha_cluster_stack == null ? null : proxy.ha_cluster_stack; allowed_operations = proxy.allowed_operations == null ? null : Helper.StringArrayToEnumList(proxy.allowed_operations); current_operations = proxy.current_operations == null ? null : Maps.convert_from_proxy_string_pool_allowed_operations(proxy.current_operations); guest_agent_config = proxy.guest_agent_config == null ? null : Maps.convert_from_proxy_string_string(proxy.guest_agent_config); cpu_info = proxy.cpu_info == null ? null : Maps.convert_from_proxy_string_string(proxy.cpu_info); policy_no_vendor_device = (bool)proxy.policy_no_vendor_device; live_patching_disabled = (bool)proxy.live_patching_disabled; igmp_snooping_enabled = (bool)proxy.igmp_snooping_enabled; uefi_certificates = proxy.uefi_certificates == null ? null : proxy.uefi_certificates; is_psr_pending = (bool)proxy.is_psr_pending; tls_verification_enabled = (bool)proxy.tls_verification_enabled; repositories = proxy.repositories == null ? null : XenRef.Create(proxy.repositories); client_certificate_auth_enabled = (bool)proxy.client_certificate_auth_enabled; client_certificate_auth_name = proxy.client_certificate_auth_name == null ? null : proxy.client_certificate_auth_name; repository_proxy_url = proxy.repository_proxy_url == null ? null : proxy.repository_proxy_url; repository_proxy_username = proxy.repository_proxy_username == null ? null : proxy.repository_proxy_username; } /// /// Given a Hashtable with field-value pairs, it updates the fields of this Pool /// with the values listed in the Hashtable. Note that only the fields contained /// in the Hashtable will be updated and the rest will remain the same. /// /// public void UpdateFrom(Hashtable table) { if (table.ContainsKey("uuid")) uuid = Marshalling.ParseString(table, "uuid"); if (table.ContainsKey("name_label")) name_label = Marshalling.ParseString(table, "name_label"); if (table.ContainsKey("name_description")) name_description = Marshalling.ParseString(table, "name_description"); if (table.ContainsKey("master")) master = Marshalling.ParseRef(table, "master"); if (table.ContainsKey("default_SR")) default_SR = Marshalling.ParseRef(table, "default_SR"); if (table.ContainsKey("suspend_image_SR")) suspend_image_SR = Marshalling.ParseRef(table, "suspend_image_SR"); if (table.ContainsKey("crash_dump_SR")) crash_dump_SR = Marshalling.ParseRef(table, "crash_dump_SR"); if (table.ContainsKey("other_config")) other_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "other_config")); if (table.ContainsKey("ha_enabled")) ha_enabled = Marshalling.ParseBool(table, "ha_enabled"); if (table.ContainsKey("ha_configuration")) ha_configuration = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "ha_configuration")); if (table.ContainsKey("ha_statefiles")) ha_statefiles = Marshalling.ParseStringArray(table, "ha_statefiles"); if (table.ContainsKey("ha_host_failures_to_tolerate")) ha_host_failures_to_tolerate = Marshalling.ParseLong(table, "ha_host_failures_to_tolerate"); if (table.ContainsKey("ha_plan_exists_for")) ha_plan_exists_for = Marshalling.ParseLong(table, "ha_plan_exists_for"); if (table.ContainsKey("ha_allow_overcommit")) ha_allow_overcommit = Marshalling.ParseBool(table, "ha_allow_overcommit"); if (table.ContainsKey("ha_overcommitted")) ha_overcommitted = Marshalling.ParseBool(table, "ha_overcommitted"); if (table.ContainsKey("blobs")) blobs = Maps.convert_from_proxy_string_XenRefBlob(Marshalling.ParseHashTable(table, "blobs")); if (table.ContainsKey("tags")) tags = Marshalling.ParseStringArray(table, "tags"); if (table.ContainsKey("gui_config")) gui_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "gui_config")); if (table.ContainsKey("health_check_config")) health_check_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "health_check_config")); if (table.ContainsKey("wlb_url")) wlb_url = Marshalling.ParseString(table, "wlb_url"); if (table.ContainsKey("wlb_username")) wlb_username = Marshalling.ParseString(table, "wlb_username"); if (table.ContainsKey("wlb_enabled")) wlb_enabled = Marshalling.ParseBool(table, "wlb_enabled"); if (table.ContainsKey("wlb_verify_cert")) wlb_verify_cert = Marshalling.ParseBool(table, "wlb_verify_cert"); if (table.ContainsKey("redo_log_enabled")) redo_log_enabled = Marshalling.ParseBool(table, "redo_log_enabled"); if (table.ContainsKey("redo_log_vdi")) redo_log_vdi = Marshalling.ParseRef(table, "redo_log_vdi"); if (table.ContainsKey("vswitch_controller")) vswitch_controller = Marshalling.ParseString(table, "vswitch_controller"); if (table.ContainsKey("restrictions")) restrictions = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "restrictions")); if (table.ContainsKey("metadata_VDIs")) metadata_VDIs = Marshalling.ParseSetRef(table, "metadata_VDIs"); if (table.ContainsKey("ha_cluster_stack")) ha_cluster_stack = Marshalling.ParseString(table, "ha_cluster_stack"); if (table.ContainsKey("allowed_operations")) allowed_operations = Helper.StringArrayToEnumList(Marshalling.ParseStringArray(table, "allowed_operations")); if (table.ContainsKey("current_operations")) current_operations = Maps.convert_from_proxy_string_pool_allowed_operations(Marshalling.ParseHashTable(table, "current_operations")); if (table.ContainsKey("guest_agent_config")) guest_agent_config = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "guest_agent_config")); if (table.ContainsKey("cpu_info")) cpu_info = Maps.convert_from_proxy_string_string(Marshalling.ParseHashTable(table, "cpu_info")); if (table.ContainsKey("policy_no_vendor_device")) policy_no_vendor_device = Marshalling.ParseBool(table, "policy_no_vendor_device"); if (table.ContainsKey("live_patching_disabled")) live_patching_disabled = Marshalling.ParseBool(table, "live_patching_disabled"); if (table.ContainsKey("igmp_snooping_enabled")) igmp_snooping_enabled = Marshalling.ParseBool(table, "igmp_snooping_enabled"); if (table.ContainsKey("uefi_certificates")) uefi_certificates = Marshalling.ParseString(table, "uefi_certificates"); if (table.ContainsKey("is_psr_pending")) is_psr_pending = Marshalling.ParseBool(table, "is_psr_pending"); if (table.ContainsKey("tls_verification_enabled")) tls_verification_enabled = Marshalling.ParseBool(table, "tls_verification_enabled"); if (table.ContainsKey("repositories")) repositories = Marshalling.ParseSetRef(table, "repositories"); if (table.ContainsKey("client_certificate_auth_enabled")) client_certificate_auth_enabled = Marshalling.ParseBool(table, "client_certificate_auth_enabled"); if (table.ContainsKey("client_certificate_auth_name")) client_certificate_auth_name = Marshalling.ParseString(table, "client_certificate_auth_name"); if (table.ContainsKey("repository_proxy_url")) repository_proxy_url = Marshalling.ParseString(table, "repository_proxy_url"); if (table.ContainsKey("repository_proxy_username")) repository_proxy_username = Marshalling.ParseString(table, "repository_proxy_username"); } public Proxy_Pool ToProxy() { Proxy_Pool result_ = new Proxy_Pool(); result_.uuid = uuid ?? ""; result_.name_label = name_label ?? ""; result_.name_description = name_description ?? ""; result_.master = master ?? ""; result_.default_SR = default_SR ?? ""; result_.suspend_image_SR = suspend_image_SR ?? ""; result_.crash_dump_SR = crash_dump_SR ?? ""; result_.other_config = Maps.convert_to_proxy_string_string(other_config); result_.ha_enabled = ha_enabled; result_.ha_configuration = Maps.convert_to_proxy_string_string(ha_configuration); result_.ha_statefiles = ha_statefiles; result_.ha_host_failures_to_tolerate = ha_host_failures_to_tolerate.ToString(); result_.ha_plan_exists_for = ha_plan_exists_for.ToString(); result_.ha_allow_overcommit = ha_allow_overcommit; result_.ha_overcommitted = ha_overcommitted; result_.blobs = Maps.convert_to_proxy_string_XenRefBlob(blobs); result_.tags = tags; result_.gui_config = Maps.convert_to_proxy_string_string(gui_config); result_.health_check_config = Maps.convert_to_proxy_string_string(health_check_config); result_.wlb_url = wlb_url ?? ""; result_.wlb_username = wlb_username ?? ""; result_.wlb_enabled = wlb_enabled; result_.wlb_verify_cert = wlb_verify_cert; result_.redo_log_enabled = redo_log_enabled; result_.redo_log_vdi = redo_log_vdi ?? ""; result_.vswitch_controller = vswitch_controller ?? ""; result_.restrictions = Maps.convert_to_proxy_string_string(restrictions); result_.metadata_VDIs = metadata_VDIs == null ? new string[] {} : Helper.RefListToStringArray(metadata_VDIs); result_.ha_cluster_stack = ha_cluster_stack ?? ""; result_.allowed_operations = allowed_operations == null ? new string[] {} : Helper.ObjectListToStringArray(allowed_operations); result_.current_operations = Maps.convert_to_proxy_string_pool_allowed_operations(current_operations); result_.guest_agent_config = Maps.convert_to_proxy_string_string(guest_agent_config); result_.cpu_info = Maps.convert_to_proxy_string_string(cpu_info); result_.policy_no_vendor_device = policy_no_vendor_device; result_.live_patching_disabled = live_patching_disabled; result_.igmp_snooping_enabled = igmp_snooping_enabled; result_.uefi_certificates = uefi_certificates ?? ""; result_.is_psr_pending = is_psr_pending; result_.tls_verification_enabled = tls_verification_enabled; result_.repositories = repositories == null ? new string[] {} : Helper.RefListToStringArray(repositories); result_.client_certificate_auth_enabled = client_certificate_auth_enabled; result_.client_certificate_auth_name = client_certificate_auth_name ?? ""; result_.repository_proxy_url = repository_proxy_url ?? ""; result_.repository_proxy_username = repository_proxy_username ?? ""; return result_; } public bool DeepEquals(Pool other, bool ignoreCurrentOperations) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; if (!ignoreCurrentOperations && !Helper.AreEqual2(this.current_operations, other.current_operations)) return false; 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._master, other._master) && Helper.AreEqual2(this._default_SR, other._default_SR) && Helper.AreEqual2(this._suspend_image_SR, other._suspend_image_SR) && Helper.AreEqual2(this._crash_dump_SR, other._crash_dump_SR) && Helper.AreEqual2(this._other_config, other._other_config) && Helper.AreEqual2(this._ha_enabled, other._ha_enabled) && Helper.AreEqual2(this._ha_configuration, other._ha_configuration) && Helper.AreEqual2(this._ha_statefiles, other._ha_statefiles) && Helper.AreEqual2(this._ha_host_failures_to_tolerate, other._ha_host_failures_to_tolerate) && Helper.AreEqual2(this._ha_plan_exists_for, other._ha_plan_exists_for) && Helper.AreEqual2(this._ha_allow_overcommit, other._ha_allow_overcommit) && Helper.AreEqual2(this._ha_overcommitted, other._ha_overcommitted) && Helper.AreEqual2(this._blobs, other._blobs) && Helper.AreEqual2(this._tags, other._tags) && Helper.AreEqual2(this._gui_config, other._gui_config) && Helper.AreEqual2(this._health_check_config, other._health_check_config) && Helper.AreEqual2(this._wlb_url, other._wlb_url) && Helper.AreEqual2(this._wlb_username, other._wlb_username) && Helper.AreEqual2(this._wlb_enabled, other._wlb_enabled) && Helper.AreEqual2(this._wlb_verify_cert, other._wlb_verify_cert) && Helper.AreEqual2(this._redo_log_enabled, other._redo_log_enabled) && Helper.AreEqual2(this._redo_log_vdi, other._redo_log_vdi) && Helper.AreEqual2(this._vswitch_controller, other._vswitch_controller) && Helper.AreEqual2(this._restrictions, other._restrictions) && Helper.AreEqual2(this._metadata_VDIs, other._metadata_VDIs) && Helper.AreEqual2(this._ha_cluster_stack, other._ha_cluster_stack) && Helper.AreEqual2(this._allowed_operations, other._allowed_operations) && Helper.AreEqual2(this._guest_agent_config, other._guest_agent_config) && Helper.AreEqual2(this._cpu_info, other._cpu_info) && Helper.AreEqual2(this._policy_no_vendor_device, other._policy_no_vendor_device) && Helper.AreEqual2(this._live_patching_disabled, other._live_patching_disabled) && Helper.AreEqual2(this._igmp_snooping_enabled, other._igmp_snooping_enabled) && Helper.AreEqual2(this._uefi_certificates, other._uefi_certificates) && Helper.AreEqual2(this._is_psr_pending, other._is_psr_pending) && Helper.AreEqual2(this._tls_verification_enabled, other._tls_verification_enabled) && Helper.AreEqual2(this._repositories, other._repositories) && Helper.AreEqual2(this._client_certificate_auth_enabled, other._client_certificate_auth_enabled) && Helper.AreEqual2(this._client_certificate_auth_name, other._client_certificate_auth_name) && Helper.AreEqual2(this._repository_proxy_url, other._repository_proxy_url) && Helper.AreEqual2(this._repository_proxy_username, other._repository_proxy_username); } public override string SaveChanges(Session session, string opaqueRef, Pool 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)) { Pool.set_name_label(session, opaqueRef, _name_label); } if (!Helper.AreEqual2(_name_description, server._name_description)) { Pool.set_name_description(session, opaqueRef, _name_description); } if (!Helper.AreEqual2(_default_SR, server._default_SR)) { Pool.set_default_SR(session, opaqueRef, _default_SR); } if (!Helper.AreEqual2(_suspend_image_SR, server._suspend_image_SR)) { Pool.set_suspend_image_SR(session, opaqueRef, _suspend_image_SR); } if (!Helper.AreEqual2(_crash_dump_SR, server._crash_dump_SR)) { Pool.set_crash_dump_SR(session, opaqueRef, _crash_dump_SR); } if (!Helper.AreEqual2(_other_config, server._other_config)) { Pool.set_other_config(session, opaqueRef, _other_config); } if (!Helper.AreEqual2(_ha_allow_overcommit, server._ha_allow_overcommit)) { Pool.set_ha_allow_overcommit(session, opaqueRef, _ha_allow_overcommit); } if (!Helper.AreEqual2(_tags, server._tags)) { Pool.set_tags(session, opaqueRef, _tags); } if (!Helper.AreEqual2(_gui_config, server._gui_config)) { Pool.set_gui_config(session, opaqueRef, _gui_config); } if (!Helper.AreEqual2(_health_check_config, server._health_check_config)) { Pool.set_health_check_config(session, opaqueRef, _health_check_config); } if (!Helper.AreEqual2(_wlb_enabled, server._wlb_enabled)) { Pool.set_wlb_enabled(session, opaqueRef, _wlb_enabled); } if (!Helper.AreEqual2(_wlb_verify_cert, server._wlb_verify_cert)) { Pool.set_wlb_verify_cert(session, opaqueRef, _wlb_verify_cert); } if (!Helper.AreEqual2(_policy_no_vendor_device, server._policy_no_vendor_device)) { Pool.set_policy_no_vendor_device(session, opaqueRef, _policy_no_vendor_device); } if (!Helper.AreEqual2(_live_patching_disabled, server._live_patching_disabled)) { Pool.set_live_patching_disabled(session, opaqueRef, _live_patching_disabled); } if (!Helper.AreEqual2(_is_psr_pending, server._is_psr_pending)) { Pool.set_is_psr_pending(session, opaqueRef, _is_psr_pending); } if (!Helper.AreEqual2(_uefi_certificates, server._uefi_certificates)) { Pool.set_uefi_certificates(session, opaqueRef, _uefi_certificates); } return null; } } /// /// Get a record containing the current state of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static Pool get_record(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_record(session.opaque_ref, _pool); else return new Pool(session.XmlRpcProxy.pool_get_record(session.opaque_ref, _pool ?? "").parse()); } /// /// Get a reference to the pool instance with the specified UUID. /// First published in XenServer 4.0. /// /// The session /// UUID of object to return public static XenRef get_by_uuid(Session session, string _uuid) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_by_uuid(session.opaque_ref, _uuid); else return XenRef.Create(session.XmlRpcProxy.pool_get_by_uuid(session.opaque_ref, _uuid ?? "").parse()); } /// /// Get the uuid field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static string get_uuid(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_uuid(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_uuid(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the name_label field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static string get_name_label(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_name_label(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_name_label(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the name_description field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static string get_name_description(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_name_description(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_name_description(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the master field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static XenRef get_master(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_master(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_master(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the default_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static XenRef get_default_SR(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_default_sr(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_default_sr(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the suspend_image_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static XenRef get_suspend_image_SR(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_suspend_image_sr(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_suspend_image_sr(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the crash_dump_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static XenRef get_crash_dump_SR(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_crash_dump_sr(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_crash_dump_sr(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the other_config field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_other_config(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_other_config(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_other_config(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the ha_enabled field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static bool get_ha_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_ha_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the ha_configuration field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_ha_configuration(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_configuration(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_ha_configuration(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the ha_statefiles field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static string[] get_ha_statefiles(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_statefiles(session.opaque_ref, _pool); else return (string [])session.XmlRpcProxy.pool_get_ha_statefiles(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the ha_host_failures_to_tolerate field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static long get_ha_host_failures_to_tolerate(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_host_failures_to_tolerate(session.opaque_ref, _pool); else return long.Parse(session.XmlRpcProxy.pool_get_ha_host_failures_to_tolerate(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the ha_plan_exists_for field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static long get_ha_plan_exists_for(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_plan_exists_for(session.opaque_ref, _pool); else return long.Parse(session.XmlRpcProxy.pool_get_ha_plan_exists_for(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the ha_allow_overcommit field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static bool get_ha_allow_overcommit(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_allow_overcommit(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_ha_allow_overcommit(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the ha_overcommitted field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static bool get_ha_overcommitted(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_overcommitted(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_ha_overcommitted(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the blobs field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary> get_blobs(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_blobs(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_XenRefBlob(session.XmlRpcProxy.pool_get_blobs(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the tags field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static string[] get_tags(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_tags(session.opaque_ref, _pool); else return (string [])session.XmlRpcProxy.pool_get_tags(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the gui_config field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_gui_config(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_gui_config(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_gui_config(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the health_check_config field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_health_check_config(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_health_check_config(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_health_check_config(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the wlb_url field of the given pool. /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool public static string get_wlb_url(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_wlb_url(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_wlb_url(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the wlb_username field of the given pool. /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool public static string get_wlb_username(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_wlb_username(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_wlb_username(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the wlb_enabled field of the given pool. /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool public static bool get_wlb_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_wlb_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_wlb_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the wlb_verify_cert field of the given pool. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// The opaque_ref of the given pool [Deprecated("1.290.0")] public static bool get_wlb_verify_cert(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_wlb_verify_cert(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_wlb_verify_cert(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the redo_log_enabled field of the given pool. /// First published in XenServer 5.6. /// /// The session /// The opaque_ref of the given pool public static bool get_redo_log_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_redo_log_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_redo_log_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the redo_log_vdi field of the given pool. /// First published in XenServer 5.6. /// /// The session /// The opaque_ref of the given pool public static XenRef get_redo_log_vdi(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_redo_log_vdi(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_redo_log_vdi(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the vswitch_controller field of the given pool. /// First published in XenServer 5.6. /// Deprecated since XenServer 7.2. /// /// The session /// The opaque_ref of the given pool [Deprecated("XenServer 7.2")] public static string get_vswitch_controller(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_vswitch_controller(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_vswitch_controller(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the restrictions field of the given pool. /// First published in XenServer 5.6. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_restrictions(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_restrictions(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_restrictions(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the metadata_VDIs field of the given pool. /// First published in XenServer 6.0. /// /// The session /// The opaque_ref of the given pool public static List> get_metadata_VDIs(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_metadata_vdis(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_metadata_vdis(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the ha_cluster_stack field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static string get_ha_cluster_stack(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_ha_cluster_stack(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_ha_cluster_stack(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the allowed_operations field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static List get_allowed_operations(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_allowed_operations(session.opaque_ref, _pool); else return Helper.StringArrayToEnumList(session.XmlRpcProxy.pool_get_allowed_operations(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the current_operations field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_current_operations(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_current_operations(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_pool_allowed_operations(session.XmlRpcProxy.pool_get_current_operations(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the guest_agent_config field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_guest_agent_config(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_guest_agent_config(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_guest_agent_config(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the cpu_info field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_cpu_info(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_cpu_info(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_cpu_info(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the policy_no_vendor_device field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static bool get_policy_no_vendor_device(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_policy_no_vendor_device(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_policy_no_vendor_device(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the live_patching_disabled field of the given pool. /// First published in XenServer 7.1. /// /// The session /// The opaque_ref of the given pool public static bool get_live_patching_disabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_live_patching_disabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_live_patching_disabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the igmp_snooping_enabled field of the given pool. /// First published in XenServer 7.3. /// /// The session /// The opaque_ref of the given pool public static bool get_igmp_snooping_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_igmp_snooping_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_igmp_snooping_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the uefi_certificates field of the given pool. /// First published in Citrix Hypervisor 8.1. /// /// The session /// The opaque_ref of the given pool public static string get_uefi_certificates(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_uefi_certificates(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_uefi_certificates(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the is_psr_pending field of the given pool. /// First published in Citrix Hypervisor 8.2 Hotfix 2. /// /// The session /// The opaque_ref of the given pool public static bool get_is_psr_pending(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_is_psr_pending(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_is_psr_pending(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the tls_verification_enabled field of the given pool. /// First published in 1.290.0. /// /// The session /// The opaque_ref of the given pool public static bool get_tls_verification_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_tls_verification_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_tls_verification_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the repositories field of the given pool. /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool public static List> get_repositories(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_repositories(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.pool_get_repositories(session.opaque_ref, _pool ?? "").parse()); } /// /// Get the client_certificate_auth_enabled field of the given pool. /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool public static bool get_client_certificate_auth_enabled(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_client_certificate_auth_enabled(session.opaque_ref, _pool); else return (bool)session.XmlRpcProxy.pool_get_client_certificate_auth_enabled(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the client_certificate_auth_name field of the given pool. /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool public static string get_client_certificate_auth_name(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_client_certificate_auth_name(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_client_certificate_auth_name(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the repository_proxy_url field of the given pool. /// First published in 21.3.0. /// /// The session /// The opaque_ref of the given pool public static string get_repository_proxy_url(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_repository_proxy_url(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_repository_proxy_url(session.opaque_ref, _pool ?? "").parse(); } /// /// Get the repository_proxy_username field of the given pool. /// First published in 21.3.0. /// /// The session /// The opaque_ref of the given pool public static string get_repository_proxy_username(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_repository_proxy_username(session.opaque_ref, _pool); else return session.XmlRpcProxy.pool_get_repository_proxy_username(session.opaque_ref, _pool ?? "").parse(); } /// /// Set the name_label field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_name_label(Session session, string _pool, string _name_label) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_name_label(session.opaque_ref, _pool, _name_label); else session.XmlRpcProxy.pool_set_name_label(session.opaque_ref, _pool ?? "", _name_label ?? "").parse(); } /// /// Set the name_description field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_name_description(Session session, string _pool, string _name_description) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_name_description(session.opaque_ref, _pool, _name_description); else session.XmlRpcProxy.pool_set_name_description(session.opaque_ref, _pool ?? "", _name_description ?? "").parse(); } /// /// Set the default_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_default_SR(Session session, string _pool, string _default_sr) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_default_sr(session.opaque_ref, _pool, _default_sr); else session.XmlRpcProxy.pool_set_default_sr(session.opaque_ref, _pool ?? "", _default_sr ?? "").parse(); } /// /// Set the suspend_image_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_suspend_image_SR(Session session, string _pool, string _suspend_image_sr) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_suspend_image_sr(session.opaque_ref, _pool, _suspend_image_sr); else session.XmlRpcProxy.pool_set_suspend_image_sr(session.opaque_ref, _pool ?? "", _suspend_image_sr ?? "").parse(); } /// /// Set the crash_dump_SR field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_crash_dump_SR(Session session, string _pool, string _crash_dump_sr) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_crash_dump_sr(session.opaque_ref, _pool, _crash_dump_sr); else session.XmlRpcProxy.pool_set_crash_dump_sr(session.opaque_ref, _pool ?? "", _crash_dump_sr ?? "").parse(); } /// /// Set the other_config field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_other_config(Session session, string _pool, Dictionary _other_config) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_other_config(session.opaque_ref, _pool, _other_config); else session.XmlRpcProxy.pool_set_other_config(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_other_config)).parse(); } /// /// Add the given key-value pair to the other_config field of the given pool. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// Key to add /// Value to add public static void add_to_other_config(Session session, string _pool, string _key, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_to_other_config(session.opaque_ref, _pool, _key, _value); else session.XmlRpcProxy.pool_add_to_other_config(session.opaque_ref, _pool ?? "", _key ?? "", _value ?? "").parse(); } /// /// Remove the given key and its corresponding value from the other_config field of the given pool. If the key is not in that Map, then do nothing. /// First published in XenServer 4.0. /// /// The session /// The opaque_ref of the given pool /// Key to remove public static void remove_from_other_config(Session session, string _pool, string _key) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_from_other_config(session.opaque_ref, _pool, _key); else session.XmlRpcProxy.pool_remove_from_other_config(session.opaque_ref, _pool ?? "", _key ?? "").parse(); } /// /// Set the ha_allow_overcommit field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_ha_allow_overcommit(Session session, string _pool, bool _ha_allow_overcommit) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_ha_allow_overcommit(session.opaque_ref, _pool, _ha_allow_overcommit); else session.XmlRpcProxy.pool_set_ha_allow_overcommit(session.opaque_ref, _pool ?? "", _ha_allow_overcommit).parse(); } /// /// Set the tags field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_tags(Session session, string _pool, string[] _tags) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_tags(session.opaque_ref, _pool, _tags); else session.XmlRpcProxy.pool_set_tags(session.opaque_ref, _pool ?? "", _tags).parse(); } /// /// Add the given value to the tags field of the given pool. If the value is already in that Set, then do nothing. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New value to add public static void add_tags(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_tags(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_add_tags(session.opaque_ref, _pool ?? "", _value ?? "").parse(); } /// /// Remove the given value from the tags field of the given pool. If the value is not in that Set, then do nothing. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// Value to remove public static void remove_tags(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_tags(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_remove_tags(session.opaque_ref, _pool ?? "", _value ?? "").parse(); } /// /// Set the gui_config field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_gui_config(Session session, string _pool, Dictionary _gui_config) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_gui_config(session.opaque_ref, _pool, _gui_config); else session.XmlRpcProxy.pool_set_gui_config(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_gui_config)).parse(); } /// /// Add the given key-value pair to the gui_config field of the given pool. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// Key to add /// Value to add public static void add_to_gui_config(Session session, string _pool, string _key, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_to_gui_config(session.opaque_ref, _pool, _key, _value); else session.XmlRpcProxy.pool_add_to_gui_config(session.opaque_ref, _pool ?? "", _key ?? "", _value ?? "").parse(); } /// /// Remove the given key and its corresponding value from the gui_config field of the given pool. If the key is not in that Map, then do nothing. /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// Key to remove public static void remove_from_gui_config(Session session, string _pool, string _key) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_from_gui_config(session.opaque_ref, _pool, _key); else session.XmlRpcProxy.pool_remove_from_gui_config(session.opaque_ref, _pool ?? "", _key ?? "").parse(); } /// /// Set the health_check_config field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_health_check_config(Session session, string _pool, Dictionary _health_check_config) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_health_check_config(session.opaque_ref, _pool, _health_check_config); else session.XmlRpcProxy.pool_set_health_check_config(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_health_check_config)).parse(); } /// /// Add the given key-value pair to the health_check_config field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// Key to add /// Value to add public static void add_to_health_check_config(Session session, string _pool, string _key, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_to_health_check_config(session.opaque_ref, _pool, _key, _value); else session.XmlRpcProxy.pool_add_to_health_check_config(session.opaque_ref, _pool ?? "", _key ?? "", _value ?? "").parse(); } /// /// Remove the given key and its corresponding value from the health_check_config field of the given pool. If the key is not in that Map, then do nothing. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// Key to remove public static void remove_from_health_check_config(Session session, string _pool, string _key) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_from_health_check_config(session.opaque_ref, _pool, _key); else session.XmlRpcProxy.pool_remove_from_health_check_config(session.opaque_ref, _pool ?? "", _key ?? "").parse(); } /// /// Set the wlb_enabled field of the given pool. /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_wlb_enabled(Session session, string _pool, bool _wlb_enabled) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_wlb_enabled(session.opaque_ref, _pool, _wlb_enabled); else session.XmlRpcProxy.pool_set_wlb_enabled(session.opaque_ref, _pool ?? "", _wlb_enabled).parse(); } /// /// Set the wlb_verify_cert field of the given pool. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// The opaque_ref of the given pool /// New value to set [Deprecated("1.290.0")] public static void set_wlb_verify_cert(Session session, string _pool, bool _wlb_verify_cert) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_wlb_verify_cert(session.opaque_ref, _pool, _wlb_verify_cert); else session.XmlRpcProxy.pool_set_wlb_verify_cert(session.opaque_ref, _pool ?? "", _wlb_verify_cert).parse(); } /// /// Set the policy_no_vendor_device field of the given pool. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_policy_no_vendor_device(Session session, string _pool, bool _policy_no_vendor_device) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_policy_no_vendor_device(session.opaque_ref, _pool, _policy_no_vendor_device); else session.XmlRpcProxy.pool_set_policy_no_vendor_device(session.opaque_ref, _pool ?? "", _policy_no_vendor_device).parse(); } /// /// Set the live_patching_disabled field of the given pool. /// First published in XenServer 7.1. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_live_patching_disabled(Session session, string _pool, bool _live_patching_disabled) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_live_patching_disabled(session.opaque_ref, _pool, _live_patching_disabled); else session.XmlRpcProxy.pool_set_live_patching_disabled(session.opaque_ref, _pool ?? "", _live_patching_disabled).parse(); } /// /// Set the is_psr_pending field of the given pool. /// First published in Citrix Hypervisor 8.2 Hotfix 2. /// /// The session /// The opaque_ref of the given pool /// New value to set public static void set_is_psr_pending(Session session, string _pool, bool _is_psr_pending) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_is_psr_pending(session.opaque_ref, _pool, _is_psr_pending); else session.XmlRpcProxy.pool_set_is_psr_pending(session.opaque_ref, _pool ?? "", _is_psr_pending).parse(); } /// /// Instruct host to join a new pool /// First published in XenServer 4.0. /// /// The session /// The hostname of the master of the pool to join /// The username of the master (for initial authentication) /// The password for the master (for initial authentication) public static void join(Session session, string _master_address, string _master_username, string _master_password) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_join(session.opaque_ref, _master_address, _master_username, _master_password); else session.XmlRpcProxy.pool_join(session.opaque_ref, _master_address ?? "", _master_username ?? "", _master_password ?? "").parse(); } /// /// Instruct host to join a new pool /// First published in XenServer 4.0. /// /// The session /// The hostname of the master of the pool to join /// The username of the master (for initial authentication) /// The password for the master (for initial authentication) public static XenRef async_join(Session session, string _master_address, string _master_username, string _master_password) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_join(session.opaque_ref, _master_address, _master_username, _master_password); else return XenRef.Create(session.XmlRpcProxy.async_pool_join(session.opaque_ref, _master_address ?? "", _master_username ?? "", _master_password ?? "").parse()); } /// /// Instruct host to join a new pool /// First published in XenServer 4.0. /// /// The session /// The hostname of the master of the pool to join /// The username of the master (for initial authentication) /// The password for the master (for initial authentication) public static void join_force(Session session, string _master_address, string _master_username, string _master_password) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_join_force(session.opaque_ref, _master_address, _master_username, _master_password); else session.XmlRpcProxy.pool_join_force(session.opaque_ref, _master_address ?? "", _master_username ?? "", _master_password ?? "").parse(); } /// /// Instruct host to join a new pool /// First published in XenServer 4.0. /// /// The session /// The hostname of the master of the pool to join /// The username of the master (for initial authentication) /// The password for the master (for initial authentication) public static XenRef async_join_force(Session session, string _master_address, string _master_username, string _master_password) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_join_force(session.opaque_ref, _master_address, _master_username, _master_password); else return XenRef.Create(session.XmlRpcProxy.async_pool_join_force(session.opaque_ref, _master_address ?? "", _master_username ?? "", _master_password ?? "").parse()); } /// /// Instruct a pool master to eject a host from the pool /// First published in XenServer 4.0. /// /// The session /// The host to eject public static void eject(Session session, string _host) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_eject(session.opaque_ref, _host); else session.XmlRpcProxy.pool_eject(session.opaque_ref, _host ?? "").parse(); } /// /// Instruct a pool master to eject a host from the pool /// First published in XenServer 4.0. /// /// The session /// The host to eject public static XenRef async_eject(Session session, string _host) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_eject(session.opaque_ref, _host); else return XenRef.Create(session.XmlRpcProxy.async_pool_eject(session.opaque_ref, _host ?? "").parse()); } /// /// Instruct host that's currently a slave to transition to being master /// First published in XenServer 4.0. /// /// The session public static void emergency_transition_to_master(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_emergency_transition_to_master(session.opaque_ref); else session.XmlRpcProxy.pool_emergency_transition_to_master(session.opaque_ref).parse(); } /// /// Instruct a slave already in a pool that the master has changed /// First published in XenServer 4.0. /// /// The session /// The hostname of the master public static void emergency_reset_master(Session session, string _master_address) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_emergency_reset_master(session.opaque_ref, _master_address); else session.XmlRpcProxy.pool_emergency_reset_master(session.opaque_ref, _master_address ?? "").parse(); } /// /// Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M. /// First published in XenServer 4.0. /// /// The session public static List> recover_slaves(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_recover_slaves(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.pool_recover_slaves(session.opaque_ref).parse()); } /// /// Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M. /// First published in XenServer 4.0. /// /// The session public static XenRef async_recover_slaves(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_recover_slaves(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_recover_slaves(session.opaque_ref).parse()); } /// /// Create PIFs, mapping a network to the same physical interface/VLAN on each host. This call is deprecated: use Pool.create_VLAN_from_PIF instead. /// First published in XenServer 4.0. /// /// The session /// physical interface on which to create the VLAN interface /// network to which this interface should be connected /// VLAN tag for the new interface public static List> create_VLAN(Session session, string _device, string _network, long _vlan) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_create_vlan(session.opaque_ref, _device, _network, _vlan); else return XenRef.Create(session.XmlRpcProxy.pool_create_vlan(session.opaque_ref, _device ?? "", _network ?? "", _vlan.ToString()).parse()); } /// /// Create PIFs, mapping a network to the same physical interface/VLAN on each host. This call is deprecated: use Pool.create_VLAN_from_PIF instead. /// First published in XenServer 4.0. /// /// The session /// physical interface on which to create the VLAN interface /// network to which this interface should be connected /// VLAN tag for the new interface public static XenRef async_create_VLAN(Session session, string _device, string _network, long _vlan) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_create_vlan(session.opaque_ref, _device, _network, _vlan); else return XenRef.Create(session.XmlRpcProxy.async_pool_create_vlan(session.opaque_ref, _device ?? "", _network ?? "", _vlan.ToString()).parse()); } /// /// Reconfigure the management network interface for all Hosts in the Pool /// First published in XenServer 7.3. /// /// The session /// The network public static void management_reconfigure(Session session, string _network) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_management_reconfigure(session.opaque_ref, _network); else session.XmlRpcProxy.pool_management_reconfigure(session.opaque_ref, _network ?? "").parse(); } /// /// Reconfigure the management network interface for all Hosts in the Pool /// First published in XenServer 7.3. /// /// The session /// The network public static XenRef async_management_reconfigure(Session session, string _network) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_management_reconfigure(session.opaque_ref, _network); else return XenRef.Create(session.XmlRpcProxy.async_pool_management_reconfigure(session.opaque_ref, _network ?? "").parse()); } /// /// Create a pool-wide VLAN by taking the PIF. /// First published in XenServer 4.0. /// /// The session /// physical interface on any particular host, that identifies the PIF on which to create the (pool-wide) VLAN interface /// network to which this interface should be connected /// VLAN tag for the new interface public static List> create_VLAN_from_PIF(Session session, string _pif, string _network, long _vlan) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_create_vlan_from_pif(session.opaque_ref, _pif, _network, _vlan); else return XenRef.Create(session.XmlRpcProxy.pool_create_vlan_from_pif(session.opaque_ref, _pif ?? "", _network ?? "", _vlan.ToString()).parse()); } /// /// Create a pool-wide VLAN by taking the PIF. /// First published in XenServer 4.0. /// /// The session /// physical interface on any particular host, that identifies the PIF on which to create the (pool-wide) VLAN interface /// network to which this interface should be connected /// VLAN tag for the new interface public static XenRef async_create_VLAN_from_PIF(Session session, string _pif, string _network, long _vlan) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_create_vlan_from_pif(session.opaque_ref, _pif, _network, _vlan); else return XenRef.Create(session.XmlRpcProxy.async_pool_create_vlan_from_pif(session.opaque_ref, _pif ?? "", _network ?? "", _vlan.ToString()).parse()); } /// /// Turn on High Availability mode /// First published in XenServer 4.1. /// /// The session /// Set of SRs to use for storage heartbeating /// Detailed HA configuration to apply public static void enable_ha(Session session, List> _heartbeat_srs, Dictionary _configuration) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_ha(session.opaque_ref, _heartbeat_srs, _configuration); else session.XmlRpcProxy.pool_enable_ha(session.opaque_ref, _heartbeat_srs == null ? new string[] {} : Helper.RefListToStringArray(_heartbeat_srs), Maps.convert_to_proxy_string_string(_configuration)).parse(); } /// /// Turn on High Availability mode /// First published in XenServer 4.1. /// /// The session /// Set of SRs to use for storage heartbeating /// Detailed HA configuration to apply public static XenRef async_enable_ha(Session session, List> _heartbeat_srs, Dictionary _configuration) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_enable_ha(session.opaque_ref, _heartbeat_srs, _configuration); else return XenRef.Create(session.XmlRpcProxy.async_pool_enable_ha(session.opaque_ref, _heartbeat_srs == null ? new string[] {} : Helper.RefListToStringArray(_heartbeat_srs), Maps.convert_to_proxy_string_string(_configuration)).parse()); } /// /// Turn off High Availability mode /// First published in XenServer 4.1. /// /// The session public static void disable_ha(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_ha(session.opaque_ref); else session.XmlRpcProxy.pool_disable_ha(session.opaque_ref).parse(); } /// /// Turn off High Availability mode /// First published in XenServer 4.1. /// /// The session public static XenRef async_disable_ha(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_ha(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_ha(session.opaque_ref).parse()); } /// /// Forcibly synchronise the database now /// First published in XenServer 4.0. /// /// The session public static void sync_database(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_sync_database(session.opaque_ref); else session.XmlRpcProxy.pool_sync_database(session.opaque_ref).parse(); } /// /// Forcibly synchronise the database now /// First published in XenServer 4.0. /// /// The session public static XenRef async_sync_database(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_sync_database(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_sync_database(session.opaque_ref).parse()); } /// /// Perform an orderly handover of the role of master to the referenced host. /// First published in XenServer 4.1. /// /// The session /// The host who should become the new master public static void designate_new_master(Session session, string _host) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_designate_new_master(session.opaque_ref, _host); else session.XmlRpcProxy.pool_designate_new_master(session.opaque_ref, _host ?? "").parse(); } /// /// Perform an orderly handover of the role of master to the referenced host. /// First published in XenServer 4.1. /// /// The session /// The host who should become the new master public static XenRef async_designate_new_master(Session session, string _host) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_designate_new_master(session.opaque_ref, _host); else return XenRef.Create(session.XmlRpcProxy.async_pool_designate_new_master(session.opaque_ref, _host ?? "").parse()); } /// /// When this call returns the VM restart logic will not run for the requested number of seconds. If the argument is zero then the restart thread is immediately unblocked /// First published in XenServer 5.0 Update 1. /// /// The session /// The number of seconds to block the restart thread for public static void ha_prevent_restarts_for(Session session, long _seconds) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_ha_prevent_restarts_for(session.opaque_ref, _seconds); else session.XmlRpcProxy.pool_ha_prevent_restarts_for(session.opaque_ref, _seconds.ToString()).parse(); } /// /// Returns true if a VM failover plan exists for up to 'n' host failures /// First published in XenServer 5.0. /// /// The session /// The number of host failures to plan for public static bool ha_failover_plan_exists(Session session, long _n) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_ha_failover_plan_exists(session.opaque_ref, _n); else return (bool)session.XmlRpcProxy.pool_ha_failover_plan_exists(session.opaque_ref, _n.ToString()).parse(); } /// /// Returns the maximum number of host failures we could tolerate before we would be unable to restart configured VMs /// First published in XenServer 5.0. /// /// The session public static long ha_compute_max_host_failures_to_tolerate(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_ha_compute_max_host_failures_to_tolerate(session.opaque_ref); else return long.Parse(session.XmlRpcProxy.pool_ha_compute_max_host_failures_to_tolerate(session.opaque_ref).parse()); } /// /// Returns the maximum number of host failures we could tolerate before we would be unable to restart the provided VMs /// First published in XenServer 5.0. /// /// The session /// Map of protected VM reference to restart priority public static long ha_compute_hypothetical_max_host_failures_to_tolerate(Session session, Dictionary, string> _configuration) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_ha_compute_hypothetical_max_host_failures_to_tolerate(session.opaque_ref, _configuration); else return long.Parse(session.XmlRpcProxy.pool_ha_compute_hypothetical_max_host_failures_to_tolerate(session.opaque_ref, Maps.convert_to_proxy_XenRefVM_string(_configuration)).parse()); } /// /// Return a VM failover plan assuming a given subset of hosts fail /// First published in XenServer 5.0. /// /// The session /// The set of hosts to assume have failed /// The set of VMs to restart public static Dictionary, Dictionary> ha_compute_vm_failover_plan(Session session, List> _failed_hosts, List> _failed_vms) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_ha_compute_vm_failover_plan(session.opaque_ref, _failed_hosts, _failed_vms); else return Maps.convert_from_proxy_XenRefVM_Dictionary_string_string(session.XmlRpcProxy.pool_ha_compute_vm_failover_plan(session.opaque_ref, _failed_hosts == null ? new string[] {} : Helper.RefListToStringArray(_failed_hosts), _failed_vms == null ? new string[] {} : Helper.RefListToStringArray(_failed_vms)).parse()); } /// /// Set the maximum number of host failures to consider in the HA VM restart planner /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New number of host failures to consider public static void set_ha_host_failures_to_tolerate(Session session, string _pool, long _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_ha_host_failures_to_tolerate(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_set_ha_host_failures_to_tolerate(session.opaque_ref, _pool ?? "", _value.ToString()).parse(); } /// /// Set the maximum number of host failures to consider in the HA VM restart planner /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// New number of host failures to consider public static XenRef async_set_ha_host_failures_to_tolerate(Session session, string _pool, long _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_set_ha_host_failures_to_tolerate(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_set_ha_host_failures_to_tolerate(session.opaque_ref, _pool ?? "", _value.ToString()).parse()); } /// /// Create a placeholder for a named binary blob of data that is associated with this pool /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// The name associated with the blob /// The mime type for the data. Empty string translates to application/octet-stream public static XenRef create_new_blob(Session session, string _pool, string _name, string _mime_type) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_create_new_blob(session.opaque_ref, _pool, _name, _mime_type); else return XenRef.Create(session.XmlRpcProxy.pool_create_new_blob(session.opaque_ref, _pool ?? "", _name ?? "", _mime_type ?? "").parse()); } /// /// Create a placeholder for a named binary blob of data that is associated with this pool /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// The name associated with the blob /// The mime type for the data. Empty string translates to application/octet-stream public static XenRef async_create_new_blob(Session session, string _pool, string _name, string _mime_type) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_create_new_blob(session.opaque_ref, _pool, _name, _mime_type); else return XenRef.Create(session.XmlRpcProxy.async_pool_create_new_blob(session.opaque_ref, _pool ?? "", _name ?? "", _mime_type ?? "").parse()); } /// /// Create a placeholder for a named binary blob of data that is associated with this pool /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// The name associated with the blob /// The mime type for the data. Empty string translates to application/octet-stream /// True if the blob should be publicly available First published in XenServer 6.1. public static XenRef create_new_blob(Session session, string _pool, string _name, string _mime_type, bool _public) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_create_new_blob(session.opaque_ref, _pool, _name, _mime_type, _public); else return XenRef.Create(session.XmlRpcProxy.pool_create_new_blob(session.opaque_ref, _pool ?? "", _name ?? "", _mime_type ?? "", _public).parse()); } /// /// Create a placeholder for a named binary blob of data that is associated with this pool /// First published in XenServer 5.0. /// /// The session /// The opaque_ref of the given pool /// The name associated with the blob /// The mime type for the data. Empty string translates to application/octet-stream /// True if the blob should be publicly available First published in XenServer 6.1. public static XenRef async_create_new_blob(Session session, string _pool, string _name, string _mime_type, bool _public) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_create_new_blob(session.opaque_ref, _pool, _name, _mime_type, _public); else return XenRef.Create(session.XmlRpcProxy.async_pool_create_new_blob(session.opaque_ref, _pool ?? "", _name ?? "", _mime_type ?? "", _public).parse()); } /// /// This call enables external authentication on all the hosts of the pool /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool /// A list of key-values containing the configuration data /// The name of the service /// The type of authentication (e.g. AD for Active Directory) public static void enable_external_auth(Session session, string _pool, Dictionary _config, string _service_name, string _auth_type) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_external_auth(session.opaque_ref, _pool, _config, _service_name, _auth_type); else session.XmlRpcProxy.pool_enable_external_auth(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_config), _service_name ?? "", _auth_type ?? "").parse(); } /// /// This call disables external authentication on all the hosts of the pool /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool /// Optional parameters as a list of key-values containing the configuration data public static void disable_external_auth(Session session, string _pool, Dictionary _config) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_external_auth(session.opaque_ref, _pool, _config); else session.XmlRpcProxy.pool_disable_external_auth(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_config)).parse(); } /// /// This call asynchronously detects if the external authentication configuration in any slave is different from that in the master and raises appropriate alerts /// First published in XenServer 5.5. /// /// The session /// The opaque_ref of the given pool public static void detect_nonhomogeneous_external_auth(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_detect_nonhomogeneous_external_auth(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_detect_nonhomogeneous_external_auth(session.opaque_ref, _pool ?? "").parse(); } /// /// Initializes workload balancing monitoring on this pool with the specified wlb server /// First published in XenServer 5.5. /// /// The session /// The ip address and port to use when accessing the wlb server /// The username used to authenticate with the wlb server /// The password used to authenticate with the wlb server /// The username used by the wlb server to authenticate with the xenserver /// The password used by the wlb server to authenticate with the xenserver public static void initialize_wlb(Session session, string _wlb_url, string _wlb_username, string _wlb_password, string _xenserver_username, string _xenserver_password) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_initialize_wlb(session.opaque_ref, _wlb_url, _wlb_username, _wlb_password, _xenserver_username, _xenserver_password); else session.XmlRpcProxy.pool_initialize_wlb(session.opaque_ref, _wlb_url ?? "", _wlb_username ?? "", _wlb_password ?? "", _xenserver_username ?? "", _xenserver_password ?? "").parse(); } /// /// Initializes workload balancing monitoring on this pool with the specified wlb server /// First published in XenServer 5.5. /// /// The session /// The ip address and port to use when accessing the wlb server /// The username used to authenticate with the wlb server /// The password used to authenticate with the wlb server /// The username used by the wlb server to authenticate with the xenserver /// The password used by the wlb server to authenticate with the xenserver public static XenRef async_initialize_wlb(Session session, string _wlb_url, string _wlb_username, string _wlb_password, string _xenserver_username, string _xenserver_password) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_initialize_wlb(session.opaque_ref, _wlb_url, _wlb_username, _wlb_password, _xenserver_username, _xenserver_password); else return XenRef.Create(session.XmlRpcProxy.async_pool_initialize_wlb(session.opaque_ref, _wlb_url ?? "", _wlb_username ?? "", _wlb_password ?? "", _xenserver_username ?? "", _xenserver_password ?? "").parse()); } /// /// Permanently deconfigures workload balancing monitoring on this pool /// First published in XenServer 5.5. /// /// The session public static void deconfigure_wlb(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_deconfigure_wlb(session.opaque_ref); else session.XmlRpcProxy.pool_deconfigure_wlb(session.opaque_ref).parse(); } /// /// Permanently deconfigures workload balancing monitoring on this pool /// First published in XenServer 5.5. /// /// The session public static XenRef async_deconfigure_wlb(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_deconfigure_wlb(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_deconfigure_wlb(session.opaque_ref).parse()); } /// /// Sets the pool optimization criteria for the workload balancing server /// First published in XenServer 5.5. /// /// The session /// The configuration to use in optimizing this pool public static void send_wlb_configuration(Session session, Dictionary _config) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_send_wlb_configuration(session.opaque_ref, _config); else session.XmlRpcProxy.pool_send_wlb_configuration(session.opaque_ref, Maps.convert_to_proxy_string_string(_config)).parse(); } /// /// Sets the pool optimization criteria for the workload balancing server /// First published in XenServer 5.5. /// /// The session /// The configuration to use in optimizing this pool public static XenRef async_send_wlb_configuration(Session session, Dictionary _config) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_send_wlb_configuration(session.opaque_ref, _config); else return XenRef.Create(session.XmlRpcProxy.async_pool_send_wlb_configuration(session.opaque_ref, Maps.convert_to_proxy_string_string(_config)).parse()); } /// /// Retrieves the pool optimization criteria from the workload balancing server /// First published in XenServer 5.5. /// /// The session public static Dictionary retrieve_wlb_configuration(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_retrieve_wlb_configuration(session.opaque_ref); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_retrieve_wlb_configuration(session.opaque_ref).parse()); } /// /// Retrieves the pool optimization criteria from the workload balancing server /// First published in XenServer 5.5. /// /// The session public static XenRef async_retrieve_wlb_configuration(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_retrieve_wlb_configuration(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_retrieve_wlb_configuration(session.opaque_ref).parse()); } /// /// Retrieves vm migrate recommendations for the pool from the workload balancing server /// First published in XenServer 5.5. /// /// The session public static Dictionary, string[]> retrieve_wlb_recommendations(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_retrieve_wlb_recommendations(session.opaque_ref); else return Maps.convert_from_proxy_XenRefVM_string_array(session.XmlRpcProxy.pool_retrieve_wlb_recommendations(session.opaque_ref).parse()); } /// /// Retrieves vm migrate recommendations for the pool from the workload balancing server /// First published in XenServer 5.5. /// /// The session public static XenRef async_retrieve_wlb_recommendations(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_retrieve_wlb_recommendations(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_retrieve_wlb_recommendations(session.opaque_ref).parse()); } /// /// Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer. /// First published in XenServer 5.5. /// /// The session /// /// /// public static string send_test_post(Session session, string _host, long _port, string _body) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_send_test_post(session.opaque_ref, _host, _port, _body); else return session.XmlRpcProxy.pool_send_test_post(session.opaque_ref, _host ?? "", _port.ToString(), _body ?? "").parse(); } /// /// Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer. /// First published in XenServer 5.5. /// /// The session /// /// /// public static XenRef async_send_test_post(Session session, string _host, long _port, string _body) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_send_test_post(session.opaque_ref, _host, _port, _body); else return XenRef.Create(session.XmlRpcProxy.async_pool_send_test_post(session.opaque_ref, _host ?? "", _port.ToString(), _body ?? "").parse()); } /// /// Install a TLS CA certificate, pool-wide. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// A name to give the certificate /// The certificate in PEM format [Deprecated("1.290.0")] public static void certificate_install(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_certificate_install(session.opaque_ref, _name, _cert); else session.XmlRpcProxy.pool_certificate_install(session.opaque_ref, _name ?? "", _cert ?? "").parse(); } /// /// Install a TLS CA certificate, pool-wide. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// A name to give the certificate /// The certificate in PEM format [Deprecated("1.290.0")] public static XenRef async_certificate_install(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_certificate_install(session.opaque_ref, _name, _cert); else return XenRef.Create(session.XmlRpcProxy.async_pool_certificate_install(session.opaque_ref, _name ?? "", _cert ?? "").parse()); } /// /// Remove a pool-wide TLS CA certificate. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// The certificate name [Deprecated("1.290.0")] public static void certificate_uninstall(Session session, string _name) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_certificate_uninstall(session.opaque_ref, _name); else session.XmlRpcProxy.pool_certificate_uninstall(session.opaque_ref, _name ?? "").parse(); } /// /// Remove a pool-wide TLS CA certificate. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session /// The certificate name [Deprecated("1.290.0")] public static XenRef async_certificate_uninstall(Session session, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_certificate_uninstall(session.opaque_ref, _name); else return XenRef.Create(session.XmlRpcProxy.async_pool_certificate_uninstall(session.opaque_ref, _name ?? "").parse()); } /// /// List the names of all installed TLS CA certificates. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session [Deprecated("1.290.0")] public static string[] certificate_list(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_certificate_list(session.opaque_ref); else return (string [])session.XmlRpcProxy.pool_certificate_list(session.opaque_ref).parse(); } /// /// List the names of all installed TLS CA certificates. /// First published in XenServer 5.5. /// Deprecated since 1.290.0. /// /// The session [Deprecated("1.290.0")] public static XenRef async_certificate_list(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_certificate_list(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_certificate_list(session.opaque_ref).parse()); } /// /// Install a TLS CA certificate, pool-wide. /// First published in 1.290.0. /// /// The session /// A name to give the certificate /// The certificate in PEM format public static void install_ca_certificate(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_install_ca_certificate(session.opaque_ref, _name, _cert); else session.XmlRpcProxy.pool_install_ca_certificate(session.opaque_ref, _name ?? "", _cert ?? "").parse(); } /// /// Install a TLS CA certificate, pool-wide. /// First published in 1.290.0. /// /// The session /// A name to give the certificate /// The certificate in PEM format public static XenRef async_install_ca_certificate(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_install_ca_certificate(session.opaque_ref, _name, _cert); else return XenRef.Create(session.XmlRpcProxy.async_pool_install_ca_certificate(session.opaque_ref, _name ?? "", _cert ?? "").parse()); } /// /// Remove a pool-wide TLS CA certificate. /// First published in 1.290.0. /// /// The session /// The certificate name public static void uninstall_ca_certificate(Session session, string _name) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_uninstall_ca_certificate(session.opaque_ref, _name); else session.XmlRpcProxy.pool_uninstall_ca_certificate(session.opaque_ref, _name ?? "").parse(); } /// /// Remove a pool-wide TLS CA certificate. /// First published in 1.290.0. /// /// The session /// The certificate name public static XenRef async_uninstall_ca_certificate(Session session, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_uninstall_ca_certificate(session.opaque_ref, _name); else return XenRef.Create(session.XmlRpcProxy.async_pool_uninstall_ca_certificate(session.opaque_ref, _name ?? "").parse()); } /// /// Install a TLS CA-issued Certificate Revocation List, pool-wide. /// First published in XenServer 5.5. /// /// The session /// A name to give the CRL /// The CRL public static void crl_install(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_crl_install(session.opaque_ref, _name, _cert); else session.XmlRpcProxy.pool_crl_install(session.opaque_ref, _name ?? "", _cert ?? "").parse(); } /// /// Install a TLS CA-issued Certificate Revocation List, pool-wide. /// First published in XenServer 5.5. /// /// The session /// A name to give the CRL /// The CRL public static XenRef async_crl_install(Session session, string _name, string _cert) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_crl_install(session.opaque_ref, _name, _cert); else return XenRef.Create(session.XmlRpcProxy.async_pool_crl_install(session.opaque_ref, _name ?? "", _cert ?? "").parse()); } /// /// Remove a pool-wide TLS CA-issued Certificate Revocation List. /// First published in XenServer 5.5. /// /// The session /// The CRL name public static void crl_uninstall(Session session, string _name) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_crl_uninstall(session.opaque_ref, _name); else session.XmlRpcProxy.pool_crl_uninstall(session.opaque_ref, _name ?? "").parse(); } /// /// Remove a pool-wide TLS CA-issued Certificate Revocation List. /// First published in XenServer 5.5. /// /// The session /// The CRL name public static XenRef async_crl_uninstall(Session session, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_crl_uninstall(session.opaque_ref, _name); else return XenRef.Create(session.XmlRpcProxy.async_pool_crl_uninstall(session.opaque_ref, _name ?? "").parse()); } /// /// List the names of all installed TLS CA-issued Certificate Revocation Lists. /// First published in XenServer 5.5. /// /// The session public static string[] crl_list(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_crl_list(session.opaque_ref); else return (string [])session.XmlRpcProxy.pool_crl_list(session.opaque_ref).parse(); } /// /// List the names of all installed TLS CA-issued Certificate Revocation Lists. /// First published in XenServer 5.5. /// /// The session public static XenRef async_crl_list(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_crl_list(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_crl_list(session.opaque_ref).parse()); } /// /// Copy the TLS CA certificates and CRLs of the master to all slaves. /// First published in XenServer 5.5. /// /// The session public static void certificate_sync(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_certificate_sync(session.opaque_ref); else session.XmlRpcProxy.pool_certificate_sync(session.opaque_ref).parse(); } /// /// Copy the TLS CA certificates and CRLs of the master to all slaves. /// First published in XenServer 5.5. /// /// The session public static XenRef async_certificate_sync(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_certificate_sync(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_certificate_sync(session.opaque_ref).parse()); } /// /// Enable TLS server certificate verification /// First published in 1.290.0. /// /// The session public static void enable_tls_verification(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_tls_verification(session.opaque_ref); else session.XmlRpcProxy.pool_enable_tls_verification(session.opaque_ref).parse(); } /// /// Enable the redo log on the given SR and start using it, unless HA is enabled. /// First published in XenServer 5.6. /// /// The session /// SR to hold the redo log. public static void enable_redo_log(Session session, string _sr) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_redo_log(session.opaque_ref, _sr); else session.XmlRpcProxy.pool_enable_redo_log(session.opaque_ref, _sr ?? "").parse(); } /// /// Enable the redo log on the given SR and start using it, unless HA is enabled. /// First published in XenServer 5.6. /// /// The session /// SR to hold the redo log. public static XenRef async_enable_redo_log(Session session, string _sr) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_enable_redo_log(session.opaque_ref, _sr); else return XenRef.Create(session.XmlRpcProxy.async_pool_enable_redo_log(session.opaque_ref, _sr ?? "").parse()); } /// /// Disable the redo log if in use, unless HA is enabled. /// First published in XenServer 5.6. /// /// The session public static void disable_redo_log(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_redo_log(session.opaque_ref); else session.XmlRpcProxy.pool_disable_redo_log(session.opaque_ref).parse(); } /// /// Disable the redo log if in use, unless HA is enabled. /// First published in XenServer 5.6. /// /// The session public static XenRef async_disable_redo_log(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_redo_log(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_redo_log(session.opaque_ref).parse()); } /// /// Set the IP address of the vswitch controller. /// First published in XenServer 5.6. /// Deprecated since XenServer 7.2. /// /// The session /// IP address of the vswitch controller. [Deprecated("XenServer 7.2")] public static void set_vswitch_controller(Session session, string _address) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_vswitch_controller(session.opaque_ref, _address); else session.XmlRpcProxy.pool_set_vswitch_controller(session.opaque_ref, _address ?? "").parse(); } /// /// Set the IP address of the vswitch controller. /// First published in XenServer 5.6. /// Deprecated since XenServer 7.2. /// /// The session /// IP address of the vswitch controller. [Deprecated("XenServer 7.2")] public static XenRef async_set_vswitch_controller(Session session, string _address) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_set_vswitch_controller(session.opaque_ref, _address); else return XenRef.Create(session.XmlRpcProxy.async_pool_set_vswitch_controller(session.opaque_ref, _address ?? "").parse()); } /// /// This call tests if a location is valid /// First published in XenServer 5.6 FP1. /// /// The session /// The opaque_ref of the given pool /// Location config settings to test public static string test_archive_target(Session session, string _pool, Dictionary _config) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_test_archive_target(session.opaque_ref, _pool, _config); else return session.XmlRpcProxy.pool_test_archive_target(session.opaque_ref, _pool ?? "", Maps.convert_to_proxy_string_string(_config)).parse(); } /// /// This call attempts to enable pool-wide local storage caching /// First published in XenServer 5.6 FP1. /// /// The session /// The opaque_ref of the given pool public static void enable_local_storage_caching(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_local_storage_caching(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_enable_local_storage_caching(session.opaque_ref, _pool ?? "").parse(); } /// /// This call attempts to enable pool-wide local storage caching /// First published in XenServer 5.6 FP1. /// /// The session /// The opaque_ref of the given pool public static XenRef async_enable_local_storage_caching(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_enable_local_storage_caching(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_enable_local_storage_caching(session.opaque_ref, _pool ?? "").parse()); } /// /// This call disables pool-wide local storage caching /// First published in XenServer 5.6 FP1. /// /// The session /// The opaque_ref of the given pool public static void disable_local_storage_caching(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_local_storage_caching(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_disable_local_storage_caching(session.opaque_ref, _pool ?? "").parse(); } /// /// This call disables pool-wide local storage caching /// First published in XenServer 5.6 FP1. /// /// The session /// The opaque_ref of the given pool public static XenRef async_disable_local_storage_caching(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_local_storage_caching(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_local_storage_caching(session.opaque_ref, _pool ?? "").parse()); } /// /// This call returns the license state for the pool /// First published in XenServer 6.2. /// /// The session /// The opaque_ref of the given pool public static Dictionary get_license_state(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_license_state(session.opaque_ref, _pool); else return Maps.convert_from_proxy_string_string(session.XmlRpcProxy.pool_get_license_state(session.opaque_ref, _pool ?? "").parse()); } /// /// This call returns the license state for the pool /// First published in XenServer 6.2. /// /// The session /// The opaque_ref of the given pool public static XenRef async_get_license_state(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_get_license_state(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_get_license_state(session.opaque_ref, _pool ?? "").parse()); } /// /// Apply an edition to all hosts in the pool /// First published in XenServer 6.2. /// /// The session /// The opaque_ref of the given pool /// The requested edition public static void apply_edition(Session session, string _pool, string _edition) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_apply_edition(session.opaque_ref, _pool, _edition); else session.XmlRpcProxy.pool_apply_edition(session.opaque_ref, _pool ?? "", _edition ?? "").parse(); } /// /// Apply an edition to all hosts in the pool /// First published in XenServer 6.2. /// /// The session /// The opaque_ref of the given pool /// The requested edition public static XenRef async_apply_edition(Session session, string _pool, string _edition) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_apply_edition(session.opaque_ref, _pool, _edition); else return XenRef.Create(session.XmlRpcProxy.async_pool_apply_edition(session.opaque_ref, _pool ?? "", _edition ?? "").parse()); } /// /// Sets ssl_legacy true on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static void enable_ssl_legacy(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_ssl_legacy(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_enable_ssl_legacy(session.opaque_ref, _pool ?? "").parse(); } /// /// Sets ssl_legacy true on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy. /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool public static XenRef async_enable_ssl_legacy(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_enable_ssl_legacy(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_enable_ssl_legacy(session.opaque_ref, _pool ?? "").parse()); } /// /// Sets ssl_legacy false on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy. /// First published in XenServer 7.0. /// Deprecated since Citrix Hypervisor 8.2. /// /// The session /// The opaque_ref of the given pool [Deprecated("Citrix Hypervisor 8.2")] public static void disable_ssl_legacy(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_ssl_legacy(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_disable_ssl_legacy(session.opaque_ref, _pool ?? "").parse(); } /// /// Sets ssl_legacy false on each host, pool-master last. See Host.ssl_legacy and Host.set_ssl_legacy. /// First published in XenServer 7.0. /// Deprecated since Citrix Hypervisor 8.2. /// /// The session /// The opaque_ref of the given pool [Deprecated("Citrix Hypervisor 8.2")] public static XenRef async_disable_ssl_legacy(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_ssl_legacy(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_ssl_legacy(session.opaque_ref, _pool ?? "").parse()); } /// /// Enable or disable IGMP Snooping on the pool. /// First published in XenServer 7.3. /// /// The session /// The opaque_ref of the given pool /// Enable or disable IGMP Snooping on the pool public static void set_igmp_snooping_enabled(Session session, string _pool, bool _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_igmp_snooping_enabled(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_set_igmp_snooping_enabled(session.opaque_ref, _pool ?? "", _value).parse(); } /// /// Enable or disable IGMP Snooping on the pool. /// First published in XenServer 7.3. /// /// The session /// The opaque_ref of the given pool /// Enable or disable IGMP Snooping on the pool public static XenRef async_set_igmp_snooping_enabled(Session session, string _pool, bool _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_set_igmp_snooping_enabled(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_set_igmp_snooping_enabled(session.opaque_ref, _pool ?? "", _value).parse()); } /// /// Return true if the extension is available on the pool /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The name of the API call public static bool has_extension(Session session, string _pool, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_has_extension(session.opaque_ref, _pool, _name); else return (bool)session.XmlRpcProxy.pool_has_extension(session.opaque_ref, _pool ?? "", _name ?? "").parse(); } /// /// Return true if the extension is available on the pool /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The name of the API call public static XenRef async_has_extension(Session session, string _pool, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_has_extension(session.opaque_ref, _pool, _name); else return XenRef.Create(session.XmlRpcProxy.async_pool_has_extension(session.opaque_ref, _pool ?? "", _name ?? "").parse()); } /// /// Add a key-value pair to the pool-wide guest agent configuration /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The key to add /// The value to add public static void add_to_guest_agent_config(Session session, string _pool, string _key, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_to_guest_agent_config(session.opaque_ref, _pool, _key, _value); else session.XmlRpcProxy.pool_add_to_guest_agent_config(session.opaque_ref, _pool ?? "", _key ?? "", _value ?? "").parse(); } /// /// Add a key-value pair to the pool-wide guest agent configuration /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The key to add /// The value to add public static XenRef async_add_to_guest_agent_config(Session session, string _pool, string _key, string _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_add_to_guest_agent_config(session.opaque_ref, _pool, _key, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_add_to_guest_agent_config(session.opaque_ref, _pool ?? "", _key ?? "", _value ?? "").parse()); } /// /// Remove a key-value pair from the pool-wide guest agent configuration /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The key to remove public static void remove_from_guest_agent_config(Session session, string _pool, string _key) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_from_guest_agent_config(session.opaque_ref, _pool, _key); else session.XmlRpcProxy.pool_remove_from_guest_agent_config(session.opaque_ref, _pool ?? "", _key ?? "").parse(); } /// /// Remove a key-value pair from the pool-wide guest agent configuration /// First published in XenServer 7.0. /// /// The session /// The opaque_ref of the given pool /// The key to remove public static XenRef async_remove_from_guest_agent_config(Session session, string _pool, string _key) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_remove_from_guest_agent_config(session.opaque_ref, _pool, _key); else return XenRef.Create(session.XmlRpcProxy.async_pool_remove_from_guest_agent_config(session.opaque_ref, _pool ?? "", _key ?? "").parse()); } /// /// /// First published in Citrix Hypervisor 8.2 Hotfix 2. /// /// The session public static void rotate_secret(Session session) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_rotate_secret(session.opaque_ref); else session.XmlRpcProxy.pool_rotate_secret(session.opaque_ref).parse(); } /// /// /// First published in Citrix Hypervisor 8.2 Hotfix 2. /// /// The session public static XenRef async_rotate_secret(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_rotate_secret(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.async_pool_rotate_secret(session.opaque_ref).parse()); } /// /// Set enabled set of repositories /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The set of repositories to be enabled public static void set_repositories(Session session, string _pool, List> _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_repositories(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_set_repositories(session.opaque_ref, _pool ?? "", _value == null ? new string[] {} : Helper.RefListToStringArray(_value)).parse(); } /// /// Set enabled set of repositories /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The set of repositories to be enabled public static XenRef async_set_repositories(Session session, string _pool, List> _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_set_repositories(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_set_repositories(session.opaque_ref, _pool ?? "", _value == null ? new string[] {} : Helper.RefListToStringArray(_value)).parse()); } /// /// Add a repository to the enabled set /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The repository to be added to the enabled set public static void add_repository(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_add_repository(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_add_repository(session.opaque_ref, _pool ?? "", _value ?? "").parse(); } /// /// Add a repository to the enabled set /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The repository to be added to the enabled set public static XenRef async_add_repository(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_add_repository(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_add_repository(session.opaque_ref, _pool ?? "", _value ?? "").parse()); } /// /// Remove a repository from the enabled set /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The repository to be removed public static void remove_repository(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_remove_repository(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_remove_repository(session.opaque_ref, _pool ?? "", _value ?? "").parse(); } /// /// Remove a repository from the enabled set /// First published in 1.301.0. /// /// The session /// The opaque_ref of the given pool /// The repository to be removed public static XenRef async_remove_repository(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_remove_repository(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_remove_repository(session.opaque_ref, _pool ?? "", _value ?? "").parse()); } /// /// Sync with the enabled repository /// First published in 1.329.0. /// /// The session /// The opaque_ref of the given pool /// If true local mirroring repo will be removed before syncing /// The token for repository client authentication /// The ID of the token public static string sync_updates(Session session, string _pool, bool _force, string _token, string _token_id) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_sync_updates(session.opaque_ref, _pool, _force, _token, _token_id); else return session.XmlRpcProxy.pool_sync_updates(session.opaque_ref, _pool ?? "", _force, _token ?? "", _token_id ?? "").parse(); } /// /// Sync with the enabled repository /// First published in 1.329.0. /// /// The session /// The opaque_ref of the given pool /// If true local mirroring repo will be removed before syncing /// The token for repository client authentication /// The ID of the token public static XenRef async_sync_updates(Session session, string _pool, bool _force, string _token, string _token_id) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_sync_updates(session.opaque_ref, _pool, _force, _token, _token_id); else return XenRef.Create(session.XmlRpcProxy.async_pool_sync_updates(session.opaque_ref, _pool ?? "", _force, _token ?? "", _token_id ?? "").parse()); } /// /// Check if the pool is ready to be updated. If not, report the reasons. /// First published in 1.304.0. /// /// The session /// The opaque_ref of the given pool /// Assume that the update will require host reboots public static string[] check_update_readiness(Session session, string _pool, bool _requires_reboot) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_check_update_readiness(session.opaque_ref, _pool, _requires_reboot); else return (string [])session.XmlRpcProxy.pool_check_update_readiness(session.opaque_ref, _pool ?? "", _requires_reboot).parse(); } /// /// Check if the pool is ready to be updated. If not, report the reasons. /// First published in 1.304.0. /// /// The session /// The opaque_ref of the given pool /// Assume that the update will require host reboots public static XenRef async_check_update_readiness(Session session, string _pool, bool _requires_reboot) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_check_update_readiness(session.opaque_ref, _pool, _requires_reboot); else return XenRef.Create(session.XmlRpcProxy.async_pool_check_update_readiness(session.opaque_ref, _pool ?? "", _requires_reboot).parse()); } /// /// Enable client certificate authentication on the pool /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool /// The name (CN/SAN) that an incoming client certificate must have to allow authentication public static void enable_client_certificate_auth(Session session, string _pool, string _name) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_enable_client_certificate_auth(session.opaque_ref, _pool, _name); else session.XmlRpcProxy.pool_enable_client_certificate_auth(session.opaque_ref, _pool ?? "", _name ?? "").parse(); } /// /// Enable client certificate authentication on the pool /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool /// The name (CN/SAN) that an incoming client certificate must have to allow authentication public static XenRef async_enable_client_certificate_auth(Session session, string _pool, string _name) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_enable_client_certificate_auth(session.opaque_ref, _pool, _name); else return XenRef.Create(session.XmlRpcProxy.async_pool_enable_client_certificate_auth(session.opaque_ref, _pool ?? "", _name ?? "").parse()); } /// /// Disable client certificate authentication on the pool /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool public static void disable_client_certificate_auth(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_client_certificate_auth(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_disable_client_certificate_auth(session.opaque_ref, _pool ?? "").parse(); } /// /// Disable client certificate authentication on the pool /// First published in 1.318.0. /// /// The session /// The opaque_ref of the given pool public static XenRef async_disable_client_certificate_auth(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_client_certificate_auth(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_client_certificate_auth(session.opaque_ref, _pool ?? "").parse()); } /// /// Configure proxy for RPM package repositories. /// First published in 21.3.0. /// /// The session /// The opaque_ref of the given pool /// The URL of the proxy server /// The username used to authenticate with the proxy server /// The password used to authenticate with the proxy server public static void configure_repository_proxy(Session session, string _pool, string _url, string _username, string _password) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_configure_repository_proxy(session.opaque_ref, _pool, _url, _username, _password); else session.XmlRpcProxy.pool_configure_repository_proxy(session.opaque_ref, _pool ?? "", _url ?? "", _username ?? "", _password ?? "").parse(); } /// /// Configure proxy for RPM package repositories. /// First published in 21.3.0. /// /// The session /// The opaque_ref of the given pool /// The URL of the proxy server /// The username used to authenticate with the proxy server /// The password used to authenticate with the proxy server public static XenRef async_configure_repository_proxy(Session session, string _pool, string _url, string _username, string _password) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_configure_repository_proxy(session.opaque_ref, _pool, _url, _username, _password); else return XenRef.Create(session.XmlRpcProxy.async_pool_configure_repository_proxy(session.opaque_ref, _pool ?? "", _url ?? "", _username ?? "", _password ?? "").parse()); } /// /// Disable the proxy for RPM package repositories. /// First published in 21.4.0. /// /// The session /// The opaque_ref of the given pool public static void disable_repository_proxy(Session session, string _pool) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_disable_repository_proxy(session.opaque_ref, _pool); else session.XmlRpcProxy.pool_disable_repository_proxy(session.opaque_ref, _pool ?? "").parse(); } /// /// Disable the proxy for RPM package repositories. /// First published in 21.4.0. /// /// The session /// The opaque_ref of the given pool public static XenRef async_disable_repository_proxy(Session session, string _pool) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_disable_repository_proxy(session.opaque_ref, _pool); else return XenRef.Create(session.XmlRpcProxy.async_pool_disable_repository_proxy(session.opaque_ref, _pool ?? "").parse()); } /// /// Sets the UEFI certificates for a pool and all its hosts /// First published in 22.16.0. /// /// The session /// The opaque_ref of the given pool /// The certificates to apply to the pool and its hosts public static void set_uefi_certificates(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) session.JsonRpcClient.pool_set_uefi_certificates(session.opaque_ref, _pool, _value); else session.XmlRpcProxy.pool_set_uefi_certificates(session.opaque_ref, _pool ?? "", _value ?? "").parse(); } /// /// Sets the UEFI certificates for a pool and all its hosts /// First published in 22.16.0. /// /// The session /// The opaque_ref of the given pool /// The certificates to apply to the pool and its hosts public static XenRef async_set_uefi_certificates(Session session, string _pool, string _value) { if (session.JsonRpcClient != null) return session.JsonRpcClient.async_pool_set_uefi_certificates(session.opaque_ref, _pool, _value); else return XenRef.Create(session.XmlRpcProxy.async_pool_set_uefi_certificates(session.opaque_ref, _pool ?? "", _value ?? "").parse()); } /// /// Return a list of all the pools known to the system. /// First published in XenServer 4.0. /// /// The session public static List> get_all(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_all(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.pool_get_all(session.opaque_ref).parse()); } /// /// Get all the pool Records at once, in a single XML RPC call /// First published in XenServer 4.0. /// /// The session public static Dictionary, Pool> get_all_records(Session session) { if (session.JsonRpcClient != null) return session.JsonRpcClient.pool_get_all_records(session.opaque_ref); else return XenRef.Create(session.XmlRpcProxy.pool_get_all_records(session.opaque_ref).parse()); } /// /// Unique identifier/object reference /// public virtual string uuid { get { return _uuid; } set { if (!Helper.AreEqual(value, _uuid)) { _uuid = value; NotifyPropertyChanged("uuid"); } } } private string _uuid = ""; /// /// Short name /// public virtual string name_label { get { return _name_label; } set { if (!Helper.AreEqual(value, _name_label)) { _name_label = value; NotifyPropertyChanged("name_label"); } } } private string _name_label = ""; /// /// Description /// public virtual string name_description { get { return _name_description; } set { if (!Helper.AreEqual(value, _name_description)) { _name_description = value; NotifyPropertyChanged("name_description"); } } } private string _name_description = ""; /// /// The host that is pool master /// [JsonConverter(typeof(XenRefConverter))] public virtual XenRef master { get { return _master; } set { if (!Helper.AreEqual(value, _master)) { _master = value; NotifyPropertyChanged("master"); } } } private XenRef _master = new XenRef(Helper.NullOpaqueRef); /// /// Default SR for VDIs /// [JsonConverter(typeof(XenRefConverter))] public virtual XenRef default_SR { get { return _default_SR; } set { if (!Helper.AreEqual(value, _default_SR)) { _default_SR = value; NotifyPropertyChanged("default_SR"); } } } private XenRef _default_SR = new XenRef(Helper.NullOpaqueRef); /// /// The SR in which VDIs for suspend images are created /// [JsonConverter(typeof(XenRefConverter))] public virtual XenRef suspend_image_SR { get { return _suspend_image_SR; } set { if (!Helper.AreEqual(value, _suspend_image_SR)) { _suspend_image_SR = value; NotifyPropertyChanged("suspend_image_SR"); } } } private XenRef _suspend_image_SR = new XenRef(Helper.NullOpaqueRef); /// /// The SR in which VDIs for crash dumps are created /// [JsonConverter(typeof(XenRefConverter))] public virtual XenRef crash_dump_SR { get { return _crash_dump_SR; } set { if (!Helper.AreEqual(value, _crash_dump_SR)) { _crash_dump_SR = value; NotifyPropertyChanged("crash_dump_SR"); } } } private XenRef _crash_dump_SR = new XenRef(Helper.NullOpaqueRef); /// /// additional configuration /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary other_config { get { return _other_config; } set { if (!Helper.AreEqual(value, _other_config)) { _other_config = value; NotifyPropertyChanged("other_config"); } } } private Dictionary _other_config = new Dictionary() {}; /// /// true if HA is enabled on the pool, false otherwise /// First published in XenServer 5.0. /// public virtual bool ha_enabled { get { return _ha_enabled; } set { if (!Helper.AreEqual(value, _ha_enabled)) { _ha_enabled = value; NotifyPropertyChanged("ha_enabled"); } } } private bool _ha_enabled = false; /// /// The current HA configuration /// First published in XenServer 5.0. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary ha_configuration { get { return _ha_configuration; } set { if (!Helper.AreEqual(value, _ha_configuration)) { _ha_configuration = value; NotifyPropertyChanged("ha_configuration"); } } } private Dictionary _ha_configuration = new Dictionary() {}; /// /// HA statefile VDIs in use /// First published in XenServer 5.0. /// public virtual string[] ha_statefiles { get { return _ha_statefiles; } set { if (!Helper.AreEqual(value, _ha_statefiles)) { _ha_statefiles = value; NotifyPropertyChanged("ha_statefiles"); } } } private string[] _ha_statefiles = {}; /// /// Number of host failures to tolerate before the Pool is declared to be overcommitted /// First published in XenServer 5.0. /// public virtual long ha_host_failures_to_tolerate { get { return _ha_host_failures_to_tolerate; } set { if (!Helper.AreEqual(value, _ha_host_failures_to_tolerate)) { _ha_host_failures_to_tolerate = value; NotifyPropertyChanged("ha_host_failures_to_tolerate"); } } } private long _ha_host_failures_to_tolerate = 0; /// /// Number of future host failures we have managed to find a plan for. Once this reaches zero any future host failures will cause the failure of protected VMs. /// First published in XenServer 5.0. /// public virtual long ha_plan_exists_for { get { return _ha_plan_exists_for; } set { if (!Helper.AreEqual(value, _ha_plan_exists_for)) { _ha_plan_exists_for = value; NotifyPropertyChanged("ha_plan_exists_for"); } } } private long _ha_plan_exists_for = 0; /// /// If set to false then operations which would cause the Pool to become overcommitted will be blocked. /// First published in XenServer 5.0. /// public virtual bool ha_allow_overcommit { get { return _ha_allow_overcommit; } set { if (!Helper.AreEqual(value, _ha_allow_overcommit)) { _ha_allow_overcommit = value; NotifyPropertyChanged("ha_allow_overcommit"); } } } private bool _ha_allow_overcommit = false; /// /// True if the Pool is considered to be overcommitted i.e. if there exist insufficient physical resources to tolerate the configured number of host failures /// First published in XenServer 5.0. /// public virtual bool ha_overcommitted { get { return _ha_overcommitted; } set { if (!Helper.AreEqual(value, _ha_overcommitted)) { _ha_overcommitted = value; NotifyPropertyChanged("ha_overcommitted"); } } } private bool _ha_overcommitted = false; /// /// Binary blobs associated with this pool /// First published in XenServer 5.0. /// [JsonConverter(typeof(StringXenRefMapConverter))] public virtual Dictionary> blobs { get { return _blobs; } set { if (!Helper.AreEqual(value, _blobs)) { _blobs = value; NotifyPropertyChanged("blobs"); } } } private Dictionary> _blobs = new Dictionary>() {}; /// /// user-specified tags for categorization purposes /// First published in XenServer 5.0. /// public virtual string[] tags { get { return _tags; } set { if (!Helper.AreEqual(value, _tags)) { _tags = value; NotifyPropertyChanged("tags"); } } } private string[] _tags = {}; /// /// gui-specific configuration for pool /// First published in XenServer 5.0. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary gui_config { get { return _gui_config; } set { if (!Helper.AreEqual(value, _gui_config)) { _gui_config = value; NotifyPropertyChanged("gui_config"); } } } private Dictionary _gui_config = new Dictionary() {}; /// /// Configuration for the automatic health check feature /// First published in XenServer 7.0. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary health_check_config { get { return _health_check_config; } set { if (!Helper.AreEqual(value, _health_check_config)) { _health_check_config = value; NotifyPropertyChanged("health_check_config"); } } } private Dictionary _health_check_config = new Dictionary() {}; /// /// Url for the configured workload balancing host /// First published in XenServer 5.5. /// public virtual string wlb_url { get { return _wlb_url; } set { if (!Helper.AreEqual(value, _wlb_url)) { _wlb_url = value; NotifyPropertyChanged("wlb_url"); } } } private string _wlb_url = ""; /// /// Username for accessing the workload balancing host /// First published in XenServer 5.5. /// public virtual string wlb_username { get { return _wlb_username; } set { if (!Helper.AreEqual(value, _wlb_username)) { _wlb_username = value; NotifyPropertyChanged("wlb_username"); } } } private string _wlb_username = ""; /// /// true if workload balancing is enabled on the pool, false otherwise /// First published in XenServer 5.5. /// public virtual bool wlb_enabled { get { return _wlb_enabled; } set { if (!Helper.AreEqual(value, _wlb_enabled)) { _wlb_enabled = value; NotifyPropertyChanged("wlb_enabled"); } } } private bool _wlb_enabled = false; /// /// true if communication with the WLB server should enforce TLS certificate verification. /// First published in XenServer 5.5. /// public virtual bool wlb_verify_cert { get { return _wlb_verify_cert; } set { if (!Helper.AreEqual(value, _wlb_verify_cert)) { _wlb_verify_cert = value; NotifyPropertyChanged("wlb_verify_cert"); } } } private bool _wlb_verify_cert = false; /// /// true a redo-log is to be used other than when HA is enabled, false otherwise /// First published in XenServer 5.6. /// public virtual bool redo_log_enabled { get { return _redo_log_enabled; } set { if (!Helper.AreEqual(value, _redo_log_enabled)) { _redo_log_enabled = value; NotifyPropertyChanged("redo_log_enabled"); } } } private bool _redo_log_enabled = false; /// /// indicates the VDI to use for the redo-log other than when HA is enabled /// First published in XenServer 5.6. /// [JsonConverter(typeof(XenRefConverter))] public virtual XenRef redo_log_vdi { get { return _redo_log_vdi; } set { if (!Helper.AreEqual(value, _redo_log_vdi)) { _redo_log_vdi = value; NotifyPropertyChanged("redo_log_vdi"); } } } private XenRef _redo_log_vdi = new XenRef("OpaqueRef:NULL"); /// /// address of the vswitch controller /// First published in XenServer 5.6. /// public virtual string vswitch_controller { get { return _vswitch_controller; } set { if (!Helper.AreEqual(value, _vswitch_controller)) { _vswitch_controller = value; NotifyPropertyChanged("vswitch_controller"); } } } private string _vswitch_controller = ""; /// /// Pool-wide restrictions currently in effect /// First published in XenServer 5.6. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary restrictions { get { return _restrictions; } set { if (!Helper.AreEqual(value, _restrictions)) { _restrictions = value; NotifyPropertyChanged("restrictions"); } } } private Dictionary _restrictions = new Dictionary() {}; /// /// The set of currently known metadata VDIs for this pool /// First published in XenServer 6.0. /// [JsonConverter(typeof(XenRefListConverter))] public virtual List> metadata_VDIs { get { return _metadata_VDIs; } set { if (!Helper.AreEqual(value, _metadata_VDIs)) { _metadata_VDIs = value; NotifyPropertyChanged("metadata_VDIs"); } } } private List> _metadata_VDIs = new List>() {}; /// /// The HA cluster stack that is currently in use. Only valid when HA is enabled. /// First published in XenServer 7.0. /// public virtual string ha_cluster_stack { get { return _ha_cluster_stack; } set { if (!Helper.AreEqual(value, _ha_cluster_stack)) { _ha_cluster_stack = value; NotifyPropertyChanged("ha_cluster_stack"); } } } private string _ha_cluster_stack = ""; /// /// list of the operations allowed in this state. This list is advisory only and the server state may have changed by the time this field is read by a client. /// public virtual List allowed_operations { get { return _allowed_operations; } set { if (!Helper.AreEqual(value, _allowed_operations)) { _allowed_operations = value; NotifyPropertyChanged("allowed_operations"); } } } private List _allowed_operations = new List() {}; /// /// links each of the running tasks using this object (by reference) to a current_operation enum which describes the nature of the task. /// public virtual Dictionary current_operations { get { return _current_operations; } set { if (!Helper.AreEqual(value, _current_operations)) { _current_operations = value; NotifyPropertyChanged("current_operations"); } } } private Dictionary _current_operations = new Dictionary() {}; /// /// Pool-wide guest agent configuration information /// First published in XenServer 7.0. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary guest_agent_config { get { return _guest_agent_config; } set { if (!Helper.AreEqual(value, _guest_agent_config)) { _guest_agent_config = value; NotifyPropertyChanged("guest_agent_config"); } } } private Dictionary _guest_agent_config = new Dictionary() {}; /// /// Details about the physical CPUs on the pool /// First published in XenServer 7.0. /// [JsonConverter(typeof(StringStringMapConverter))] public virtual Dictionary cpu_info { get { return _cpu_info; } set { if (!Helper.AreEqual(value, _cpu_info)) { _cpu_info = value; NotifyPropertyChanged("cpu_info"); } } } private Dictionary _cpu_info = new Dictionary() {}; /// /// The pool-wide policy for clients on whether to use the vendor device or not on newly created VMs. This field will also be consulted if the 'has_vendor_device' field is not specified in the VM.create call. /// First published in XenServer 7.0. /// public virtual bool policy_no_vendor_device { get { return _policy_no_vendor_device; } set { if (!Helper.AreEqual(value, _policy_no_vendor_device)) { _policy_no_vendor_device = value; NotifyPropertyChanged("policy_no_vendor_device"); } } } private bool _policy_no_vendor_device = false; /// /// The pool-wide flag to show if the live patching feauture is disabled or not. /// First published in XenServer 7.1. /// public virtual bool live_patching_disabled { get { return _live_patching_disabled; } set { if (!Helper.AreEqual(value, _live_patching_disabled)) { _live_patching_disabled = value; NotifyPropertyChanged("live_patching_disabled"); } } } private bool _live_patching_disabled = false; /// /// true if IGMP snooping is enabled in the pool, false otherwise. /// First published in XenServer 7.3. /// public virtual bool igmp_snooping_enabled { get { return _igmp_snooping_enabled; } set { if (!Helper.AreEqual(value, _igmp_snooping_enabled)) { _igmp_snooping_enabled = value; NotifyPropertyChanged("igmp_snooping_enabled"); } } } private bool _igmp_snooping_enabled = false; /// /// The UEFI certificates allowing Secure Boot /// First published in Citrix Hypervisor 8.1. /// public virtual string uefi_certificates { get { return _uefi_certificates; } set { if (!Helper.AreEqual(value, _uefi_certificates)) { _uefi_certificates = value; NotifyPropertyChanged("uefi_certificates"); } } } private string _uefi_certificates = ""; /// /// True if either a PSR is running or we are waiting for a PSR to be re-run /// First published in Citrix Hypervisor 8.2 Hotfix 2. /// public virtual bool is_psr_pending { get { return _is_psr_pending; } set { if (!Helper.AreEqual(value, _is_psr_pending)) { _is_psr_pending = value; NotifyPropertyChanged("is_psr_pending"); } } } private bool _is_psr_pending = false; /// /// True iff TLS certificate verification is enabled /// First published in 1.290.0. /// public virtual bool tls_verification_enabled { get { return _tls_verification_enabled; } set { if (!Helper.AreEqual(value, _tls_verification_enabled)) { _tls_verification_enabled = value; NotifyPropertyChanged("tls_verification_enabled"); } } } private bool _tls_verification_enabled = false; /// /// The set of currently enabled repositories /// First published in 1.301.0. /// [JsonConverter(typeof(XenRefListConverter))] public virtual List> repositories { get { return _repositories; } set { if (!Helper.AreEqual(value, _repositories)) { _repositories = value; NotifyPropertyChanged("repositories"); } } } private List> _repositories = new List>() {}; /// /// True if authentication by TLS client certificates is enabled /// First published in 1.318.0. /// public virtual bool client_certificate_auth_enabled { get { return _client_certificate_auth_enabled; } set { if (!Helper.AreEqual(value, _client_certificate_auth_enabled)) { _client_certificate_auth_enabled = value; NotifyPropertyChanged("client_certificate_auth_enabled"); } } } private bool _client_certificate_auth_enabled = false; /// /// The name (CN/SAN) that an incoming client certificate must have to allow authentication /// First published in 1.318.0. /// public virtual string client_certificate_auth_name { get { return _client_certificate_auth_name; } set { if (!Helper.AreEqual(value, _client_certificate_auth_name)) { _client_certificate_auth_name = value; NotifyPropertyChanged("client_certificate_auth_name"); } } } private string _client_certificate_auth_name = ""; /// /// Url of the proxy used in syncing with the enabled repositories /// First published in 21.3.0. /// public virtual string repository_proxy_url { get { return _repository_proxy_url; } set { if (!Helper.AreEqual(value, _repository_proxy_url)) { _repository_proxy_url = value; NotifyPropertyChanged("repository_proxy_url"); } } } private string _repository_proxy_url = ""; /// /// Username for the authentication of the proxy used in syncing with the enabled repositories /// First published in 21.3.0. /// public virtual string repository_proxy_username { get { return _repository_proxy_username; } set { if (!Helper.AreEqual(value, _repository_proxy_username)) { _repository_proxy_username = value; NotifyPropertyChanged("repository_proxy_username"); } } } private string _repository_proxy_username = ""; } }