...

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

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

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

View as plain text