<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to retrieve the network information (NIC) for each VM (perl vim) in vSphere SDK for Perl Discussions</title>
    <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679432#M2768</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;It's probably unset.&amp;nbsp; If you're not familiar, you can use the vSphere MOB to explore it - &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://your_vcenter_hostname:443/mob"&gt;https://your_vcenter_hostname:443/mob&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use that a lot when looking for "quirky" properties.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 17 Mar 2015 13:00:13 GMT</pubDate>
    <dc:creator>stumpr</dc:creator>
    <dc:date>2015-03-17T13:00:13Z</dc:date>
    <item>
      <title>How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679427#M2763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have this simple code to retrieve the name of all VirtualMachines in my infrastructure (filtered for datacenter)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[...other code...]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;use VMware::VILib;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;Opts::add_options(%opts);&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;Opts::parse();&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;Opts::validate();&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;Util::connect();&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $datacenter = $DCFILTER;&lt;/P&gt;&lt;P&gt;my $clusterFilter = $CLFILTER ;&lt;/P&gt;&lt;P&gt;my $datacenter_view = Vim::find_entity_view(view_type =&amp;gt; 'Datacenter', filter =&amp;gt; { name =&amp;gt; $datacenter });&lt;/P&gt;&lt;P&gt;my @values = split(/\|/, $clusterFilter);&lt;/P&gt;&lt;P&gt;foreach my $val (@values) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $cluster_view = Vim::find_entity_view(view_type =&amp;gt; 'ClusterComputeResource', filter =&amp;gt; { name =&amp;gt; qr/$val/});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $vm_views = Vim::find_entity_views(view_type =&amp;gt; 'VirtualMachine', begin_entity =&amp;gt; $cluster_view);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (@$vm_views) {&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; print $_-&amp;gt;name . "\n";&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; $vm = $_-&amp;gt;name;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Util::disconnect();&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;This code runs, but now I need to recover some information about network of each VM, specifically:&lt;/P&gt;&lt;P&gt;1)the network labels of each NIC&amp;nbsp; (for each VM)&lt;/P&gt;&lt;P&gt;2)the Adapter&amp;nbsp; Type (optionally)&lt;/P&gt;&lt;P&gt;3)Device status: Connected at power on (yes/no) (optionally).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I saw that exists&lt;A href="https://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.Network.html"&gt; the Managed Object - Network&lt;/A&gt;, property of &lt;A href="https://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.VirtualMachine.html#field_detail"&gt;Managed Object - VirtualMachine&lt;/A&gt;, but i don't know how to use it in my code and if contains the information i need (maybe "Summary")&lt;/P&gt;&lt;P&gt;Here one example:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="network-examples.jpg"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/57720i0F9D8CEBCFA099ED/image-size/large?v=v2&amp;amp;px=999" role="button" title="network-examples.jpg" alt="network-examples.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in this case i would like to know for this VM&lt;/P&gt;&lt;P&gt;1)LANBACKUP.... ; dvPP_LABO...; dvp_LABO...&lt;/P&gt;&lt;P&gt;and if is possible the information 2) and 3) for each NIC...in this case for NIC LANBAKUP...&lt;/P&gt;&lt;P&gt;2)Flexible&lt;/P&gt;&lt;P&gt;3)Connected at the power on: Yes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you help me to integrate my code for retrieve the above information? &lt;/P&gt;&lt;P&gt;Thank you very much, for your help.&lt;/P&gt;&lt;P&gt;Sergio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Feb 2015 08:32:20 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679427#M2763</guid>
      <dc:creator>Sergio81</dc:creator>
      <dc:date>2015-02-12T08:32:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679428#M2764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, Flexible is basically just the VirtualPCNet32 adapter; VMware's UI just uses 'flexible' in the UI display.&amp;nbsp; So in that case you can easily check for it by reviewing the vm.config.hardware.device[] array with &lt;STRONG&gt;isa()&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pseudo logic from reference (not tested):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;# For efficient collection, use limited property lists&lt;/P&gt;
