1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/opennebula/compute.rb
2014-06-17 18:35:33 +02:00

57 lines
1.3 KiB
Ruby

require 'fog/opennebula/core'
module Fog
module Compute
class OpenNebula < Fog::Service
requires :opennebula_endpoint
recognizes :opennebula_username, :opennebula_password
model_path 'fog/opennebula/models/compute'
model :server
collection :servers
model :network
collection :networks
model :flavor
collection :flavors
model :interface
collection :interfaces
model :group
collection :groups
request_path 'fog/opennebula/requests/compute'
request :list_vms
request :list_groups
request :list_networks
request :vm_allocate
request :vm_destroy
request :get_vnc_console
request :vm_resume
request :vm_stop
request :template_pool
class Mock
include Collections
def initialize(options={})
require 'opennebula'
end
def client
return @client
end
end
class Real
include Collections
def client
return @client
end
def initialize(options={})
require 'opennebula'
@client = ::OpenNebula::Client.new("#{options[:opennebula_username]}:#{options[:opennebula_password]}", options[:opennebula_endpoint])
end
end
end
end
end