github.com/vmware/govmomi@v0.51.0/event/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 event_test 6 7 import ( 8 "context" 9 "fmt" 10 11 "github.com/vmware/govmomi/event" 12 "github.com/vmware/govmomi/find" 13 "github.com/vmware/govmomi/simulator" 14 "github.com/vmware/govmomi/vim25" 15 "github.com/vmware/govmomi/vim25/mo" 16 "github.com/vmware/govmomi/vim25/types" 17 ) 18 19 // ensure event.Manager implements the mo.Reference interface 20 var _ mo.Reference = new(event.Manager) 21 22 func ExampleManager_Events() { 23 simulator.Run(func(ctx context.Context, c *vim25.Client) error { 24 m := event.NewManager(c) 25 26 vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0") 27 if err != nil { 28 return err 29 } 30 31 objs := []types.ManagedObjectReference{vm.Reference()} 32 33 return m.Events(ctx, objs, 10, false, false, func(ref types.ManagedObjectReference, events []types.BaseEvent) error { 34 event.Sort(events) 35 for _, event := range events { 36 fmt.Printf("%T\n", event) 37 } 38 return nil 39 }) 40 }) 41 // Output: 42 // *types.VmBeingCreatedEvent 43 // *types.VmInstanceUuidAssignedEvent 44 // *types.VmUuidAssignedEvent 45 // *types.VmCreatedEvent 46 // *types.VmStartingEvent 47 // *types.VmPoweredOnEvent 48 }