Sha256: 7ab6b738b9a957192eaa65e279c9caf88589db1271f8604b6f17987550b55855

Contents?: true

Size: 1.28 KB

Versions: 4

Compression:

Stored size: 1.28 KB

Contents

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fog-1.29.0 lib/fog/opennebula/compute.rb
fog-1.28.0 lib/fog/opennebula/compute.rb
fog-1.27.0 lib/fog/opennebula/compute.rb
fog-1.26.0 lib/fog/opennebula/compute.rb