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/openstack/requests/compute/update_meta.rb
Dan Prince 8509d5c05d OpenStack: Add missing metadatum requests.
Add missing delete_meta and update_meta calls to the OpenStack
API. Also updates the model with some tests on these new calls.
2013-02-26 14:48:36 -05:00

46 lines
1.1 KiB
Ruby

module Fog
module Compute
class OpenStack
class Real
def update_meta(collection_name, parent_id, key, value)
request(
:body => Fog::JSON.encode({ 'meta' => {key => value}}),
:expects => 200,
:method => 'PUT',
:path => "#{collection_name}/#{parent_id}/metadata/#{key}"
)
end
end
class Mock
def update_meta(collection_name, parent_id, key, value)
if collection_name == "images" then
if not list_images_detail.body['images'].detect {|_| _['id'] == parent_id}
raise Fog::Compute::OpenStack::NotFound
end
end
if collection_name == "servers" then
if not list_servers_detail.body['servers'].detect {|_| _['id'] == parent_id}
raise Fog::Compute::OpenStack::NotFound
end
end
#FIXME join w/ existing metadata here
response = Excon::Response.new
response.body = { "metadata" => {key => value} }
response.status = 200
response
end
end
end
end
end