1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/compute/requests/rackspace/get_flavor_details.rb
2011-01-07 16:52:09 -08:00

52 lines
1.6 KiB
Ruby

module Fog
module Rackspace
class Compute
class Real
# Get details for flavor by id
#
# ==== Returns
# * response<~Excon::Response>:
# * body<~Hash>:
# * 'id'<~Integer> - Id of the flavor
# * 'name'<~String> - Name of the flavor
# * 'ram'<~Integer> - Amount of ram for the flavor
# * 'disk'<~Integer> - Amount of diskspace for the flavor
def get_flavor_details(flavor_id)
request(
:expects => [200, 203],
:method => 'GET',
:path => "flavors/#{flavor_id}.json"
)
end
end
class Mock
def get_flavor_details(flavor_id)
response = Excon::Response.new
flavor = {
1 => { 'name' => '256 server', 'ram' => 256, 'disk' => 10 },
2 => { 'name' => '512 server', 'ram' => 512, 'disk' => 20 },
3 => { 'name' => '1GB server', 'ram' => 1024, 'disk' => 40 },
4 => { 'name' => '2GB server', 'ram' => 2048, 'disk' => 80 },
5 => { 'name' => '4GB server', 'ram' => 4096, 'disk' => 160 },
6 => { 'name' => '8GB server', 'ram' => 8192, 'disk' => 320 },
7 => { 'name' => '15.5GB server', 'ram' => 15872, 'disk' => 620 }
}[flavor_id]
if flavor
response.status = 200
response.body = {
'flavor' => flavor
}
response
else
raise Fog::Rackspace::Compute::NotFound
end
end
end
end
end
end