com.xensource.xenapi
Class VMAppliance

java.lang.Object
  extended by com.xensource.xenapi.XenAPIObject
      extended by com.xensource.xenapi.VMAppliance

public class VMAppliance
extends XenAPIObject

VM appliance


Nested Class Summary
static class VMAppliance.Record
          Represents all the fields in a VMAppliance
 
Field Summary
protected  String ref
          The XenAPI reference (OpaqueRef) to this object.
 
Method Summary
 void assertCanBeRecovered(Connection c, Session sessionTo)
          Assert whether all SRs required to recover this VM appliance are available.
 Task assertCanBeRecoveredAsync(Connection c, Session sessionTo)
          Assert whether all SRs required to recover this VM appliance are available.
 void cleanShutdown(Connection c)
          Perform a clean shutdown of all the VMs in the appliance
 Task cleanShutdownAsync(Connection c)
          Perform a clean shutdown of all the VMs in the appliance
static VMAppliance create(Connection c, VMAppliance.Record record)
          Create a new VM_appliance instance, and return its handle.
static Task createAsync(Connection c, VMAppliance.Record record)
          Create a new VM_appliance instance, and return its handle.
 void destroy(Connection c)
          Destroy the specified VM_appliance instance.
 Task destroyAsync(Connection c)
          Destroy the specified VM_appliance instance.
 boolean equals(Object obj)
          If obj is a VMAppliance, compares XenAPI references for equality.
static Set<VMAppliance> getAll(Connection c)
          Return a list of all the VM_appliances known to the system.
 Set<Types.VmApplianceOperation> getAllowedOperations(Connection c)
          Get the allowed_operations field of the given VM_appliance.
static Map<VMAppliance,VMAppliance.Record> getAllRecords(Connection c)
          Return a map of VM_appliance references to VM_appliance records for all VM_appliances known to the system.
static Set<VMAppliance> getByNameLabel(Connection c, String label)
          Get all the VM_appliance instances with the given label.
static VMAppliance getByUuid(Connection c, String uuid)
          Get a reference to the VM_appliance instance with the specified UUID.
 Map<String,Types.VmApplianceOperation> getCurrentOperations(Connection c)
          Get the current_operations field of the given VM_appliance.
 String getNameDescription(Connection c)
          Get the name/description field of the given VM_appliance.
 String getNameLabel(Connection c)
          Get the name/label field of the given VM_appliance.
 VMAppliance.Record getRecord(Connection c)
          Get a record containing the current state of the given VM_appliance.
 String getUuid(Connection c)
          Get the uuid field of the given VM_appliance.
 Set<VM> getVMs(Connection c)
          Get the VMs field of the given VM_appliance.
 void hardShutdown(Connection c)
          Perform a hard shutdown of all the VMs in the appliance
 Task hardShutdownAsync(Connection c)
          Perform a hard shutdown of all the VMs in the appliance
 int hashCode()
           
 void recover(Connection c, Session sessionTo, Boolean force)
          Recover the VM appliance
 Task recoverAsync(Connection c, Session sessionTo, Boolean force)
          Recover the VM appliance
 void setNameDescription(Connection c, String description)
          Set the name/description field of the given VM_appliance.
 void setNameLabel(Connection c, String label)
          Set the name/label field of the given VM_appliance.
 void shutdown(Connection c)
          For each VM in the appliance, try to shut it down cleanly.
 Task shutdownAsync(Connection c)
          For each VM in the appliance, try to shut it down cleanly.
 void start(Connection c, Boolean paused)
          Start all VMs in the appliance
 Task startAsync(Connection c, Boolean paused)
          Start all VMs in the appliance
 String toWireString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ref

protected final String ref
The XenAPI reference (OpaqueRef) to this object.

Method Detail

toWireString

public String toWireString()
Specified by:
toWireString in class XenAPIObject
Returns:
The XenAPI reference (OpaqueRef) to this object.

equals

public boolean equals(Object obj)
If obj is a VMAppliance, compares XenAPI references for equality.

Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

getRecord

public VMAppliance.Record getRecord(Connection c)
                             throws Types.BadServerResponse,
                                    Types.XenAPIException,
                                    org.apache.xmlrpc.XmlRpcException
Get a record containing the current state of the given VM_appliance.

Returns:
all fields from the object
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getByUuid

public static VMAppliance getByUuid(Connection c,
                                    String uuid)
                             throws Types.BadServerResponse,
                                    Types.XenAPIException,
                                    org.apache.xmlrpc.XmlRpcException
