Sha256: c049e35606586e6f5aae37724cb8dc3292dac5a886b8ca2aa4dd4fae6f236a39

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

module Fog
  module Compute
    class XenServer

      class Real

        def create_vdi( config )
          raise ArgumentError.new('Invalid config') if config.nil?
          raise ArgumentError.new('Missing virtual_size attribute') if config[:virtual_size].nil?
          raise ArgumentError.new('Missing read_only attribute') if config[:read_only].nil?
          raise ArgumentError.new('Missing type attribute') if config[:type].nil?
          raise ArgumentError.new('Missing sharable attribute') if config[:sharable].nil?
          raise ArgumentError.new('Missing other_config attribute') if config[:other_config].nil?
          raise ArgumentError.new('Missing storage_repository attribute') if config[:storage_repository].nil?
          config[:SR] = config[:storage_repository].reference
          config[:name_label] = config[:name]
          config[:name_description] = config[:description] if config[:description]
          config.reject! { |k,v| (k == :__sr) or (k == :storage_repository) }
          @connection.request({:parser => Fog::Parsers::XenServer::Base.new, :method => 'VDI.create'}, config )
        end
      end

      class Mock

        def create_vdi( ref )
          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_vdi.rb
fog-xenserver-0.0.1.alpha lib/fog/xenserver/requests/compute/create_vdi.rb
fog-1.22.0 lib/fog/xenserver/requests/compute/create_vdi.rb
fog-1.21.0 lib/fog/xenserver/requests/compute/create_vdi.rb