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/clodo/requests/compute/delete_ip_address.rb
2011-12-02 16:24:23 +04:00

47 lines
1.2 KiB
Ruby

module Fog
module Compute
class Clodo
class Real
# Delete IP-address from specified server
# ==== Paramaters
# * server_id<~Integer> - Id of server to delete IP from
# * ip<~String> - IP-address to delete
#
# ==== Returns
# * response<~Excon::Response>
#
def delete_ip_address(server_id, ip)
data = {'ip' => ip}
request(
:expects => [204],
:method => 'DELETE',
:path => "servers/#{server_id}/ips",
:body => MultiJson.encode(data)
)
end
end
class Mock
def delete_ip_address(server_id, ip)
server = self.data[:servers][server_id]
raise Excon::Errors::BadRequest.new "Server not found" unless server
pa = server['addresses']['public']
raise Excon::Errors::BadRequest.new "Address not found" unless pa && pa.reject! {|addr|
addr['ip'] == ip
}
response = Excon::Response.new
response.status = 204
response
end
end
end
end
end