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 Details

    • ALL_VM

      public static final int ALL_VM
      Flag for Virtual Machines in any state.
      See Also:
    • NOT_DONE

      public static final int NOT_DONE
      Flag for Virtual Machines in any state, except for DONE.
      See Also:
  • 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

      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_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:
    • 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.