&lt;P&gt;@vms = Vim::find_entity_views(view_type =&amp;gt; 'VirtualMachine', properties =&amp;gt; ['name', 'config.hardware.device']);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;foreach my $vm ( @vms ) {&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;print "vm: " . $vm-&amp;gt;{'name'} . "\n";&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;@devs = @{ $vm-&amp;gt;{'config.hardware.device'} };&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;# Pick out just network devices&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;@net_devs = grep { $_-&amp;gt;isa('VirtualEthernetCard'} } @devs;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;# iterate the network devices for each VM&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;foreach my $nic ( @net_devs ) {&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my ($name, $type, $network, $connect, $pg_mo, $pg);&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # NIC type&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($nic-&amp;gt;isa('VirtualPCNet32') {&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $type = 'Flexible';&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $type = ref $nic;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The network object is specified as a reference, so it will need to be cross checked against the network objects to get the 'label'&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pg_mo = $nic-&amp;gt;{'backing'}{'network'};&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # You should pre-fetch all the network and DistributedVirtualPortgroup objects, doing a call for each is not efficient, but works&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pg = Vim::get_view(mo_ref =&amp;gt; $pg_mo, properties =&amp;gt; ['name']);&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $network = $pg-&amp;gt;{'name'};&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # For connect on power on, look at device connectable property&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $connect = ( eval {$nic-&amp;gt;{'connectable'}{'startConnected'} ) ? 1 : 0;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # NIC label (name)&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $name = $nic-&amp;gt;{'deviceInfo'}{'label'};&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Push your values into some csv output data struct or print them&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp; nic '$name':\n";&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; connect on power on: $connect\n";&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; network portgroup: $network\n";&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: $type\n";&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="padding-left: 30px;"&gt;}&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;

&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Feb 2015 23:04:43 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679428#M2764</guid>
      <dc:creator>stumpr</dc:creator>
      <dc:date>2015-02-12T23:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679429#M2765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot!!!!&lt;/P&gt;&lt;P&gt;I did some tests and almost everything works.&lt;/P&gt;&lt;P&gt;The only problem I encounter is with a VM that has two NICs with Distributed Virtual Switch:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="network-examples2.jpg"&gt;&lt;img src="https://communities.vmware.com/t5/image/serverpage/image-id/57740i01D15AFE1134D773/image-size/large?v=v2&amp;amp;px=999" role="button" title="network-examples2.jpg" alt="network-examples2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The name of this VM is LABO-TEST-MACHINE, and this is the output of the perl scripts:&lt;BR /&gt;&lt;EM&gt;[...]&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;VM Name: LABMXXXXX&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: VirtualE1000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; nic 'Network adapter 1':&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; network portgroup: LANBACKUP_LABO&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: VirtualE1000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: VirtualE1000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; nic 'Network adapter 2':&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; network portgroup: HEARTBEAT_XXX&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: VirtualE1000&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;VM Name: LABO-TEST-MACHINE&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: Flexible&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; nic 'Network adapter 1':&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; network portgroup: LANBACKUP_LABO&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: Flexible&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: Flexible&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Can't call method "type" on an undefined value at /usr/share/perl/5.10/VMware/VICommon.pm line 1026.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How you can see, i receive the error above, only when the script try to extract the Network Portgroup of that VM.&lt;/P&gt;&lt;P&gt;I think the code line with the problem is:&lt;/P&gt;&lt;P&gt;&lt;EM&gt; $pg = Vim::get_view(mo_ref =&amp;gt; $pg_mo, properties =&amp;gt; ['name']);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Instead with the Standard Virtual Switch, i didn't encounter problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's all new code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $datacenter = $DCFILTER;&lt;/P&gt;&lt;P&gt;my $clusterFilter = $CLFILTER ;&lt;/P&gt;&lt;P&gt;my $datacenter_view = Vim::find_entity_view(view_type =&amp;gt; 'Datacenter', filter =&amp;gt; { name =&amp;gt; $datacenter });&lt;/P&gt;&lt;P&gt;my @values = split(/\|/, $clusterFilter);&lt;/P&gt;&lt;P&gt;foreach my $val (@values) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $cluster_view = Vim::find_entity_view(view_type =&amp;gt; 'ClusterComputeResource', filter =&amp;gt; { name =&amp;gt; qr/$val/});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $vm_views = Vim::find_entity_views(view_type =&amp;gt; 'VirtualMachine', properties =&amp;gt; ['name', 'config.hardware.device'], begin_entity =&amp;gt; $cluster_view);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (@$vm_views) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $_-&amp;gt;name . "\n";&lt;/P&gt;&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $vm = $_-&amp;gt;name;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @devs = @{ $_-&amp;gt;{'config.hardware.device'} };&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my @net_devs = grep { $_-&amp;gt;isa('VirtualEthernetCard') } @devs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach my $nic ( @net_devs ) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my ($name, $type, $network, $connect, $pg_mo, $pg);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # NIC type&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($nic-&amp;gt;isa('VirtualPCNet32')) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $type = 'Flexible';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $type = ref $nic;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: $type\n"; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pg_mo = $nic-&amp;gt;{'backing'}{'network'};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; $pg = Vim::get_view(mo_ref =&amp;gt; $pg_mo, properties =&amp;gt; ['name']);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $network = $pg-&amp;gt;{'name'};&lt;/P&gt;&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $connect = ( eval {$nic-&amp;gt;{'connectable'}{'startConnected'} ) ? 1 : 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $name = $nic-&amp;gt;{'deviceInfo'}{'label'};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp; nic '$name':\n";&lt;/P&gt;&lt;P&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; connect on power on: $connect\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; network portgroup: $network\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp;&amp;nbsp;&amp;nbsp; NIC type: $type\n"; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Util::disconnect();&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 15:37:23 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679429#M2765</guid>
      <dc:creator>Sergio81</dc:creator>
      <dc:date>2015-02-13T15:37:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679430#M2766</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It's possible the NIC doesn't have an assigned network portgroup.&amp;nbsp; So you can just check for an ignore it in cases where it's not set.&amp;nbsp; You may actually need to do this for a lot of properties in the API.&amp;nbsp; When building report tools in the past, I usually create an accessor method like 'get_property()' that does all the eval, undefined and other value checks and returns something for print sanity (empty string, 'null', etc).&amp;nbsp; There's actually a get_property() method that's on every object in the Perl SDK as well, but I don't use it myself.&amp;nbsp; Not sure how it handles undefined values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P style="margin: 2px; font-size: 14px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;$pg = Vim::get_view(mo_ref =&amp;gt; $pg_mo, properties =&amp;gt; ['name']) if defined $pg_mo;&lt;/P&gt;
&lt;P style="margin: 2px; font-size: 14px; font-family: proxima-nova, Arial, sans-serif; color: #666666;"&gt;$network = (defined $pg-&amp;gt;{'name'}) ? $pg-&amp;gt;{'name'} : &lt;SPAN style="color: #666666; font-family: proxima-nova, Arial, sans-serif; font-size: 14px;"&gt;'unset'&lt;/SPAN&gt;;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 15:53:47 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679430#M2766</guid>
      <dc:creator>stumpr</dc:creator>
      <dc:date>2015-02-13T15:53:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679431#M2767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Again thank you so much !!&lt;/P&gt;&lt;P&gt;The problem is that the most important information i want collect is the label of the NICs with Distributed Virtual Switch ... the only one who doesn't work) &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://communities.vmware.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 16:28:34 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679431#M2767</guid>
      <dc:creator>Sergio81</dc:creator>
      <dc:date>2015-02-13T16:28:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679432#M2768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;It's probably unset.&amp;nbsp; If you're not familiar, you can use the vSphere MOB to explore it - &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://your_vcenter_hostname:443/mob"&gt;https://your_vcenter_hostname:443/mob&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use that a lot when looking for "quirky" properties.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Mar 2015 13:00:13 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679432#M2768</guid>
      <dc:creator>stumpr</dc:creator>
      <dc:date>2015-03-17T13:00:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679433#M2769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, now i use this code to&amp;nbsp; find the Portgroup name:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $portgroupKey = $nic-&amp;gt;{backing}-&amp;gt;{port}-&amp;gt;{portgroupKey};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $dvsPortgroup = Vim::find_entity_view (&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; view_type =&amp;gt; "DistributedVirtualPortgroup",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin_entity =&amp;gt; $datacenter_view,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; properties =&amp;gt; [ 'name', 'key', 'config.distributedVirtualSwitch' ],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filter =&amp;gt; { 'key' =&amp;gt; $portgroupKey }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;my $Portgroup_name = $dvsPortgroup-&amp;gt;name;&lt;/P&gt;&lt;P&gt;this work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and with this i can retrive the switch UUID:&lt;/P&gt;&lt;P&gt;my $SwitchUuid = $nic-&amp;gt;{backing}-&amp;gt;{port}-&amp;gt;{switchUuid};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it's look like: 90 2d 05 40 1e 9f ba 9b-ea fe 3d ec 93 21 a1 ba&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now i need to retrieve the DVSwitch real name, something like "dvs_TEST-DR"...can i use the UUID to find the associated DVS name, how?&lt;BR /&gt;Maybe is there a better way?&lt;/P&gt;&lt;P&gt;Thank You!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Apr 2015 10:25:20 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679433#M2769</guid>
      <dc:creator>Sergio81</dc:creator>
      <dc:date>2015-04-02T10:25:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679434#M2770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would pre-fetch the DVS items:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;my $dv_switches = Vim::find_entity_views(view_type =&amp;gt; 'DistributedVirtualSwitch', properties =&amp;gt; ['name', 'uuid']);&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then, you can look it up by UUID:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;
&lt;P&gt;($this_dvs) = grep {$_-&amp;gt;{'uuid'} eq $the_uuid} @$dv_switches;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will give you the best performance as well, since you don't have to hit the API for every query (just the efficient first all DVS query).&amp;nbsp; You can add additional data from the DVSwitch object if you need it in your logic.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 12:54:30 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679434#M2770</guid>
      <dc:creator>stumpr</dc:creator>
      <dc:date>2015-04-03T12:54:30Z</dc:date>
    </item>
    <item>
      <title>Re: How to retrieve the network information (NIC) for each VM (perl vim)</title>
      <link>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679435#M2771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much Stumpr, now i have all i need &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.vmware.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Apr 2015 14:18:00 GMT</pubDate>
      <guid>https://communities.vmware.com/t5/vSphere-SDK-for-Perl-Discussions/How-to-retrieve-the-network-information-NIC-for-each-VM-perl-vim/m-p/2679435#M2771</guid>
      <dc:creator>Sergio81</dc:creator>
      <dc:date>2015-04-03T14:18:00Z</dc:date>
    </item>
  </channel>
</rss>

