This is the data structure it accepts, this is the output of get_vm_network
{:type=>"application/vnd.vmware.vcloud.networkConnectionSection+xml",
:href=>
"https://example.com/api/vApp/vm-8b74d95a-ee91-4f46-88d8-fc92be0dbaae/networkConnectionSection/",
:id=>"vm-8b74d95a-ee91-4f46-88d8-fc92be0dbaae",
:primary_network_connection_index=>0,
:network=>"DevOps - Dev Network Connection",
:needs_customization=>true,
:network_connection_index=>0,
:ip_address=>"10.192.0.130",
:is_connected=>true,
:mac_address=>"00:50:56:01:00:8d",
:ip_address_allocation_mode=>"POOL"}
This is what it generates:
<NetworkConnectionSection xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" type="application/vnd.vmware.vcloud.networkConnectionSection+xml" href="https://example.com/api/vApp/vm-8b74d95a-ee91-4f46-88d8-fc92be0dbaae/networkConnectionSection/" ovf:required="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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://10.194.1.65/api/v1.5/schema/master.xsd">
<ovf:Info>Specifies the available VM network connections</ovf:Info>
<PrimaryNetworkConnectionIndex>0</PrimaryNetworkConnectionIndex>
<NetworkConnection network="DevOps - Dev Network Connection" needsCustomization="true">
<NetworkConnectionIndex>0</NetworkConnectionIndex>
<IpAddress>10.192.0.130</IpAddress>
<IsConnected>true</IsConnected>
<MACAddress>00:50:56:01:00:8d</MACAddress>
<IpAddressAllocationMode>POOL</IpAddressAllocationMode>
</NetworkConnection>
<Link rel="edit" type="application/vnd.vmware.vcloud.networkConnectionSection+xml" href="https://example.com/api/vApp/vm-8b74d95a-ee91-4f46-88d8-fc92be0dbaae/networkConnectionSection/"/>
</NetworkConnectionSection>
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 40 def initialize(attrs={}) @attrs = attrs end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 44 def generate_xml output = "" output << header output << body(@attrs) output << tail output end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 60 def ip_address @attrs[:ip_address] end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 64 def ip_address=(new_ip_address) @attrs[:ip_address] = new_ip_address end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 76 def ip_address_allocation_mode @attrs[:ip_address_allocation_mode] end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 80 def ip_address_allocation_mode=(new_ip_address_allocation_mode) @attrs[:ip_address_allocation_mode] = new_ip_address_allocation_mode end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 68 def is_connected @attrs[:is_connected] end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 72 def is_connected=(new_is_connected) @attrs[:is_connected] = new_is_connected end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 52 def network @attrs[:network] end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 56 def network=(new_network_name) @attrs[:network] = new_network_name end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 94 def body(opts={}) <<-END <ovf:Info>#{opts[:info]}</ovf:Info> <PrimaryNetworkConnectionIndex>#{opts[:primary_network_connection_index]}</PrimaryNetworkConnectionIndex> <NetworkConnection network="#{opts[:network]}" needsCustomization="#{opts[:needs_customization]}"> <NetworkConnectionIndex>#{opts[:network_connection_index]}</NetworkConnectionIndex> <IpAddress>#{opts[:ip_address]}</IpAddress> <IsConnected>#{opts[:is_connected]}</IsConnected> <MACAddress>#{opts[:mac_address]}</MACAddress> <IpAddressAllocationMode>#{opts[:ip_address_allocation_mode]}</IpAddressAllocationMode> </NetworkConnection> END end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 86 def header <<-END <NetworkConnectionSection xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" type="application/vnd.vmware.vcloud.networkConnectionSection+xml"> END end
# File lib/fog/vcloud_director/generators/compute/vm_network.rb, line 110 def tail <<-END </NetworkConnectionSection> END end