Get a reference to the VM_appliance instance with the specified UUID.

Parameters:
uuid - UUID of object to return
Returns:
reference to the object
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

createAsync

public static Task createAsync(Connection c,
                               VMAppliance.Record record)
                        throws Types.BadServerResponse,
                               Types.XenAPIException,
                               org.apache.xmlrpc.XmlRpcException
Create a new VM_appliance instance, and return its handle.

Parameters:
record - All constructor arguments
Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

create

public static VMAppliance create(Connection c,
                                 VMAppliance.Record record)
                          throws Types.BadServerResponse,
                                 Types.XenAPIException,
                                 org.apache.xmlrpc.XmlRpcException
Create a new VM_appliance instance, and return its handle.

Parameters:
record - All constructor arguments
Returns:
reference to the newly created object
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

destroyAsync

public Task destroyAsync(Connection c)
                  throws Types.BadServerResponse,
                         Types.XenAPIException,
                         org.apache.xmlrpc.XmlRpcException
Destroy the specified VM_appliance instance.

Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

destroy

public void destroy(Connection c)
             throws Types.BadServerResponse,
                    Types.XenAPIException,
                    org.apache.xmlrpc.XmlRpcException
Destroy the specified VM_appliance instance.

Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getByNameLabel

public static Set<VMAppliance> getByNameLabel(Connection c,
                                              String label)
                                       throws Types.BadServerResponse,
                                              Types.XenAPIException,
                                              org.apache.xmlrpc.XmlRpcException
Get all the VM_appliance instances with the given label.

Parameters:
label - label of object to return
Returns:
references to objects with matching names
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getUuid

public String getUuid(Connection c)
               throws Types.BadServerResponse,
                      Types.XenAPIException,
                      org.apache.xmlrpc.XmlRpcException
Get the uuid field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getNameLabel

public String getNameLabel(Connection c)
                    throws Types.BadServerResponse,
                           Types.XenAPIException,
                           org.apache.xmlrpc.XmlRpcException
Get the name/label field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getNameDescription

public String getNameDescription(Connection c)
                          throws Types.BadServerResponse,
                                 Types.XenAPIException,
                                 org.apache.xmlrpc.XmlRpcException
Get the name/description field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getAllowedOperations

public Set<Types.VmApplianceOperation> getAllowedOperations(Connection c)
                                                     throws Types.BadServerResponse,
                                                            Types.XenAPIException,
                                                            org.apache.xmlrpc.XmlRpcException
Get the allowed_operations field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getCurrentOperations

public Map<String,Types.VmApplianceOperation> getCurrentOperations(Connection c)
                                                            throws Types.BadServerResponse,
                                                                   Types.XenAPIException,
                                                                   org.apache.xmlrpc.XmlRpcException
Get the current_operations field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getVMs

public Set<VM> getVMs(Connection c)
               throws Types.BadServerResponse,
                      Types.XenAPIException,
                      org.apache.xmlrpc.XmlRpcException
Get the VMs field of the given VM_appliance.

Returns:
value of the field
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

setNameLabel

public void setNameLabel(Connection c,
                         String label)
                  throws Types.BadServerResponse,
                         Types.XenAPIException,
                         org.apache.xmlrpc.XmlRpcException
Set the name/label field of the given VM_appliance.

Parameters:
label - New value to set
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

setNameDescription

public void setNameDescription(Connection c,
                               String description)
                        throws Types.BadServerResponse,
                               Types.XenAPIException,
                               org.apache.xmlrpc.XmlRpcException
Set the name/description field of the given VM_appliance.

Parameters:
description - New value to set
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

startAsync

public Task startAsync(Connection c,
                       Boolean paused)
                throws Types.BadServerResponse,
                       Types.XenAPIException,
                       org.apache.xmlrpc.XmlRpcException,
                       Types.OperationPartiallyFailed
Start all VMs in the appliance

Parameters:
paused - Instantiate all VMs belonging to this appliance in paused state if set to true.
Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

start

public void start(Connection c,
                  Boolean paused)
           throws Types.BadServerResponse,
                  Types.XenAPIException,
                  org.apache.xmlrpc.XmlRpcException,
                  Types.OperationPartiallyFailed
Start all VMs in the appliance

Parameters:
paused - Instantiate all VMs belonging to this appliance in paused state if set to true.
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

cleanShutdownAsync

