diff --git a/lib/fog/vsphere/models/compute/network.rb b/lib/fog/vsphere/models/compute/network.rb index c053189b3..fcd7eca5e 100644 --- a/lib/fog/vsphere/models/compute/network.rb +++ b/lib/fog/vsphere/models/compute/network.rb @@ -7,6 +7,7 @@ module Fog attribute :name attribute :datacenter attribute :accessible # reachable by at least one hypervisor + attribute :virtualswitch def to_s name diff --git a/lib/fog/vsphere/requests/compute/list_networks.rb b/lib/fog/vsphere/requests/compute/list_networks.rb index df8c8c2b6..27786a29e 100644 --- a/lib/fog/vsphere/requests/compute/list_networks.rb +++ b/lib/fog/vsphere/requests/compute/list_networks.rb @@ -20,10 +20,11 @@ module Fog def network_attributes network, datacenter { - :id => managed_obj_id(network), - :name => network.name, - :accessible => network.summary.accessible, - :datacenter => datacenter, + :id => managed_obj_id(network), + :name => network.name, + :accessible => network.summary.accessible, + :datacenter => datacenter, + :virtualswitch => network.class.to_s == "DistributedVirtualPortgroup" ? network.config.distributedVirtualSwitch.name : nil } end end diff --git a/lib/fog/vsphere/requests/compute/vm_clone.rb b/lib/fog/vsphere/requests/compute/vm_clone.rb index b9ad8f7c4..4426f248e 100644 --- a/lib/fog/vsphere/requests/compute/vm_clone.rb +++ b/lib/fog/vsphere/requests/compute/vm_clone.rb @@ -652,20 +652,17 @@ module Fog def modify_template_nics_specs(template_path, new_nics, datacenter) - #new_spec_operation = RbVmomi::VIM::VirtualDeviceConfigSpecOperation('new') - #remove_spec_operation = RbVmomi::VIM::VirtualDeviceConfigSpecOperation('remove') - template_nics = list_vm_interfaces(template_path, datacenter).map do |old_attributes| Fog::Compute::Vsphere::Interface.new(old_attributes) end specs = [] template_nics.each do |interface| - specs << create_interface(interface, interface.key, :remove) + specs << create_interface(interface, interface.key, :remove, :datacenter => datacenter) end new_nics.each do |interface| - specs << create_interface(interface, 0, :add) + specs << create_interface(interface, 0, :add, :datacenter => datacenter) end return specs