github.com/vmware/govmomi@v0.51.0/cli/host/autostart/configure.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 autostart 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/vim25/types" 14 ) 15 16 type configure struct { 17 *AutostartFlag 18 19 types.AutoStartDefaults 20 } 21 22 func init() { 23 cli.Register("host.autostart.configure", &configure{}) 24 } 25 26 func (cmd *configure) Register(ctx context.Context, f *flag.FlagSet) { 27 cmd.AutostartFlag, ctx = newAutostartFlag(ctx) 28 cmd.AutostartFlag.Register(ctx, f) 29 30 f.Var(flags.NewOptionalBool(&cmd.Enabled), "enabled", "Enable autostart") 31 f.Var(flags.NewInt32(&cmd.StartDelay), "start-delay", "Start delay") 32 f.StringVar(&cmd.StopAction, "stop-action", "", "Stop action") 33 f.Var(flags.NewInt32(&cmd.StopDelay), "stop-delay", "Stop delay") 34 f.Var(flags.NewOptionalBool(&cmd.WaitForHeartbeat), "wait-for-heartbeat", "Wait for hearbeat") 35 } 36 37 func (cmd *configure) Process(ctx context.Context) error { 38 if err := cmd.AutostartFlag.Process(ctx); err != nil { 39 return err 40 } 41 return nil 42 } 43 44 func (cmd *configure) Run(ctx context.Context, f *flag.FlagSet) error { 45 return cmd.ReconfigureDefaults(cmd.AutoStartDefaults) 46 }