Class VirtualMachinePool

  • All Implemented Interfaces:
    java.lang.Iterable<VirtualMachine>

    public class VirtualMachinePool
    extends Pool
    implements java.lang.Iterable<VirtualMachine>
    This class represents an OpenNebula VM pool. It also offers static XML-RPC call wrappers.
    • 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

      All Methods Static Methods Instance Methods Concrete Methods 
      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​(org.w3c.dom.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, java.lang.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.
      java.util.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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Field Detail

      • 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 Detail

      • 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 Detail

      • factory

        public PoolElement factory​(org.w3c.dom.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,
                                              java.lang.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.
      • 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.