public Task cleanShutdownAsync(Connection c)
                        throws Types.BadServerResponse,
                               Types.XenAPIException,
                               org.apache.xmlrpc.XmlRpcException,
                               Types.OperationPartiallyFailed
Perform a clean shutdown of all the VMs in the appliance

Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

cleanShutdown

public void cleanShutdown(Connection c)
                   throws Types.BadServerResponse,
                          Types.XenAPIException,
                          org.apache.xmlrpc.XmlRpcException,
                          Types.OperationPartiallyFailed
Perform a clean shutdown of all the VMs in the appliance

Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

hardShutdownAsync

public Task hardShutdownAsync(Connection c)
                       throws Types.BadServerResponse,
                              Types.XenAPIException,
                              org.apache.xmlrpc.XmlRpcException,
                              Types.OperationPartiallyFailed
Perform a hard shutdown of all the VMs in the appliance

Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

hardShutdown

public void hardShutdown(Connection c)
                  throws Types.BadServerResponse,
                         Types.XenAPIException,
                         org.apache.xmlrpc.XmlRpcException,
                         Types.OperationPartiallyFailed
Perform a hard shutdown of all the VMs in the appliance

Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

shutdownAsync

public Task shutdownAsync(Connection c)
                   throws Types.BadServerResponse,
                          Types.XenAPIException,
                          org.apache.xmlrpc.XmlRpcException,
                          Types.OperationPartiallyFailed
For each VM in the appliance, try to shut it down cleanly. If this fails, perform a hard shutdown of the VM.

Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

shutdown

public void shutdown(Connection c)
              throws Types.BadServerResponse,
                     Types.XenAPIException,
                     org.apache.xmlrpc.XmlRpcException,
                     Types.OperationPartiallyFailed
For each VM in the appliance, try to shut it down cleanly. If this fails, perform a hard shutdown of the VM.

Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.OperationPartiallyFailed

assertCanBeRecoveredAsync

public Task assertCanBeRecoveredAsync(Connection c,
                                      Session sessionTo)
                               throws Types.BadServerResponse,
                                      Types.XenAPIException,
                                      org.apache.xmlrpc.XmlRpcException,
                                      Types.VmRequiresSr
Assert whether all SRs required to recover this VM appliance are available.

Parameters:
sessionTo - The session to which the VM appliance is to be recovered.
Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.VmRequiresSr

assertCanBeRecovered

public void assertCanBeRecovered(Connection c,
                                 Session sessionTo)
                          throws Types.BadServerResponse,
                                 Types.XenAPIException,
                                 org.apache.xmlrpc.XmlRpcException,
                                 Types.VmRequiresSr
Assert whether all SRs required to recover this VM appliance are available.

Parameters:
sessionTo - The session to which the VM appliance is to be recovered.
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.VmRequiresSr

recoverAsync

public Task recoverAsync(Connection c,
                         Session sessionTo,
                         Boolean force)
                  throws Types.BadServerResponse,
                         Types.XenAPIException,
                         org.apache.xmlrpc.XmlRpcException,
                         Types.VmRequiresSr
Recover the VM appliance

Parameters:
sessionTo - The session to which the VM appliance is to be recovered.
force - Whether the VMs should replace newer versions of themselves.
Returns:
Task
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.VmRequiresSr

recover

public void recover(Connection c,
                    Session sessionTo,
                    Boolean force)
             throws Types.BadServerResponse,
                    Types.XenAPIException,
                    org.apache.xmlrpc.XmlRpcException,
                    Types.VmRequiresSr
Recover the VM appliance

Parameters:
sessionTo - The session to which the VM appliance is to be recovered.
force - Whether the VMs should replace newer versions of themselves.
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException
Types.VmRequiresSr

getAll

public static Set<VMAppliance> getAll(Connection c)
                               throws Types.BadServerResponse,
                                      Types.XenAPIException,
                                      org.apache.xmlrpc.XmlRpcException
Return a list of all the VM_appliances known to the system.

Returns:
references to all objects
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException

getAllRecords

public static Map<VMAppliance,VMAppliance.Record> getAllRecords(Connection c)
                                                         throws Types.BadServerResponse,
                                                                Types.XenAPIException,
                                                                org.apache.xmlrpc.XmlRpcException
Return a map of VM_appliance references to VM_appliance records for all VM_appliances known to the system.

Returns:
records of all objects
Throws:
Types.BadServerResponse
Types.XenAPIException
org.apache.xmlrpc.XmlRpcException