Sha256: 803a0d7a82de912225940d9a68c07a707d4864a6bf78fbaf4a19b12abbcf4d92

Contents?: true

Size: 1.12 KB

Versions: 17

Compression:

Stored size: 1.12 KB

Contents

module Fog
  class Vcloud
    module Terremark
      class Ecloud

        class Real
          basic_request :get_public_ips
        end

        class Mock

          #
          #Based off of:
          #http://support.theenterprisecloud.com/kb/default.asp?id=577&Lang=1&SID=
          #
          def get_public_ips(public_ips_uri)
            public_ips_uri = ensure_unparsed(public_ips_uri)
            if vdc = mock_data[:organizations].map { |org| org[:vdcs] }.flatten.detect { |vdc| vdc[:href].split('/').last == public_ips_uri.split('/')[-2] }
              xml = Builder::XmlMarkup.new
              mock_it 200,
                xml.PublicIPAddresses {
                  vdc[:public_ips].each do |ip|
                    xml.PublicIPAddress {
                      xml.Id(ip[:id])
                      xml.Href(ip[:href])
                      xml.Name(ip[:name])
                    }
                  end
                }, { 'Content-Type' => 'application/vnd.tmrk.ecloud.publicIpsList+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_public_ips.rb
fog-0.3.15 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.14 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.13 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.12 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.11 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.10 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.9 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.8 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.7 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.6 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.5 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.4 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.3 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.2 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.1 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
fog-0.3.0 lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb