Sha256: 722f183dc93675381f0f74fa45cdce3b92cc0f0b08476dea8e7016d5a395ff7d
Contents?: true
Size: 1.6 KB
Versions: 16
Compression:
Stored size: 1.6 KB
Contents
module Fog module Volume class OpenStack class Real def create_volume(name, description, size, options={}) data = { 'volume' => { 'display_name' => name, 'display_description' => description, 'size' => size } } vanilla_options = [:snapshot_id, :imageRef, :volume_type, :source_volid] vanilla_options.select{|o| options[o]}.each do |key| data['volume'][key] = options[key] end request( :body => MultiJson.encode(data), :expects => [200, 202], :method => 'POST', :path => "volumes" ) end end class Mock def create_volume(name, description, size, options={}) response = Excon::Response.new response.status = 202 response.body = { 'volume' => { 'id' => Fog::Mock.random_numbers(2), 'display_name' => name, 'display_description' => description, 'size' => size, 'status' => 'creating', 'snapshot_id' => options[:snapshot_id] || nil, 'image_id' => options[:imageRef] || nil, 'volume_type' => nil, 'availability_zone' => 'nova', 'created_at' => Time.now, 'attachments' => [] } } response end end end end end
Version data entries
16 entries across 16 versions & 3 rubygems