def generate_configure_org_network_request(vapp_id, vapp_network, vapp_network_uri, org_network, org_network_uri, enable_firewall=false, portmap=nil)
firewall_body = ""
if not enable_firewall
firewall_body = "<ns0:IsEnabled>false</ns0:IsEnabled>"
else
firewall_rules = generate_outbound_rule + generate_tcp_rules(portmap["TCP"]) + generate_udp_rules(portmap["UDP"])
firewall_body = " <ns0:IsEnabled>true</ns0:IsEnabled>\n <ns0:DefaultAction>drop</ns0:DefaultAction>\n <ns0:LogDefaultAction>false</ns0:LogDefaultAction>\n \#{firewall_rules}\n"
end
body = " <ns0:NetworkConfigSection xmlns:ns0=\"http://www.vmware.com/vcloud/v1.5\" xmlns:ns1=\"http://schemas.dmtf.org/ovf/envelope/1\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" href=\"\#{vapp_id}/networkConfigSection/\" type=\"application/vnd.vmware.vcloud.networkConfigSection+xml\" ns1:required=\"false\" xsi:schemaLocation=\"http://schemas.dmtf.org/ovf/envelope/1 http://schemas.dmtf.org/ovf/envelope/1/dsp8023_1.1.0.xsd http://www.vmware.com/vcloud/v1.5 http://zone01.bluelock.com/api/v1.5/schema/master.xsd\">\n<ns1:Info>The configuration parameters for logical networks</ns1:Info>\n<ns0:Link href=\"\#{vapp_id}/networkConfigSection/\" rel=\"edit\" type=\"application/vnd.vmware.vcloud.networkConfigSection+xml\" />\n<ns0:NetworkConfig networkName=\"\#{vapp_network}\">\n<ns0:Link href=\"\#{vapp_network_uri}\" rel=\"repair\" />\n<ns0:Description />\n <ns0:Configuration>\n<ns0:ParentNetwork href=\"\#{org_network_uri}\" name=\"\#{org_network}\" type=\"application/vnd.vmware.vcloud.network+xml\" />\n<ns0:FenceMode>natRouted</ns0:FenceMode>\n<ns0:RetainNetInfoAcrossDeployments>true</ns0:RetainNetInfoAcrossDeployments>\n<ns0:Features>\n<ns0:FirewallService>\n\#{firewall_body}\n</ns0:FirewallService>\n<ns0:NatService>\n<ns0:IsEnabled>true</ns0:IsEnabled>\n<ns0:NatType>ipTranslation</ns0:NatType>\n<ns0:Policy>allowTraffic</ns0:Policy>\n</ns0:NatService>\n</ns0:Features>\n</ns0:Configuration>\n<ns0:IsDeployed>false</ns0:IsDeployed>\n</ns0:NetworkConfig>\n<ns0:NetworkConfig networkName=\"\#{org_network}\"><ns0:Link href=\"\#{org_network_uri}\" rel=\"repair\" />\n<ns0:Description />\n<ns0:Configuration>\n<ns0:ParentNetwork href=\"\#{org_network_uri}\" name=\"\#{org_network}\" type=\"application/vnd.vmware.vcloud.network+xml\" />\n<ns0:FenceMode>bridged</ns0:FenceMode>\n<ns0:RetainNetInfoAcrossDeployments>true</ns0:RetainNetInfoAcrossDeployments>\n<ns0:SyslogServerSettings />\n</ns0:Configuration>\n</ns0:NetworkConfig>\n</ns0:NetworkConfigSection>\n"
end