Method: Fog::Compute::Ecloud::Mock#get_network

Defined in:
lib/fog/ecloud/requests/compute/get_network.rb

#get_network(network_uri) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/fog/ecloud/requests/compute/get_network.rb', line 15

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