Sha256: 9b3d088ea15f08a2a737498cb7259406bec7ab4413a55c666f58ded61974aba5

Contents?: true

Size: 1.55 KB

Versions: 17

Compression:

Stored size: 1.55 KB

Contents

#
# AFAICT - This is basically undocumented - 6/18/2010 - freeformz
#

module Fog
  class Vcloud
    module Terremark
      class Ecloud

        class Real
          basic_request :get_network_ips
        end

        class Mock
          require 'ipaddr'

          def get_network_ips(network_ips_uri)
            network_ips_uri = ensure_unparsed(network_ips_uri)
            response = Excon::Response.new
            if network = mock_data[:organizations].map { |org| org[:vdcs].map { |vdc| vdc[:networks] } }.flatten.detect { |network| network[:href] == network_ips_uri.gsub(%r:/ips$:,'') }
              xml = Builder::XmlMarkup.new
              mock_it 200,
                xml.IpAddresses {
                  IPAddr.new(network[:name]).to_range.to_a[3..-2].each do |ip|
                    xml.IpAddress {
                      xml.Name(ip.to_s)
                      xml.Href("#{Fog::Vcloud::Terremark::Ecloud::Mock.extension_url}/ip/#{ip.to_s.gsub('.','')}")
                      if network[:ips].has_key?(ip.to_s)
                        xml.Status("Assigned")
                        xml.Server(network[:ips][ip.to_s])
                      else
                        xml.Status("Available")
                      end
                      xml.RnatAddress(network[:rnat])
                    }
                  end
                },
                { 'Content-Type' => 'application/vnd.tmrk.ecloud.ipAddressesList+xml' }
            else
              mock_error 200, "401 Unauthorized"
            end
            

          end

        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
fog-0.3.16 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.15 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.14 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.13 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.12 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.11 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.10 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.9 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.8 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.7 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.6 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.5 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.4 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.3 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.2 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.1 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
fog-0.3.0 lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb