VirtualMachinePool (OpenNebula Cloud API)
Description: declaration: package: org.opennebula.client.vm, class: VirtualMachinePool

Package org.opennebula.client.vm

# Class VirtualMachinePool

java.lang.Object
org.opennebula.client.Pool
org.opennebula.client.vm.VirtualMachinePool

All Implemented Interfaces:
  `Iterable<VirtualMachine>`

public class VirtualMachinePool extends Pool implements Iterable<VirtualMachine>
This class represents an OpenNebula VM pool. It also offers static XML-RPC call wrappers.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ALL_VM`
  Flag for Virtual Machines in any state.
  `static final int`
  `NOT_DONE`
  Flag for Virtual Machines in any state, except for DONE.

  ### Fields inherited from class org.opennebula.client.Pool

  `ALL, client, elementName, GROUP, infoMethod, MINE, MINE_GROUP, poolElements, xpath`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VirtualMachinePool(Client client)`
  Creates a new Virtual Machine pool with the default filter flag value set to `Pool.MINE_GROUP` (Virtual Machines belonging to the connected user, and the ones in his group)
  `VirtualMachinePool(Client client, int filter)`
  Creates a new Virtual Machine pool.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `OneResponse`
  `accounting(int filter, int start_time, int end_time)`
  Returns the virtual machine history records.
  `static OneResponse`
  `accounting(Client client, int filter, int start_time, int end_time)`
  Returns the virtual machine history records.
  `OneResponse`
  `calculateshowback(int filter, int first_month, int first_year, int last_month, int last_year)`
  Processes all the history records, and stores the monthly cost for each VM
  `static OneResponse`
  `calculateshowback(Client client, int filter, int first_month, int first_year, int last_month, int last_year)`
  Processes all the history records, and stores the monthly cost for each VM
  `PoolElement`
  `factory(Node node)`
  The factory method returns a suitable PoolElement object from an XML node.
  `VirtualMachine`
  `getById(int id)`
  Returns the Virtual Machine with the given Id from the pool.
  `OneResponse`
  `info()`
  Loads the xml representation of all or part of the Virtual Machines in the pool.
  `OneResponse`
  `info(int filter, int startId, int endId, int state)`
  Retrieves all or part of the Virtual Machines in the pool.
  `static OneResponse`
  `info(Client client, int filter)`
  Retrieves all or part of the Virtual Machines in the pool.
  `static OneResponse`
  `info(Client client, int filter, int startId, int endId, int state)`
  Retrieves all or part of the Virtual Machines in the pool.
  `OneResponse`
  `info_extended()`
  Loads the xml representation of all the Virtual Machines in the pool.
  `static OneResponse`
  `info_extended(Client client, int filter)`
  Retrieves all of the Virtual Machines in the pool.
  `static OneResponse`
  `info_extended(Client client, int vm_ids, boolean extended)`
  Retrieves all of the Virtual Machines in the vm_ids list.
  `static OneResponse`
  `info_search(Client client, int filter, int startId, int endId, int state, String query)`
  Retrieves all or part of the Virtual Machines in the pool.
  `OneResponse`
  `infoAll()`
  Loads the xml representation of all the Virtual Machines in the pool.
  `static OneResponse`
  `infoAll(Client client)`
  Retrieves all the Virtual Machines in the pool.
  `OneResponse`
  `infoGroup()`
  Loads the xml representation of all the connected user's Virtual Machines and the ones in his group.
  `static OneResponse`
  `infoGroup(Client client)`
  Retrieves all the connected user's Virtual Machines and the ones in his group.
  `OneResponse`
  `infoMine()`
  Loads the xml representation of all the connected user's Virtual Machines.
  `static OneResponse`
  `infoMine(Client client)`
  Retrieves all the connected user's Virtual Machines.
  `Iterator<VirtualMachine>`
  `iterator()`
  `OneResponse`
  `monitoring(int filter)`
  Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
  `static OneResponse`
  `monitoring(Client client, int filter)`
  Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
  `static OneResponse`
  `monitoring(Client client, int filter, int num)`
  Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
  `OneResponse`
  `showback(int filter, int first_month, int first_year, int last_month, int last_year)`
  Returns the virtual machine showback records
  `static OneResponse`
  `showback(Client client, int filter, int first_month, int first_year, int last_month, int last_year)`
  Returns the virtual machine showback records

  ### Methods inherited from class org.opennebula.client.Pool

  `getLength, info, info, info, infoAll, infoGroup, infoGroupPrimary, infoMine, item, processInfo, xmlrpcInfo`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

- ## Field Details

  - ### ALL_VM

    public static final int ALL_VM
    Flag for Virtual Machines in any state.
    See Also:
      - Constant Field Values

  - ### NOT_DONE

    public static final int NOT_DONE
    Flag for Virtual Machines in any state, except for DONE.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### VirtualMachinePool

    public VirtualMachinePool(Client client)
    Creates a new Virtual Machine pool with the default filter flag value set to `Pool.MINE_GROUP` (Virtual Machines belonging to the connected user, and the ones in his group)
    Parameters:
      `client` - XML-RPC Client.
    See Also:
      - `VirtualMachinePool(Client, int)`

  - ### VirtualMachinePool

    public VirtualMachinePool(Client client, int filter)
    Creates a new Virtual Machine pool.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use by default in the method `info()`. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines

- ## Method Details

  - ### factory

    public PoolElement factory(Node node)
    Description copied from class: `Pool`
    The factory method returns a suitable PoolElement object from an XML node. Each Pool must implement the corresponding factory method.
    Specified by:
      `factory` in class `Pool`
    Parameters:
      `node` - XML Dom node to build the PoolElement from
    Returns:
      The corresponding PoolElement

  - ### info

    public static OneResponse info(Client client, int filter)
    Retrieves all or part of the Virtual Machines in the pool.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### info_extended

    public static OneResponse info_extended(Client client, int filter)
    Retrieves all of the Virtual Machines in the pool.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### info_extended

    public static OneResponse info_extended(Client client, int vm_ids, boolean extended)
    Retrieves all of the Virtual Machines in the vm_ids list.
    Parameters:
      `client` - XML-RPC Client.
      `vm_ids` - Comma separated list of VM IDs.
      `extended` - If true the extended body is retrieved.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### infoAll

    public static OneResponse infoAll(Client client)
    Retrieves all the Virtual Machines in the pool.
    Parameters:
      `client` - XML-RPC Client.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### infoMine

    public static OneResponse infoMine(Client client)
    Retrieves all the connected user's Virtual Machines.
    Parameters:
      `client` - XML-RPC Client.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### infoGroup

    public static OneResponse infoGroup(Client client)
    Retrieves all the connected user's Virtual Machines and the ones in his group.
    Parameters:
      `client` - XML-RPC Client.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### info

    public static OneResponse info(Client client, int filter, int startId, int endId, int state)
    Retrieves all or part of the Virtual Machines in the pool. The Virtual Machines to retrieve can be also filtered by Id, specifying the first and last Id to include; and by state.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `startId` - Lowest Id to retrieve
      `endId` - Biggest Id to retrieve
      `state` - Numeric state of the Virtual Machines wanted, or one of `ALL_VM` or `NOT_DONE`
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### info_search

    public static OneResponse info_search(Client client, int filter, int startId, int endId, int state, String query)
    Retrieves all or part of the Virtual Machines in the pool. The Virtual Machines to retrieve can be also filtered by Id, specifying the first and last Id to include; and by state.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `startId` - Lowest Id to retrieve
      `endId` - Biggest Id to retrieve
      `state` - Numeric state of the Virtual Machines wanted, or one of `ALL_VM` or `NOT_DONE`
      `query` - query for FTS
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### monitoring

    public static OneResponse monitoring(Client client, int filter)
    Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### monitoring

    public static OneResponse monitoring(Client client, int filter, int num)
    Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `num` - : Retrieve monitor records in the last num seconds. 0 just the last record, -1 all records.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### accounting

    public static OneResponse accounting(Client client, int filter, int start_time, int end_time)
    Returns the virtual machine history records.
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `start_time` - : Start time for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `end_time` - : End time for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### showback

    public static OneResponse showback(Client client, int filter, int first_month, int first_year, int last_month, int last_year)
    Returns the virtual machine showback records
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `first_month` - First month for the time interval. January is 1. Can be -1, in which case the time interval won't have a left boundary.
      `first_year` - First year for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `last_month` - Last month for the time interval. January is 1. Can be -1, in which case the time interval won't have a right boundary.
      `last_year` - Last year for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### calculateshowback

    public static OneResponse calculateshowback(Client client, int filter, int first_month, int first_year, int last_month, int last_year)
    Processes all the history records, and stores the monthly cost for each VM
    Parameters:
      `client` - XML-RPC Client.
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `first_month` - First month for the time interval. January is 1. Can be -1, in which case the time interval won't have a left boundary.
      `first_year` - First year for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `last_month` - Last month for the time interval. January is 1. Can be -1, in which case the time interval won't have a right boundary.
      `last_year` - Last year for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If an error occurs the error message contains the reason.

  - ### info

    public OneResponse info()
    Loads the xml representation of all or part of the Virtual Machines in the pool. The filter used is the one set in the constructor.
    Overrides:
      `info` in class `Pool`
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    See Also:
      - `info(Client, int)`

  - ### info_extended

    public OneResponse info_extended()
    Loads the xml representation of all the Virtual Machines in the pool. The filter used is the one set in the constructor.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    See Also:
      - `info(Client, int)`

  - ### infoAll

    public OneResponse infoAll()
    Loads the xml representation of all the Virtual Machines in the pool.
    Overrides:
      `infoAll` in class `Pool`
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### infoMine

    public OneResponse infoMine()
    Loads the xml representation of all the connected user's Virtual Machines.
    Overrides:
      `infoMine` in class `Pool`
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### infoGroup

    public OneResponse infoGroup()
    Loads the xml representation of all the connected user's Virtual Machines and the ones in his group.
    Overrides:
      `infoGroup` in class `Pool`
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### info

    public OneResponse info(int filter, int startId, int endId, int state)
    Retrieves all or part of the Virtual Machines in the pool. The Virtual Machines to retrieve can be also filtered by Id, specifying the first and last Id to include.
    Parameters:
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `startId` - Lowest Id to retrieve
      `endId` - Biggest Id to retrieve
      `state` - Numeric state of the Virtual Machines wanted
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### monitoring

    public OneResponse monitoring(int filter)
    Retrieves the monitoring data for all or part of the Virtual Machines in the pool.
    Parameters:
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### accounting

    public OneResponse accounting(int filter, int start_time, int end_time)
    Returns the virtual machine history records.
    Parameters:
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `start_time` - : Start time for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `end_time` - : End time for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### showback

    public OneResponse showback(int filter, int first_month, int first_year, int last_month, int last_year)
    Returns the virtual machine showback records
    Parameters:
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `first_month` - First month for the time interval. January is 1. Can be -1, in which case the time interval won't have a left boundary.
      `first_year` - First year for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `last_month` - Last month for the time interval. January is 1. Can be -1, in which case the time interval won't have a right boundary.
      `last_year` - Last year for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If successful the message contains the string with the information returned by OpenNebula.

  - ### calculateshowback

    public OneResponse calculateshowback(int filter, int first_month, int first_year, int last_month, int last_year)
    Processes all the history records, and stores the monthly cost for each VM
    Parameters:
      `filter` - Filter flag to use. Possible values:
      - `Pool.ALL`: All Virtual Machines
      - `Pool.MINE`: Connected user's Virtual Machines
      - `Pool.MINE_GROUP`: Connected user's Virtual Machines, and the ones in his group
      - `Pool.GROUP`: User's primary group Virtual Machines
      - >= 0 UID User's Virtual Machines
      `first_month` - First month for the time interval. January is 1. Can be -1, in which case the time interval won't have a left boundary.
      `first_year` - First year for the time interval. Can be -1, in which case the time interval won't have a left boundary.
      `last_month` - Last month for the time interval. January is 1. Can be -1, in which case the time interval won't have a right boundary.
      `last_year` - Last year for the time interval. Can be -1, in which case the time interval won't have a right boundary.
    Returns:
      If an error occurs the error message contains the reason.

  - ### iterator

    public Iterator<VirtualMachine> iterator()
    Specified by:
      `iterator` in interface `Iterable<VirtualMachine>`

  - ### getById

    public VirtualMachine getById(int id)
    Returns the Virtual Machine with the given Id from the pool. If it is not found, then returns null. The method `info()` must be called before.
    Overrides:
      `getById` in class `Pool`
    Parameters:
      `id` - of the ACl rule to retrieve
    Returns:
      The Virtual Machine with the given Id, or null if it was not found.