Sha256: e3d54ef1cdfb1499df774438f665f3bbda3eaed889a7695325aa86d608e8de31

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

module Fog
  module Compute
    class XenServer

      class Real

        def create_vbd( vm_ref, vdi_ref, config = {} )
          raise ArgumentError.new('Invalid config') if config.nil?
          vm_ref = vm_ref.reference if vm_ref.kind_of? Fog::Compute::XenServer::Server
          vdi_ref = vdi_ref.reference if vdi_ref.kind_of? Fog::Compute::XenServer::VDI
          config.reject! { |k,v| (k == :server) or (k == :vdi) }
          default_config = {
            :VM => vm_ref,
            :VDI => vdi_ref,
            :empty => false,
            :other_config => {'owner' => ''},
            :userdevice => "0",
            :bootable => true,
            :mode => 'RW',
            :qos_algorithm_type=> '',
            :qos_algorithm_params=> {},
            :qos_supported_algorithms=> [],
            :type => 'Disk'
          }.merge config

          @connection.request({:parser => Fog::Parsers::XenServer::Base.new, :method => 'VBD.create'}, default_config )
        end
      end

      class Mock

        def create_vbd( config )
          Fog::Mock.not_implemented
        end

      end

    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
fog-xenserver-0.0.1.alpha2 lib/fog/xenserver/requests/compute/create_vbd.rb
fog-xenserver-0.0.1.alpha lib/fog/xenserver/requests/compute/create_vbd.rb
fog-1.22.0 lib/fog/xenserver/requests/compute/create_vbd.rb
fog-1.21.0 lib/fog/xenserver/requests/compute/create_vbd.rb