Sha256: 9760d166f8fa1a864ec4f53cf1ca93f048cf79a0d4213df89621837d5bcdb253
Contents?: true
Size: 1.6 KB
Versions: 30
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 => Fog::JSON.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
30 entries across 30 versions & 2 rubygems