...

Source file src/edge-infra.dev/pkg/edge/edgecli/commands/terminal/disk/discover/discover.go

Documentation: edge-infra.dev/pkg/edge/edgecli/commands/terminal/disk/discover

     1  package discover
     2  
     3  import (
     4  	"context"
     5  	"fmt"
     6  
     7  	"edge-infra.dev/pkg/edge/api/graph/model"
     8  	"edge-infra.dev/pkg/edge/edgecli"
     9  	"edge-infra.dev/pkg/edge/edgecli/constructors"
    10  	"edge-infra.dev/pkg/edge/edgecli/flagutil"
    11  	"edge-infra.dev/pkg/lib/cli/command"
    12  	"edge-infra.dev/pkg/lib/cli/rags"
    13  )
    14  
    15  func NewCmd(cfg *edgecli.Config) *command.Command {
    16  	var cmd *command.Command
    17  	flagsets := flagutil.GetConnectionFlags(cfg)
    18  
    19  	cmd = &command.Command{
    20  		ShortUsage: "edge terminal disk discover",
    21  		ShortHelp:  "Edit the disk discovery",
    22  		Flags: append(
    23  			flagsets,
    24  			&rags.Rag{
    25  				Name:     flagutil.StoreFlag,
    26  				Value:    &rags.String{},
    27  				Usage:    "Name of the Store - Must be unique",
    28  				Required: true,
    29  			},
    30  			&rags.Rag{
    31  				Name:     flagutil.BannerFlag,
    32  				Value:    &rags.String{},
    33  				Usage:    "Banner name",
    34  				Required: true,
    35  			},
    36  			&rags.Rag{
    37  				Name:     flagutil.TerminalID,
    38  				Value:    &rags.String{},
    39  				Usage:    "ID of Terminal",
    40  				Required: true,
    41  			},
    42  			&rags.Rag{
    43  				Name:     flagutil.DiscoverDisksFlag,
    44  				Value:    &rags.String{},
    45  				Usage:    "Disk discovery option",
    46  				Required: true,
    47  			},
    48  		),
    49  		Exec: func(_ context.Context, _ []string) error {
    50  			if err := flagutil.ValidateRequiredFlags(cmd.Rags); err != nil {
    51  				return err
    52  			}
    53  
    54  			registrar, err := constructors.BuildRegistrar(cmd.Rags)
    55  			if err != nil {
    56  				return err
    57  			}
    58  
    59  			terminalID := flagutil.GetStringFlag(cmd.Rags, flagutil.TerminalID)
    60  			discoverDisk := flagutil.GetStringFlag(cmd.Rags, flagutil.DiscoverDisksFlag)
    61  
    62  			reqCtx, cancelReq := context.WithTimeout(context.Background(), flagutil.BffReqTimeout)
    63  			defer cancelReq()
    64  
    65  			updatedTerminal := model.TerminalUpdateInput{
    66  				DiscoverDisks: (*model.TerminalDiscoverDisksType)(&discoverDisk),
    67  			}
    68  
    69  			_, err = registrar.ModifyTerminal(reqCtx, terminalID, &updatedTerminal)
    70  			if err != nil {
    71  				fmt.Println("an error occurred whilst modifying the terminal discover disks option")
    72  				return err
    73  			}
    74  
    75  			return nil
    76  		},
    77  	}
    78  	return cmd
    79  }
    80  

View as plain text