Sha256: c440341b63bff794a83964339c39a0a4abe844ceaca0fa1beae34fe2f351cb2c
Contents?: true
Size: 1.78 KB
Versions: 29
Compression:
Stored size: 1.78 KB
Contents
module Fog module Vcloud module Terremark module Ecloud module Real def validate_network_data(network_data, configure=false) valid_opts = [:id, :href, :name, :rnat, :address, :broadcast, :gateway] unless valid_opts.all? { |opt| network_data.keys.include?(opt) } raise ArgumentError.new("Required data missing: #{(valid_opts - network_data.keys).map(&:inspect).join(", ")}") end end def configure_network(network_uri, network_data) validate_network_data(network_data) request( :body => generate_configure_network_request(network_data), :expects => 200, :headers => {'Content-Type' => 'application/vnd.tmrk.ecloud.networkService+xml'}, :method => 'PUT', :uri => network_uri, :parse => true ) end private def generate_configure_network_request(network_data) builder = Builder::XmlMarkup.new builder.Network(:"xmlns:i" => "http://www.w3.org/2001/XMLSchema-instance", :xmlns => "urn:tmrk:eCloudExtensions-2.3") { builder.Id(network_data[:id]) builder.Href(network_data[:href]) builder.Name(network_data[:name]) builder.RnatAddress(network_data[:rnat]) builder.Address(network_data[:address]) builder.BroadcastAddress(network_data[:broadcast]) builder.GatewayAddress(network_data[:gateway]) } end end module Mock def configure_network(network_uri, network_data) Fog::Mock.not_implemented end end end end end end
Version data entries
29 entries across 29 versions & 2 rubygems