Sha256: 63ec1f27730e4b883286ce612cb5509aa208021427f665b54b6d7167a57f81fb

Contents?: true

Size: 1.57 KB

Versions: 29

Compression:

Stored size: 1.57 KB

Contents

module Fog
  class Vcloud
    module Terremark
      class Ecloud

        class Real
          # Handled by the main Vcloud get_network
        end

        class Mock
          #
          # Based off of:
          # http://support.theenterprisecloud.com/kb/default.asp?id=546&Lang=1&SID=
          #

          def get_network(network_uri)
            network_uri = ensure_unparsed(network_uri)

            if network = mock_data.network_from_href(network_uri)
              builder = Builder::XmlMarkup.new
              xml = builder.Network(xmlns.merge(:href => network.href, :name => network.name, :type => "application/vnd.vmware.vcloud.network+xml")) {
                builder.Link(:rel => "down", :href => network.ip_collection.href, :type => "application/xml", :name => network.ip_collection.name)
                builder.Link(:rel => "down", :href => network.extensions.href, :type => "application/xml", :name => network.name)
                builder.Configuration {
                  builder.Gateway(network.gateway)
                  builder.Netmask(network.netmask)
                }
                if network.features
                  builder.Features {
                    network.features.each do |feature|
                      builder.tag!(feature[:type], feature[:value])
                    end
                  }
                end
              }

              mock_it 200, xml, { "Content-Type" => "application/vnd.vmware.vcloud.network+xml" }
            else
              mock_error 200, "401 Unauthorized"
            end
          end
        end
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 3 rubygems

Version Path
fog-0.5.3 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.5.2 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.5.1 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.5.0 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
phpfog-fog-0.4.1.3 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
phpfog-fog-0.4.1.2 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
phpfog-fog-0.4.1.1 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
phpfog-fog-0.4.1 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.4.1 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.4.0 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.34 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.33 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.32 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.31 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.30 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.29 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.28 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.27 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.26 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
fog-0.3.25 lib/fog/vcloud/terremark/ecloud/requests/get_network.rb