6.0

Table Of Contents
vSphere SDK for Perl Programming Guide
34 VMware, Inc.
Youcanalsomatchusingaregularexpressionobject,generallyknownasaqr//(quotedregularexpression)
object.Inthiscase,thevalueofthepropertymustmatchtheregularexpression.
ThefollowingfiltermatchesobjectswhosenamesbeginwithTest:
filter => { 'name' => qr/^Test/ }
filter => { 'name' => qr/^test/i } # make the match case-insensitive with the i option
Formoreinformationabouttheqr//operator,seetheperlre(perlregularexpressions)andperlopman
pagesinthestandardPerldocumentation.
ThefollowingexampleillustrateshowyoumightuseVim::find_entity_views()incombinationwitha
filter.Itprintsalistofvirtualmachineobjectswhoseguestoperatingsystemnamescontainthe
string
Windows.
Example 3-1. Filter that Creates Views of Windows-Based Virtual Machines Only
. . .
my $vm_views = Vim::find_entity_views(
view_type => 'VirtualMachine',
filter => {
# True if string 'Windows' appears anywhere in guestFullName
'config.guestFullName' => qr/Windows/
}
);
# Print VM names
foreach my $vm (@$vm_views) {
print "Name: " . $vm->name . "\n";
}
. . .
IfyoupassmultiplefiltercriteriatoVim::find_entity_view()orVim::find_entity_views(),the
methodreturnsonlythemanagedobjectsforwhichallcriteriamatch.Thefilterparameterspecifiedin
Example 32includestwocriteria.Theexamplereturnsonlyvirtualmachinesthatfulfillbothrequirements:
GuestoperatingsystemisWindowstheconfigproperty’sguestFullNamepropertyincludesthe
stringWindows.
Virtualmachineisrunning.ThepowerstateispoweredOn.
Example 3-2. Example of Multiple Filter Specification
. . .
my $vm_views = Vim::find_entity_views(
view_type => 'VirtualMachine',
filter => {
'config.guestFullName' => qr/Windows/,
'runtime.powerState' => 'poweredOn'
}
);
# Print VM names
foreach my $vm (@$vm_views) {
print "Name: " . $vm->name . "\n";
}
. . .
Filtering Views Selectively Using Properties
EachPerlviewobjecthaspropertiesthatcorrespondtopropertiesofserversidemanagedobjectsasfollows:
I
MPORTANTYoucanmatchonlypropertiesthathavesimpletypeslikestringsandnumbers.Specifyinga
propertywithacomplextypeasanargumenttoafilterresultsinafatalruntimeerror.Forexample,you
cannotspecifytheruntimepropertyofaVirtualMachineobject,whichisacomplexobject,not
astring.