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  }