class OpenNebula::System
Constants
- SYSTEM_METHODS
Constants and Class attribute accessors
Public Class Methods
Constructor
@param [Client] client that represents a XML-RPC connection
# File lib/opennebula/system.rb, line 43 def initialize(client) @client = client end
Public Instance Methods
Returns whether of not the oned version is the same as the OCA version
@return [true, false, OpenNebula::Error] true if oned is the same
version
# File lib/opennebula/system.rb, line 90 def compatible_version() no_revision = VERSION[/^\d+\.\d+\./] oned_v = get_oned_version if OpenNebula.is_error?(oned_v) return oned_v end return (oned_v =~ /#{no_revision}/) != nil end
Gets the oned configuration
@return [XMLElement, OpenNebula::Error] the oned configuration in case
of success, Error otherwise
# File lib/opennebula/system.rb, line 105 def get_configuration() rc = @client.call(SYSTEM_METHODS[:config]) if OpenNebula.is_error?(rc) return rc end config = XMLElement.new config.initialize_xml(rc, 'TEMPLATE') return config end
Gets the default group quota limits
@return [XMLElement, OpenNebula::Error] the default group quota in case
of success, Error otherwise
# File lib/opennebula/system.rb, line 148 def get_group_quotas() rc = @client.call(SYSTEM_METHODS[:groupquotainfo]) if OpenNebula.is_error?(rc) return rc end default_quotas = XMLElement.new default_quotas.initialize_xml(rc, 'DEFAULT_GROUP_QUOTAS') return default_quotas end
Gets the oned version
@return [String, OpenNebula::Error] the oned version in case
of success, Error otherwise
# File lib/opennebula/system.rb, line 82 def get_oned_version() return @client.call("system.version") end
Gets the default user quota limits
@return [XMLElement, OpenNebula::Error] the default user quota in case
of success, Error otherwise
# File lib/opennebula/system.rb, line 122 def get_user_quotas() rc = @client.call(SYSTEM_METHODS[:userquotainfo]) if OpenNebula.is_error?(rc) return rc end default_quotas = XMLElement.new default_quotas.initialize_xml(rc, 'DEFAULT_USER_QUOTAS') return default_quotas end
Sets the default group quota limits @param quota [String] a template (XML or txt) with the new quota limits
@return [nil, OpenNebula::Error] nil in case of success, Error
otherwise
# File lib/opennebula/system.rb, line 166 def set_group_quotas(quota) return @client.call(SYSTEM_METHODS[:groupquotaupdate], quota) end
Sets the default user quota limits @param quota [String] a template (XML or txt) with the new quota limits
@return [nil, OpenNebula::Error] nil in case of success, Error
otherwise
# File lib/opennebula/system.rb, line 140 def set_user_quotas(quota) return @client.call(SYSTEM_METHODS[:userquotaupdate], quota) end
Executes and replicates SQL commands on OpenNebula
DB
@param [String] Sql string @param [Boolean] True to replicate command on a federation. To operate on federated tables @return [Integer, OpenNebula::Error] Sql execution result in case of success, Error otherwise
# File lib/opennebula/system.rb, line 57 def sql_command(sql, federate) return @client.call(SYSTEM_METHODS[:sql], sql, federate) end
Executes a SQL query command on OpenNebula
DB
@param [String] Sql string @return [String, OpenNebula::Error] Sql execution result in XML format in case of success, Error otherwise <QUERY> the query sent to oned </QUERY> <RESULT> <ROW> <column_name>column_value</column_name> ... </ROW> </RESULT>
# File lib/opennebula/system.rb, line 74 def sql_query_command(sql) return @client.call(SYSTEM_METHODS[:sqlquery], sql) end