github.com/vmware/govmomi@v0.51.0/find/example_test.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package find_test 6 7 import ( 8 "context" 9 "errors" 10 "fmt" 11 12 "github.com/vmware/govmomi/find" 13 "github.com/vmware/govmomi/simulator" 14 "github.com/vmware/govmomi/vim25" 15 ) 16 17 func ExampleMultipleFoundError() { 18 model := simulator.VPX() 19 model.Portgroup = 2 20 21 simulator.Run(func(ctx context.Context, c *vim25.Client) error { 22 finder := find.NewFinder(c) 23 24 _, err := finder.Network(ctx, "DC0_DVPG*") 25 _, ok := err.(*find.MultipleFoundError) // returns DC0_DVPG{0,1} 26 if !ok { 27 return errors.New("expected error") 28 } 29 30 net0, err := finder.Network(ctx, "DC0_DVPG0") 31 if err != nil { 32 return err 33 } 34 fmt.Println(net0.GetInventoryPath()) 35 36 net1, err := finder.Network(ctx, "DC0_DVPG1") 37 if err != nil { 38 return err 39 } 40 fmt.Println(net1.GetInventoryPath()) 41 42 return nil 43 }, model) 44 // Output: 45 // /DC0/network/DC0_DVPG0 46 // /DC0/network/DC0_DVPG1 47 }