github.com/vmware/govmomi@v0.51.0/cli/events/post.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 events 6 7 import ( 8 "context" 9 "flag" 10 11 "github.com/vmware/govmomi/cli" 12 "github.com/vmware/govmomi/cli/flags" 13 "github.com/vmware/govmomi/event" 14 "github.com/vmware/govmomi/vim25/types" 15 ) 16 17 type post struct { 18 *flags.DatacenterFlag 19 20 types.EventEx 21 } 22 23 func init() { 24 cli.Register("event.post", &post{}, true) 25 } 26 27 func (cmd *post) Register(ctx context.Context, f *flag.FlagSet) { 28 cmd.DatacenterFlag, ctx = flags.NewDatacenterFlag(ctx) 29 cmd.DatacenterFlag.Register(ctx, f) 30 31 f.StringVar(&cmd.EventTypeId, "i", "", "Event Type ID") 32 f.StringVar(&cmd.Message, "m", "", "Event message") 33 f.StringVar(&cmd.Severity, "s", string(types.EventEventSeverityInfo), "Event severity") 34 } 35 36 func (cmd *post) Usage() string { 37 return "PATH" 38 } 39 40 func (cmd *post) Description() string { 41 return `Post Event. 42 43 Examples: 44 govc event.post -s warning -i com.vmware.wcp.RegisterVM.failure $vm 45 govc event.post -s info -i com.vmware.wcp.RegisterVM.success $vm 46 govc event.post -m "cluster degraded" /dc1/host/cluster1` 47 } 48 49 func (cmd *post) Run(ctx context.Context, f *flag.FlagSet) error { 50 if f.NArg() != 1 { 51 return flag.ErrHelp 52 } 53 54 c, err := cmd.Client() 55 if err != nil { 56 return err 57 } 58 59 obj, err := cmd.ManagedObject(ctx, f.Arg(0)) 60 if err != nil { 61 return err 62 } 63 64 cmd.ObjectType = obj.Type 65 cmd.ObjectId = obj.Value 66 67 return event.NewManager(c).PostEvent(ctx, &cmd.EventEx) 68 }