def api_version
      return @api_version unless @api_version.nil?
      xml = http_get("/")/'/api/product_info/version'
      major = (xml/'version').first[:major]
      minor = (xml/'version').first[:minor]
      build = (xml/'version').first[:build]
      revision = (xml/'version').first[:revision]
      @api_version = "#{major}.#{minor}.#{build}.#{revision}"
    end
def api_version
      return @api_version unless @api_version.nil?
      xml = http_get("/")/'/api/product_info/version'
      major = (xml/'version').first[:major]
      minor = (xml/'version').first[:minor]
      build = (xml/'version').first[:build]
      revision = (xml/'version').first[:revision]
      @api_version = "#{major}.#{minor}.#{build}.#{revision}"
    end
Construct a new ovirt client class.
 mandatory parameters
   username, password, api_entrypoint  - for example 'me@internal', 'secret', 'https://example.com/api'
 optional parameters
   datacenter_id, cluster_id and filtered_api can be sent in this order for backward
   compatibility, or as a hash in the 4th parameter.
   datacenter_id - setting the datacenter at initialization will add a default scope to any subsequent call
                   to the client to the specified datacenter.
   cluster_id    - setting the cluster at initialization will add a default scope to any subsequent call
                   to the client to the specified cluster.
   filtered_api  - when set to false (default) will use ovirt administrator api, else it will use the user
                   api mode.