| /* | |
| * 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. | |
| */ | |
| package com.xensource.xenapi; | |
| import com.xensource.xenapi.Types.BadServerResponse; | |
| import com.xensource.xenapi.Types.VersionException; | |
| import com.xensource.xenapi.Types.XenAPIException; | |
| import java.io.PrintWriter; | |
| import java.io.StringWriter; | |
| import java.util.Date; | |
| import java.util.HashMap; | |
| import java.util.LinkedHashSet; | |
| import java.util.Map; | |
| import java.util.Set; | |
| import org.apache.xmlrpc.XmlRpcException; | |
| /** | |
| * Pool-wide information | |
| * | |
| * @author Citrix Systems, Inc. | |
| */ | |
| public class Pool extends XenAPIObject { | |
| /** | |
| * The XenAPI reference (OpaqueRef) to this object. | |
| */ | |
| protected final String ref; | |
| /** | |
| * For internal use only. | |
| */ | |
| Pool(String ref) { | |
| this.ref = ref; | |
| } | |
| /** | |
| * @return The XenAPI reference (OpaqueRef) to this object. | |
| */ | |
| public String toWireString() { | |
| return this.ref; | |
| } | |
| /** | |
| * If obj is a Pool, compares XenAPI references for equality. | |
| */ | |
| @Override | |
| public boolean equals(Object obj) | |
| { | |
| if (obj != null && obj instanceof Pool) | |
| { | |
| Pool other = (Pool) obj; | |
| return other.ref.equals(this.ref); | |
| } else | |
| { | |
| return false; | |
| } | |
| } | |
| @Override | |
| public int hashCode() | |
| { | |
| return ref.hashCode(); | |
| } | |
| /** | |
| * Represents all the fields in a Pool | |
| */ | |
| public static class Record implements Types.Record { | |
| public String toString() { | |
| StringWriter writer = new StringWriter(); | |
| PrintWriter print = new PrintWriter(writer); | |
| print.printf("%1$20s: %2$s\n", "uuid", this.uuid); | |
| print.printf("%1$20s: %2$s\n", "nameLabel", this.nameLabel); | |
| print.printf("%1$20s: %2$s\n", "nameDescription", this.nameDescription); | |
| print.printf("%1$20s: %2$s\n", "master", this.master); | |
| print.printf("%1$20s: %2$s\n", "defaultSR", this.defaultSR); | |
| print.printf("%1$20s: %2$s\n", "suspendImageSR", this.suspendImageSR); | |
| print.printf("%1$20s: %2$s\n", "crashDumpSR", this.crashDumpSR); | |
| print.printf("%1$20s: %2$s\n", "otherConfig", this.otherConfig); | |
| print.printf("%1$20s: %2$s\n", "haEnabled", this.haEnabled); | |
| print.printf("%1$20s: %2$s\n", "haConfiguration", this.haConfiguration); | |
| print.printf("%1$20s: %2$s\n", "haStatefiles", this.haStatefiles); | |
| print.printf("%1$20s: %2$s\n", "haHostFailuresToTolerate", this.haHostFailuresToTolerate); | |
| print.printf("%1$20s: %2$s\n", "haPlanExistsFor", this.haPlanExistsFor); | |
| print.printf("%1$20s: %2$s\n", "haAllowOvercommit", this.haAllowOvercommit); | |
| print.printf("%1$20s: %2$s\n", "haOvercommitted", this.haOvercommitted); | |
| print.printf("%1$20s: %2$s\n", "blobs", this.blobs); | |
| print.printf("%1$20s: %2$s\n", "tags", this.tags); | |
| print.printf("%1$20s: %2$s\n", "guiConfig", this.guiConfig); | |
| print.printf("%1$20s: %2$s\n", "wlbUrl", this.wlbUrl); | |
| print.printf("%1$20s: %2$s\n", "wlbUsername", this.wlbUsername); | |
| print.printf("%1$20s: %2$s\n", "wlbEnabled", this.wlbEnabled); | |
| print.printf("%1$20s: %2$s\n", "wlbVerifyCert", this.wlbVerifyCert); | |
| print.printf("%1$20s: %2$s\n", "redoLogEnabled", this.redoLogEnabled); | |
| print.printf("%1$20s: %2$s\n", "redoLogVdi", this.redoLogVdi); | |
| print.printf("%1$20s: %2$s\n", "vswitchController", this.vswitchController); | |
| print.printf("%1$20s: %2$s\n", "restrictions", this.restrictions); | |
| print.printf("%1$20s: %2$s\n", "metadataVDIs", this.metadataVDIs); | |
| return writer.toString(); | |
| } | |
| /** | |
| * Convert a pool.Record to a Map | |
| */ | |
| public Map<String,Object> toMap() { | |
| Map<String,Object> map = new HashMap<String,Object>(); | |
| map.put("uuid", this.uuid == null ? "" : this.uuid); | |
| map.put("name_label", this.nameLabel == null ? "" : this.nameLabel); | |
| map.put("name_description", this.nameDescription == null ? "" : this.nameDescription); | |
| map.put("master", this.master == null ? new Host("OpaqueRef:NULL") : this.master); | |
| map.put("default_SR", this.defaultSR == null ? new SR("OpaqueRef:NULL") : this.defaultSR); | |
| map.put("suspend_image_SR", this.suspendImageSR == null ? new SR("OpaqueRef:NULL") : this.suspendImageSR); | |
| map.put("crash_dump_SR", this.crashDumpSR == null ? new SR("OpaqueRef:NULL") : this.crashDumpSR); | |
| map.put("other_config", this.otherConfig == null ? new HashMap<String, String>() : this.otherConfig); | |
| map.put("ha_enabled", this.haEnabled == null ? false : this.haEnabled); | |
| map.put("ha_configuration", this.haConfiguration == null ? new HashMap<String, String>() : this.haConfiguration); | |
| map.put("ha_statefiles", this.haStatefiles == null ? new LinkedHashSet<String>() : this.haStatefiles); | |
| map.put("ha_host_failures_to_tolerate", this.haHostFailuresToTolerate == null ? 0 : this.haHostFailuresToTolerate); | |
| map.put("ha_plan_exists_for", this.haPlanExistsFor == null ? 0 : this.haPlanExistsFor); | |
| map.put("ha_allow_overcommit", this.haAllowOvercommit == null ? false : this.haAllowOvercommit); | |
| map.put("ha_overcommitted", this.haOvercommitted == null ? false : this.haOvercommitted); | |
| map.put("blobs", this.blobs == null ? new HashMap<String, Blob>() : this.blobs); | |
| map.put("tags", this.tags == null ? new LinkedHashSet<String>() : this.tags); | |
| map.put("gui_config", this.guiConfig == null ? new HashMap<String, String>() : this.guiConfig); | |
| map.put("wlb_url", this.wlbUrl == null ? "" : this.wlbUrl); | |
| map.put("wlb_username", this.wlbUsername == null ? "" : this.wlbUsername); | |
| map.put("wlb_enabled", this.wlbEnabled == null ? false : this.wlbEnabled); | |
| map.put("wlb_verify_cert", this.wlbVerifyCert == null ? false : this.wlbVerifyCert); | |
| map.put("redo_log_enabled", this.redoLogEnabled == null ? false : this.redoLogEnabled); | |
| map.put("redo_log_vdi", this.redoLogVdi == null ? new VDI("OpaqueRef:NULL") : this.redoLogVdi); | |
| map.put("vswitch_controller", this.vswitchController == null ? "" : this.vswitchController); | |
| map.put("restrictions", this.restrictions == null ? new HashMap<String, String>() : this.restrictions); | |
| map.put("metadata_VDIs", this.metadataVDIs == null ? new LinkedHashSet<VDI>() : this.metadataVDIs); | |
| return map; | |
| } | |
| /** | |
| * Unique identifier/object reference | |
| */ | |
| public String uuid; | |
| /** | |
| * Short name | |
| */ | |
| public String nameLabel; | |
| /** | |
| * Description | |
| */ | |
| public String nameDescription; | |
| /** | |
| * The host that is pool master | |
| */ | |
| public Host master; | |
| /** | |
| * Default SR for VDIs | |
| */ | |
| public SR defaultSR; | |
| /** | |
| * The SR in which VDIs for suspend images are created | |
| */ | |
| public SR suspendImageSR; | |
| /** | |
| * The SR in which VDIs for crash dumps are created | |
| */ | |
| public SR crashDumpSR; | |
| /** | |
| * additional configuration | |
| */ | |
| public Map<String, String> otherConfig; | |
| /** | |
| * true if HA is enabled on the pool, false otherwise | |
| */ | |
| public Boolean haEnabled; | |
| /** | |
| * The current HA configuration | |
| */ | |
| public Map<String, String> haConfiguration; | |
| /** | |
| * HA statefile VDIs in use | |
| */ | |
| public Set<String> haStatefiles; | |
| /** | |
| * Number of host failures to tolerate before the Pool is declared to be overcommitted | |
| */ | |
| public Long haHostFailuresToTolerate; | |
| /** | |
| * 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. | |
| */ | |
| public Long haPlanExistsFor; | |
| /** | |
| * If set to false then operations which would cause the Pool to become overcommitted will be blocked. | |
| */ | |
| public Boolean haAllowOvercommit; | |
| /** | |
| * 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 | |
| */ | |
| public Boolean haOvercommitted; | |
| /** | |
| * Binary blobs associated with this pool | |
| */ | |
| public Map<String, Blob> blobs; | |
| /** | |
| * user-specified tags for categorization purposes | |
| */ | |
| public Set<String> tags; | |
| /** | |
| * gui-specific configuration for pool | |
| */ | |
| public Map<String, String> guiConfig; | |
| /** | |
| * Url for the configured workload balancing host | |
| */ | |
| public String wlbUrl; | |
| /** | |
| * Username for accessing the workload balancing host | |
| */ | |
| public String wlbUsername; | |
| /** | |
| * true if workload balancing is enabled on the pool, false otherwise | |
| */ | |
| public Boolean wlbEnabled; | |
| /** | |
| * true if communication with the WLB server should enforce SSL certificate verification. | |
| */ | |
| public Boolean wlbVerifyCert; | |
| /** | |
| * true a redo-log is to be used other than when HA is enabled, false otherwise | |
| */ | |
| public Boolean redoLogEnabled; | |
| /** | |
| * indicates the VDI to use for the redo-log other than when HA is enabled | |
| */ | |
| public VDI redoLogVdi; | |
| /** | |
| * address of the vswitch controller | |
| */ | |
| public String vswitchController; | |
| /** | |
| * Pool-wide restrictions currently in effect | |
| */ | |
| public Map<String, String> restrictions; | |
| /** | |
| * The set of currently known metadata VDIs for this pool | |
| */ | |
| public Set<VDI> metadataVDIs; | |
| } | |
| /** | |
| * Get a record containing the current state of the given pool. | |
| * | |
| * @return all fields from the object | |
| */ | |
| public Pool.Record getRecord(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_record"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toPoolRecord(result); | |
| } | |
| /** | |
| * Get a reference to the pool instance with the specified UUID. | |
| * | |
| * @param uuid UUID of object to return | |
| * @return reference to the object | |
| */ | |
| public static Pool getByUuid(Connection c, String uuid) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_by_uuid"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(uuid)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toPool(result); | |
| } | |
| /** | |
| * Get the uuid field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getUuid(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_uuid"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the name_label field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getNameLabel(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_name_label"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the name_description field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getNameDescription(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_name_description"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the master field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Host getMaster(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_master"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toHost(result); | |
| } | |
| /** | |
| * Get the default_SR field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public SR getDefaultSR(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_default_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSR(result); | |
| } | |
| /** | |
| * Get the suspend_image_SR field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public SR getSuspendImageSR(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_suspend_image_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSR(result); | |
| } | |
| /** | |
| * Get the crash_dump_SR field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public SR getCrashDumpSR(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_crash_dump_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSR(result); | |
| } | |
| /** | |
| * Get the other_config field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Map<String, String> getOtherConfig(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_other_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringString(result); | |
| } | |
| /** | |
| * Get the ha_enabled field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getHaEnabled(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_enabled"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the ha_configuration field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Map<String, String> getHaConfiguration(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_configuration"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringString(result); | |
| } | |
| /** | |
| * Get the ha_statefiles field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Set<String> getHaStatefiles(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_statefiles"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfString(result); | |
| } | |
| /** | |
| * Get the ha_host_failures_to_tolerate field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Long getHaHostFailuresToTolerate(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_host_failures_to_tolerate"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toLong(result); | |
| } | |
| /** | |
| * Get the ha_plan_exists_for field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Long getHaPlanExistsFor(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_plan_exists_for"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toLong(result); | |
| } | |
| /** | |
| * Get the ha_allow_overcommit field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getHaAllowOvercommit(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_allow_overcommit"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the ha_overcommitted field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getHaOvercommitted(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_ha_overcommitted"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the blobs field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Map<String, Blob> getBlobs(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_blobs"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringBlob(result); | |
| } | |
| /** | |
| * Get the tags field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Set<String> getTags(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_tags"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfString(result); | |
| } | |
| /** | |
| * Get the gui_config field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Map<String, String> getGuiConfig(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_gui_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringString(result); | |
| } | |
| /** | |
| * Get the wlb_url field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getWlbUrl(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_wlb_url"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the wlb_username field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getWlbUsername(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_wlb_username"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the wlb_enabled field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getWlbEnabled(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_wlb_enabled"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the wlb_verify_cert field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getWlbVerifyCert(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_wlb_verify_cert"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the redo_log_enabled field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Boolean getRedoLogEnabled(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_redo_log_enabled"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Get the redo_log_vdi field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public VDI getRedoLogVdi(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_redo_log_vdi"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toVDI(result); | |
| } | |
| /** | |
| * Get the vswitch_controller field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public String getVswitchController(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_vswitch_controller"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Get the restrictions field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Map<String, String> getRestrictions(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_restrictions"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringString(result); | |
| } | |
| /** | |
| * Get the metadata_VDIs field of the given pool. | |
| * | |
| * @return value of the field | |
| */ | |
| public Set<VDI> getMetadataVDIs(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_metadata_VDIs"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfVDI(result); | |
| } | |
| /** | |
| * Set the name_label field of the given pool. | |
| * | |
| * @param nameLabel New value to set | |
| */ | |
| public void setNameLabel(Connection c, String nameLabel) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_name_label"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(nameLabel)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the name_description field of the given pool. | |
| * | |
| * @param nameDescription New value to set | |
| */ | |
| public void setNameDescription(Connection c, String nameDescription) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_name_description"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(nameDescription)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the default_SR field of the given pool. | |
| * | |
| * @param defaultSR New value to set | |
| */ | |
| public void setDefaultSR(Connection c, SR defaultSR) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_default_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(defaultSR)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the suspend_image_SR field of the given pool. | |
| * | |
| * @param suspendImageSR New value to set | |
| */ | |
| public void setSuspendImageSR(Connection c, SR suspendImageSR) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_suspend_image_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(suspendImageSR)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the crash_dump_SR field of the given pool. | |
| * | |
| * @param crashDumpSR New value to set | |
| */ | |
| public void setCrashDumpSR(Connection c, SR crashDumpSR) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_crash_dump_SR"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(crashDumpSR)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the other_config field of the given pool. | |
| * | |
| * @param otherConfig New value to set | |
| */ | |
| public void setOtherConfig(Connection c, Map<String, String> otherConfig) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_other_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(otherConfig)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Add the given key-value pair to the other_config field of the given pool. | |
| * | |
| * @param key Key to add | |
| * @param value Value to add | |
| */ | |
| public void addToOtherConfig(Connection c, String key, String value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.add_to_other_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(key), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * 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. | |
| * | |
| * @param key Key to remove | |
| */ | |
| public void removeFromOtherConfig(Connection c, String key) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.remove_from_other_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(key)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the ha_allow_overcommit field of the given pool. | |
| * | |
| * @param haAllowOvercommit New value to set | |
| */ | |
| public void setHaAllowOvercommit(Connection c, Boolean haAllowOvercommit) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_ha_allow_overcommit"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(haAllowOvercommit)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the tags field of the given pool. | |
| * | |
| * @param tags New value to set | |
| */ | |
| public void setTags(Connection c, Set<String> tags) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_tags"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(tags)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Add the given value to the tags field of the given pool. If the value is already in that Set, then do nothing. | |
| * | |
| * @param value New value to add | |
| */ | |
| public void addTags(Connection c, String value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.add_tags"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Remove the given value from the tags field of the given pool. If the value is not in that Set, then do nothing. | |
| * | |
| * @param value Value to remove | |
| */ | |
| public void removeTags(Connection c, String value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.remove_tags"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the gui_config field of the given pool. | |
| * | |
| * @param guiConfig New value to set | |
| */ | |
| public void setGuiConfig(Connection c, Map<String, String> guiConfig) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_gui_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(guiConfig)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Add the given key-value pair to the gui_config field of the given pool. | |
| * | |
| * @param key Key to add | |
| * @param value Value to add | |
| */ | |
| public void addToGuiConfig(Connection c, String key, String value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.add_to_gui_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(key), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * 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. | |
| * | |
| * @param key Key to remove | |
| */ | |
| public void removeFromGuiConfig(Connection c, String key) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.remove_from_gui_config"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(key)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the wlb_enabled field of the given pool. | |
| * | |
| * @param wlbEnabled New value to set | |
| */ | |
| public void setWlbEnabled(Connection c, Boolean wlbEnabled) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_wlb_enabled"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(wlbEnabled)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the wlb_verify_cert field of the given pool. | |
| * | |
| * @param wlbVerifyCert New value to set | |
| */ | |
| public void setWlbVerifyCert(Connection c, Boolean wlbVerifyCert) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_wlb_verify_cert"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(wlbVerifyCert)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct host to join a new pool | |
| * | |
| * @param masterAddress The hostname of the master of the pool to join | |
| * @param masterUsername The username of the master (for initial authentication) | |
| * @param masterPassword The password for the master (for initial authentication) | |
| * @return Task | |
| */ | |
| public static Task joinAsync(Connection c, String masterAddress, String masterUsername, String masterPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.JoiningHostCannotContainSharedSrs { | |
| String method_call = "Async.pool.join"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(masterAddress), Marshalling.toXMLRPC(masterUsername), Marshalling.toXMLRPC(masterPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Instruct host to join a new pool | |
| * | |
| * @param masterAddress The hostname of the master of the pool to join | |
| * @param masterUsername The username of the master (for initial authentication) | |
| * @param masterPassword The password for the master (for initial authentication) | |
| */ | |
| public static void join(Connection c, String masterAddress, String masterUsername, String masterPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.JoiningHostCannotContainSharedSrs { | |
| String method_call = "pool.join"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(masterAddress), Marshalling.toXMLRPC(masterUsername), Marshalling.toXMLRPC(masterPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct host to join a new pool | |
| * | |
| * @param masterAddress The hostname of the master of the pool to join | |
| * @param masterUsername The username of the master (for initial authentication) | |
| * @param masterPassword The password for the master (for initial authentication) | |
| * @return Task | |
| */ | |
| public static Task joinForceAsync(Connection c, String masterAddress, String masterUsername, String masterPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.join_force"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(masterAddress), Marshalling.toXMLRPC(masterUsername), Marshalling.toXMLRPC(masterPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Instruct host to join a new pool | |
| * | |
| * @param masterAddress The hostname of the master of the pool to join | |
| * @param masterUsername The username of the master (for initial authentication) | |
| * @param masterPassword The password for the master (for initial authentication) | |
| */ | |
| public static void joinForce(Connection c, String masterAddress, String masterUsername, String masterPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.join_force"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(masterAddress), Marshalling.toXMLRPC(masterUsername), Marshalling.toXMLRPC(masterPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct a pool master to eject a host from the pool | |
| * | |
| * @param host The host to eject | |
| * @return Task | |
| */ | |
| public static Task ejectAsync(Connection c, Host host) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.eject"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Instruct a pool master to eject a host from the pool | |
| * | |
| * @param host The host to eject | |
| */ | |
| public static void eject(Connection c, Host host) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.eject"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct host that's currently a slave to transition to being master | |
| * | |
| */ | |
| public static void emergencyTransitionToMaster(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.emergency_transition_to_master"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct a slave already in a pool that the master has changed | |
| * | |
| * @param masterAddress The hostname of the master | |
| */ | |
| public static void emergencyResetMaster(Connection c, String masterAddress) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.emergency_reset_master"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(masterAddress)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M. | |
| * | |
| * @return Task | |
| */ | |
| public static Task recoverSlavesAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.recover_slaves"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Instruct a pool master, M, to try and contact its slaves and, if slaves are in emergency mode, reset their master address to M. | |
| * | |
| * @return list of hosts whose master address were succesfully reset | |
| */ | |
| public static Set<Host> recoverSlaves(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.recover_slaves"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfHost(result); | |
| } | |
| /** | |
| * 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. | |
| * | |
| * @param device physical interface on which to create the VLAN interface | |
| * @param network network to which this interface should be connected | |
| * @param VLAN VLAN tag for the new interface | |
| * @return Task | |
| */ | |
| public static Task createVLANAsync(Connection c, String device, Network network, Long VLAN) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.VlanTagInvalid { | |
| String method_call = "Async.pool.create_VLAN"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(device), Marshalling.toXMLRPC(network), Marshalling.toXMLRPC(VLAN)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * 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. | |
| * | |
| * @param device physical interface on which to create the VLAN interface | |
| * @param network network to which this interface should be connected | |
| * @param VLAN VLAN tag for the new interface | |
| * @return The references of the created PIF objects | |
| */ | |
| public static Set<PIF> createVLAN(Connection c, String device, Network network, Long VLAN) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.VlanTagInvalid { | |
| String method_call = "pool.create_VLAN"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(device), Marshalling.toXMLRPC(network), Marshalling.toXMLRPC(VLAN)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfPIF(result); | |
| } | |
| /** | |
| * Create a pool-wide VLAN by taking the PIF. | |
| * | |
| * @param pif physical interface on any particular host, that identifies the PIF on which to create the (pool-wide) VLAN interface | |
| * @param network network to which this interface should be connected | |
| * @param VLAN VLAN tag for the new interface | |
| * @return Task | |
| */ | |
| public static Task createVLANFromPIFAsync(Connection c, PIF pif, Network network, Long VLAN) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.VlanTagInvalid { | |
| String method_call = "Async.pool.create_VLAN_from_PIF"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(pif), Marshalling.toXMLRPC(network), Marshalling.toXMLRPC(VLAN)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Create a pool-wide VLAN by taking the PIF. | |
| * | |
| * @param pif physical interface on any particular host, that identifies the PIF on which to create the (pool-wide) VLAN interface | |
| * @param network network to which this interface should be connected | |
| * @param VLAN VLAN tag for the new interface | |
| * @return The references of the created PIF objects | |
| */ | |
| public static Set<PIF> createVLANFromPIF(Connection c, PIF pif, Network network, Long VLAN) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException, | |
| Types.VlanTagInvalid { | |
| String method_call = "pool.create_VLAN_from_PIF"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(pif), Marshalling.toXMLRPC(network), Marshalling.toXMLRPC(VLAN)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfPIF(result); | |
| } | |
| /** | |
| * Turn on High Availability mode | |
| * | |
| * @param heartbeatSrs Set of SRs to use for storage heartbeating. | |
| * @param configuration Detailed HA configuration to apply | |
| * @return Task | |
| */ | |
| public static Task enableHaAsync(Connection c, Set<SR> heartbeatSrs, Map<String, String> configuration) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.enable_ha"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(heartbeatSrs), Marshalling.toXMLRPC(configuration)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Turn on High Availability mode | |
| * | |
| * @param heartbeatSrs Set of SRs to use for storage heartbeating. | |
| * @param configuration Detailed HA configuration to apply | |
| */ | |
| public static void enableHa(Connection c, Set<SR> heartbeatSrs, Map<String, String> configuration) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.enable_ha"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(heartbeatSrs), Marshalling.toXMLRPC(configuration)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Turn off High Availability mode | |
| * | |
| * @return Task | |
| */ | |
| public static Task disableHaAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.disable_ha"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Turn off High Availability mode | |
| * | |
| */ | |
| public static void disableHa(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.disable_ha"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Forcibly synchronise the database now | |
| * | |
| * @return Task | |
| */ | |
| public static Task syncDatabaseAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.sync_database"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Forcibly synchronise the database now | |
| * | |
| */ | |
| public static void syncDatabase(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.sync_database"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Perform an orderly handover of the role of master to the referenced host. | |
| * | |
| * @param host The host who should become the new master | |
| * @return Task | |
| */ | |
| public static Task designateNewMasterAsync(Connection c, Host host) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.designate_new_master"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Perform an orderly handover of the role of master to the referenced host. | |
| * | |
| * @param host The host who should become the new master | |
| */ | |
| public static void designateNewMaster(Connection c, Host host) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.designate_new_master"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * 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 | |
| * | |
| * @param seconds The number of seconds to block the restart thread for | |
| */ | |
| public static void haPreventRestartsFor(Connection c, Long seconds) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.ha_prevent_restarts_for"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(seconds)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Returns true if a VM failover plan exists for up to 'n' host failures | |
| * | |
| * @param n The number of host failures to plan for | |
| * @return true if a failover plan exists for the supplied number of host failures | |
| */ | |
| public static Boolean haFailoverPlanExists(Connection c, Long n) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.ha_failover_plan_exists"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(n)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBoolean(result); | |
| } | |
| /** | |
| * Returns the maximum number of host failures we could tolerate before we would be unable to restart configured VMs | |
| * | |
| * @return maximum value for ha_host_failures_to_tolerate given current configuration | |
| */ | |
| public static Long haComputeMaxHostFailuresToTolerate(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.ha_compute_max_host_failures_to_tolerate"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toLong(result); | |
| } | |
| /** | |
| * Returns the maximum number of host failures we could tolerate before we would be unable to restart the provided VMs | |
| * | |
| * @param configuration Map of protected VM reference to restart priority | |
| * @return maximum value for ha_host_failures_to_tolerate given provided configuration | |
| */ | |
| public static Long haComputeHypotheticalMaxHostFailuresToTolerate(Connection c, Map<VM, String> configuration) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.ha_compute_hypothetical_max_host_failures_to_tolerate"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(configuration)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toLong(result); | |
| } | |
| /** | |
| * Return a VM failover plan assuming a given subset of hosts fail | |
| * | |
| * @param failedHosts The set of hosts to assume have failed | |
| * @param failedVms The set of VMs to restart | |
| * @return VM failover plan: a map of VM to host to restart the host on | |
| */ | |
| public static Map<VM, Map<String, String>> haComputeVmFailoverPlan(Connection c, Set<Host> failedHosts, Set<VM> failedVms) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.ha_compute_vm_failover_plan"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(failedHosts), Marshalling.toXMLRPC(failedVms)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfVMMapOfStringString(result); | |
| } | |
| /** | |
| * Set the maximum number of host failures to consider in the HA VM restart planner | |
| * | |
| * @param value New number of host failures to consider | |
| * @return Task | |
| */ | |
| public Task setHaHostFailuresToTolerateAsync(Connection c, Long value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.set_ha_host_failures_to_tolerate"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Set the maximum number of host failures to consider in the HA VM restart planner | |
| * | |
| * @param value New number of host failures to consider | |
| */ | |
| public void setHaHostFailuresToTolerate(Connection c, Long value) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_ha_host_failures_to_tolerate"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(value)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Create a placeholder for a named binary blob of data that is associated with this pool | |
| * | |
| * @param name The name associated with the blob | |
| * @param mimeType The mime type for the data. Empty string translates to application/octet-stream | |
| * @param _public True if the blob should be publicly available | |
| * @return Task | |
| */ | |
| public Task createNewBlobAsync(Connection c, String name, String mimeType, Boolean _public) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.create_new_blob"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(mimeType), Marshalling.toXMLRPC(_public)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Create a placeholder for a named binary blob of data that is associated with this pool | |
| * | |
| * @param name The name associated with the blob | |
| * @param mimeType The mime type for the data. Empty string translates to application/octet-stream | |
| * @param _public True if the blob should be publicly available | |
| * @return The reference of the blob, needed for populating its data | |
| */ | |
| public Blob createNewBlob(Connection c, String name, String mimeType, Boolean _public) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.create_new_blob"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(mimeType), Marshalling.toXMLRPC(_public)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toBlob(result); | |
| } | |
| /** | |
| * This call enables external authentication on all the hosts of the pool | |
| * | |
| * @param config A list of key-values containing the configuration data | |
| * @param serviceName The name of the service | |
| * @param authType The type of authentication (e.g. AD for Active Directory) | |
| */ | |
| public void enableExternalAuth(Connection c, Map<String, String> config, String serviceName, String authType) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.enable_external_auth"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(config), Marshalling.toXMLRPC(serviceName), Marshalling.toXMLRPC(authType)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * This call disables external authentication on all the hosts of the pool | |
| * | |
| * @param config Optional parameters as a list of key-values containing the configuration data | |
| */ | |
| public void disableExternalAuth(Connection c, Map<String, String> config) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.disable_external_auth"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(config)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * This call asynchronously detects if the external authentication configuration in any slave is different from that in the master and raises appropriate alerts | |
| * | |
| */ | |
| public void detectNonhomogeneousExternalAuth(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.detect_nonhomogeneous_external_auth"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Initializes workload balancing monitoring on this pool with the specified wlb server | |
| * | |
| * @param wlbUrl The ip address and port to use when accessing the wlb server | |
| * @param wlbUsername The username used to authenticate with the wlb server | |
| * @param wlbPassword The password used to authenticate with the wlb server | |
| * @param xenserverUsername The usernamed used by the wlb server to authenticate with the xenserver | |
| * @param xenserverPassword The password used by the wlb server to authenticate with the xenserver | |
| * @return Task | |
| */ | |
| public static Task initializeWlbAsync(Connection c, String wlbUrl, String wlbUsername, String wlbPassword, String xenserverUsername, String xenserverPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.initialize_wlb"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(wlbUrl), Marshalling.toXMLRPC(wlbUsername), Marshalling.toXMLRPC(wlbPassword), Marshalling.toXMLRPC(xenserverUsername), Marshalling.toXMLRPC(xenserverPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Initializes workload balancing monitoring on this pool with the specified wlb server | |
| * | |
| * @param wlbUrl The ip address and port to use when accessing the wlb server | |
| * @param wlbUsername The username used to authenticate with the wlb server | |
| * @param wlbPassword The password used to authenticate with the wlb server | |
| * @param xenserverUsername The usernamed used by the wlb server to authenticate with the xenserver | |
| * @param xenserverPassword The password used by the wlb server to authenticate with the xenserver | |
| */ | |
| public static void initializeWlb(Connection c, String wlbUrl, String wlbUsername, String wlbPassword, String xenserverUsername, String xenserverPassword) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.initialize_wlb"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(wlbUrl), Marshalling.toXMLRPC(wlbUsername), Marshalling.toXMLRPC(wlbPassword), Marshalling.toXMLRPC(xenserverUsername), Marshalling.toXMLRPC(xenserverPassword)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Permanently deconfigures workload balancing monitoring on this pool | |
| * | |
| * @return Task | |
| */ | |
| public static Task deconfigureWlbAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.deconfigure_wlb"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Permanently deconfigures workload balancing monitoring on this pool | |
| * | |
| */ | |
| public static void deconfigureWlb(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.deconfigure_wlb"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Sets the pool optimization criteria for the workload balancing server | |
| * | |
| * @param config The configuration to use in optimizing this pool | |
| * @return Task | |
| */ | |
| public static Task sendWlbConfigurationAsync(Connection c, Map<String, String> config) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.send_wlb_configuration"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(config)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Sets the pool optimization criteria for the workload balancing server | |
| * | |
| * @param config The configuration to use in optimizing this pool | |
| */ | |
| public static void sendWlbConfiguration(Connection c, Map<String, String> config) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.send_wlb_configuration"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(config)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Retrieves the pool optimization criteria from the workload balancing server | |
| * | |
| * @return Task | |
| */ | |
| public static Task retrieveWlbConfigurationAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.retrieve_wlb_configuration"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Retrieves the pool optimization criteria from the workload balancing server | |
| * | |
| * @return The configuration used in optimizing this pool | |
| */ | |
| public static Map<String, String> retrieveWlbConfiguration(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.retrieve_wlb_configuration"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfStringString(result); | |
| } | |
| /** | |
| * Retrieves vm migrate recommendations for the pool from the workload balancing server | |
| * | |
| * @return Task | |
| */ | |
| public static Task retrieveWlbRecommendationsAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.retrieve_wlb_recommendations"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Retrieves vm migrate recommendations for the pool from the workload balancing server | |
| * | |
| * @return The list of vm migration recommendations | |
| */ | |
| public static Map<VM, Set<String>> retrieveWlbRecommendations(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.retrieve_wlb_recommendations"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfVMSetOfString(result); | |
| } | |
| /** | |
| * Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer. | |
| * | |
| * @param host | |
| * @param port | |
| * @param body | |
| * @return Task | |
| */ | |
| public static Task sendTestPostAsync(Connection c, String host, Long port, String body) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.send_test_post"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host), Marshalling.toXMLRPC(port), Marshalling.toXMLRPC(body)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Send the given body to the given host and port, using HTTPS, and print the response. This is used for debugging the SSL layer. | |
| * | |
| * @param host | |
| * @param port | |
| * @param body | |
| * @return The response | |
| */ | |
| public static String sendTestPost(Connection c, String host, Long port, String body) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.send_test_post"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(host), Marshalling.toXMLRPC(port), Marshalling.toXMLRPC(body)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * Install an SSL certificate pool-wide. | |
| * | |
| * @param name A name to give the certificate | |
| * @param cert The certificate | |
| * @return Task | |
| */ | |
| public static Task certificateInstallAsync(Connection c, String name, String cert) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.certificate_install"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(cert)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Install an SSL certificate pool-wide. | |
| * | |
| * @param name A name to give the certificate | |
| * @param cert The certificate | |
| */ | |
| public static void certificateInstall(Connection c, String name, String cert) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.certificate_install"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(cert)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Remove an SSL certificate. | |
| * | |
| * @param name The certificate name | |
| * @return Task | |
| */ | |
| public static Task certificateUninstallAsync(Connection c, String name) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.certificate_uninstall"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Remove an SSL certificate. | |
| * | |
| * @param name The certificate name | |
| */ | |
| public static void certificateUninstall(Connection c, String name) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.certificate_uninstall"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * List all installed SSL certificates. | |
| * | |
| * @return Task | |
| */ | |
| public static Task certificateListAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.certificate_list"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * List all installed SSL certificates. | |
| * | |
| * @return All installed certificates | |
| */ | |
| public static Set<String> certificateList(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.certificate_list"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfString(result); | |
| } | |
| /** | |
| * Install an SSL certificate revocation list, pool-wide. | |
| * | |
| * @param name A name to give the CRL | |
| * @param cert The CRL | |
| * @return Task | |
| */ | |
| public static Task crlInstallAsync(Connection c, String name, String cert) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.crl_install"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(cert)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Install an SSL certificate revocation list, pool-wide. | |
| * | |
| * @param name A name to give the CRL | |
| * @param cert The CRL | |
| */ | |
| public static void crlInstall(Connection c, String name, String cert) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.crl_install"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name), Marshalling.toXMLRPC(cert)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Remove an SSL certificate revocation list. | |
| * | |
| * @param name The CRL name | |
| * @return Task | |
| */ | |
| public static Task crlUninstallAsync(Connection c, String name) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.crl_uninstall"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Remove an SSL certificate revocation list. | |
| * | |
| * @param name The CRL name | |
| */ | |
| public static void crlUninstall(Connection c, String name) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.crl_uninstall"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(name)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * List all installed SSL certificate revocation lists. | |
| * | |
| * @return Task | |
| */ | |
| public static Task crlListAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.crl_list"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * List all installed SSL certificate revocation lists. | |
| * | |
| * @return All installed CRLs | |
| */ | |
| public static Set<String> crlList(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.crl_list"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfString(result); | |
| } | |
| /** | |
| * Sync SSL certificates from master to slaves. | |
| * | |
| * @return Task | |
| */ | |
| public static Task certificateSyncAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.certificate_sync"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Sync SSL certificates from master to slaves. | |
| * | |
| */ | |
| public static void certificateSync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.certificate_sync"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Enable the redo log on the given SR and start using it, unless HA is enabled. | |
| * | |
| * @param sr SR to hold the redo log. | |
| * @return Task | |
| */ | |
| public static Task enableRedoLogAsync(Connection c, SR sr) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.enable_redo_log"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(sr)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Enable the redo log on the given SR and start using it, unless HA is enabled. | |
| * | |
| * @param sr SR to hold the redo log. | |
| */ | |
| public static void enableRedoLog(Connection c, SR sr) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.enable_redo_log"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(sr)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Disable the redo log if in use, unless HA is enabled. | |
| * | |
| * @return Task | |
| */ | |
| public static Task disableRedoLogAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.disable_redo_log"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Disable the redo log if in use, unless HA is enabled. | |
| * | |
| */ | |
| public static void disableRedoLog(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.disable_redo_log"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Set the IP address of the vswitch controller. | |
| * | |
| * @param address IP address of the vswitch controller. | |
| * @return Task | |
| */ | |
| public static Task setVswitchControllerAsync(Connection c, String address) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.set_vswitch_controller"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(address)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * Set the IP address of the vswitch controller. | |
| * | |
| * @param address IP address of the vswitch controller. | |
| */ | |
| public static void setVswitchController(Connection c, String address) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.set_vswitch_controller"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(address)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * This call tests if a location is valid | |
| * | |
| * @param config Location config settings to test | |
| * @return An XMLRPC result | |
| */ | |
| public String testArchiveTarget(Connection c, Map<String, String> config) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.test_archive_target"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref), Marshalling.toXMLRPC(config)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toString(result); | |
| } | |
| /** | |
| * This call attempts to enable pool-wide local storage caching | |
| * | |
| * @return Task | |
| */ | |
| public Task enableLocalStorageCachingAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.enable_local_storage_caching"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * This call attempts to enable pool-wide local storage caching | |
| * | |
| */ | |
| public void enableLocalStorageCaching(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.enable_local_storage_caching"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * This call disables pool-wide local storage caching | |
| * | |
| * @return Task | |
| */ | |
| public Task disableLocalStorageCachingAsync(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "Async.pool.disable_local_storage_caching"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toTask(result); | |
| } | |
| /** | |
| * This call disables pool-wide local storage caching | |
| * | |
| */ | |
| public void disableLocalStorageCaching(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.disable_local_storage_caching"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session), Marshalling.toXMLRPC(this.ref)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| return; | |
| } | |
| /** | |
| * Return a list of all the pools known to the system. | |
| * | |
| * @return references to all objects | |
| */ | |
| public static Set<Pool> getAll(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_all"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toSetOfPool(result); | |
| } | |
| /** | |
| * Return a map of pool references to pool records for all pools known to the system. | |
| * | |
| * @return records of all objects | |
| */ | |
| public static Map<Pool, Pool.Record> getAllRecords(Connection c) throws | |
| BadServerResponse, | |
| XenAPIException, | |
| XmlRpcException { | |
| String method_call = "pool.get_all_records"; | |
| String session = c.getSessionReference(); | |
| Object[] method_params = {Marshalling.toXMLRPC(session)}; | |
| Map response = c.dispatch(method_call, method_params); | |
| Object result = response.get("Value"); | |
| return Types.toMapOfPoolPoolRecord(result); | |
| } | |
| } |