Class: OpenNebula::Client
- Inherits:
-
Object
- Object
- OpenNebula::Client
- Defined in:
- OpenNebula.rb
Overview
The client class, represents the connection with the core and handles the xml-rpc calls.
Instance Attribute Summary (collapse)
-
- (Object) one_auth
Returns the value of attribute one_auth.
Instance Method Summary (collapse)
- - (Object) call(action, *args)
-
- (Client) initialize(secret = nil, endpoint = nil)
constructor
A new instance of Client.
Constructor Details
- (Client) initialize(secret = nil, endpoint = nil)
A new instance of Client
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'OpenNebula.rb', line 94 def initialize(secret=nil, endpoint=nil) if secret @one_auth = secret elsif ENV["ONE_AUTH"] and !ENV["ONE_AUTH"].empty? and File.file?(ENV["ONE_AUTH"]) @one_auth = File.read(ENV["ONE_AUTH"]) elsif File.file?(ENV["HOME"]+"/.one/one_auth") @one_auth = File.read(ENV["HOME"]+"/.one/one_auth") else raise "ONE_AUTH file not present" end @one_auth.rstrip! if endpoint @one_endpoint = endpoint elsif ENV["ONE_XMLRPC"] @one_endpoint = ENV["ONE_XMLRPC"] else @one_endpoint = "http://localhost:2633/RPC2" end @server = XMLRPC::Client.new2(@one_endpoint) end |
Instance Attribute Details
- (Object) one_auth
Returns the value of attribute one_auth
85 86 87 |
# File 'OpenNebula.rb', line 85 def one_auth @one_auth end |
Instance Method Details
- (Object) call(action, *args)
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'OpenNebula.rb', line 118 def call(action, *args) if XMLPARSER @server.set_parser(XMLRPC::XMLParser::XMLStreamParser.new) end begin response = @server.call_async("one."+action, @one_auth, *args) if response[0] == false Error.new(response[1], response[2]) else response[1] #response[1..-1] end rescue Exception => e Error.new(e.) end end |