Sha256: 5bacde05c2ebebd1739423bf26d249a68225e89849b5fdabb063d3dd41d5f942

Contents?: true

Size: 1.81 KB

Versions: 53

Compression:

Stored size: 1.81 KB

Contents

module Fog
  module Compute
    class RackspaceV2
      class Real

        # Lists all addresses associated with a specified server and network
        # @param [String] server_id
        # @param [String] network_id        
        # @return [Excon::Response] response:
        #   * body [Hash]:
        #     * network [Hash]:
        #       * id [String] - id of network
        #       * ip [Array]:
        #         * [Hash]:
        #           * version [Fixnum] - version of the address
        #           * addr [String] - ip address
        # @raise [Fog::Compute::RackspaceV2::NotFound] - HTTP 404
        # @raise [Fog::Compute::RackspaceV2::BadRequest] - HTTP 400
        # @raise [Fog::Compute::RackspaceV2::InternalServerError] - HTTP 500
        # @raise [Fog::Compute::RackspaceV2::ServiceError]
        # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/List_Addresses_by_Network-d1e3118.html
        def list_addresses_by_network(server_id, network_id)
          request(
            :method   => 'GET',
            :expects  => 200,
            :path     => "servers/#{server_id}/ips/#{network_id}"
          )
        end

      end

      class Mock
        
        RESPONSE_BODY = { 
          "addresses" => {
            "public"=>[{"version"=>6, "addr"=>"2001:4800:7811:0513:0fe1:75e8:ff04:760b"}, {"version"=>4, "addr"=>"166.78.18.176"}],
            "private"=>[{"version"=>4, "addr"=>"10.181.129.68"}]
          }
        }
      
        def list_addresses_by_network(server_id, network_id)
          raise Fog::Compute::RackspaceV2::NotFound.new if server_id == 0
          response        = Excon::Response.new
          response.status = 200
          response.body   = { network_id => RESPONSE_BODY["addresses"][network_id] }
          response
        end
      
      end
    end
  end
end

Version data entries

53 entries across 53 versions & 3 rubygems

Version Path
fog-maestrodev-1.20.0.20140305101839 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140212012611 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-1.20.0 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140110004459 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140110003812 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140109202555 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140107192102 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20140107142106 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.19.0.20131219203941 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131219193542 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-1.19.0 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131219033443 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131219032002 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131219030716 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131219022322 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131218202447 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131209091424 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131209090811 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb
fog-maestrodev-1.18.0.20131206115947 lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb