diff --git a/lib/fog/hp/compute.rb b/lib/fog/hp/compute.rb index 5f1cadd1a..f367a3db7 100644 --- a/lib/fog/hp/compute.rb +++ b/lib/fog/hp/compute.rb @@ -39,6 +39,7 @@ module Fog request :get_image_details request :get_security_group request :get_server_details + request :list_addresses request :list_flavors request :list_flavors_detail request :list_images diff --git a/lib/fog/hp/requests/compute/list_addresses.rb b/lib/fog/hp/requests/compute/list_addresses.rb new file mode 100644 index 000000000..1d5d683e3 --- /dev/null +++ b/lib/fog/hp/requests/compute/list_addresses.rb @@ -0,0 +1,41 @@ +module Fog + module Compute + class HP + class Real + + # List all floating IP addresses + # + # ==== Returns + # * response<~Excon::Response>: + # * body<~Hash>: + # * 'floating_ips'<~Array> - + # * 'id'<~Integer> - Id of the address + # * 'ip'<~String> - Floating IP of the address + # * 'instance_id'<~String> - Id of the associated server instance + # * 'fixed_ip'<~String> - Fixed IP of the address + def list_addresses + request( + :expects => 200, + :method => 'GET', + :path => "os-floating-ips.json" + ) + end + + end + + class Mock + + def list_addresses + response = Excon::Response.new + addresses = [] + addresses = self.data[:addresses].values unless self.data[:addresses].nil? + + response.status = 200 + response.body = { 'floating_ips' => addresses } + response + end + + end + end + end +end