...

Source file src/edge-infra.dev/pkg/edge/edgecli/flagutil/getflags.go

Documentation: edge-infra.dev/pkg/edge/edgecli/flagutil

     1  package flagutil
     2  
     3  import (
     4  	"errors"
     5  	"fmt"
     6  	"os"
     7  	"strconv"
     8  
     9  	"edge-infra.dev/pkg/edge/api/graph/model"
    10  	"edge-infra.dev/pkg/edge/edgecli"
    11  	"edge-infra.dev/pkg/edge/registration"
    12  	"edge-infra.dev/pkg/lib/cli/rags"
    13  )
    14  
    15  func GetConnectionFlags(cfg *edgecli.Config) []*rags.Rag {
    16  	return []*rags.Rag{
    17  		{
    18  			Name:  UsernameFlag,
    19  			Usage: "BSL username with edge credentials",
    20  			Value: &rags.String{Default: cfg.CurrentBanner().Username},
    21  		},
    22  		{
    23  			Name:  PasswordFlag,
    24  			Usage: "BSL password for username",
    25  			Value: &rags.String{},
    26  		},
    27  		{
    28  			Name:  Endpoint,
    29  			Usage: "URL pointing to edge api",
    30  			Value: &rags.String{Default: cfg.CurrentBanner().Endpoint},
    31  		},
    32  		{
    33  			Name:  BearerTokenFlag,
    34  			Usage: "Bearer token from UI",
    35  			Value: &rags.String{Default: cfg.CurrentBanner().Token},
    36  		},
    37  		{
    38  			Name:  OrganizationFlag,
    39  			Usage: "BSL organization for username",
    40  			Value: &rags.String{Default: cfg.CurrentBanner().TenantOrg},
    41  		},
    42  		{
    43  			Name:  "bff-endpoint",
    44  			Usage: "deprecating flag, now is api-endpoint",
    45  			Value: &rags.String{Default: ""},
    46  		},
    47  	}
    48  }
    49  
    50  func GetCommonFlags() []*rags.Rag {
    51  	return []*rags.Rag{
    52  		{
    53  			Name:  KubeConfigFlag,
    54  			Usage: "path to a kubeconfig file, for the store cluster",
    55  			Value: &rags.String{
    56  				Default: fmt.Sprintf("%s/.kube/config", os.Getenv("HOME")),
    57  			},
    58  		},
    59  		{
    60  			Name:  KubeConfigContextFlag,
    61  			Usage: "kubeconfig context, for store cluster",
    62  			Value: &rags.String{},
    63  		},
    64  		{
    65  			Name:  LumperImageFlag,
    66  			Usage: "override default lumper image",
    67  			Value: &rags.String{Default: registration.DefaultLumperImage},
    68  		},
    69  	}
    70  }
    71  
    72  func GetStringFlag(rs *rags.RagSet, name string) string {
    73  	if flag := rs.FlagSet().Lookup(name); flag != nil {
    74  		return flag.Value.String()
    75  	}
    76  	return ""
    77  }
    78  
    79  func GetBoolFlag(rs *rags.RagSet, name string) bool {
    80  	if flag := rs.FlagSet().Lookup(name); flag != nil {
    81  		if ret, err := strconv.ParseBool(flag.Value.String()); err == nil {
    82  			return ret
    83  		}
    84  	}
    85  	return false
    86  }
    87  
    88  func GetIntFlag(rs *rags.RagSet, name string) int {
    89  	if flag := rs.FlagSet().Lookup(name); flag != nil {
    90  		if ret, err := strconv.ParseInt(flag.Value.String(), 0, 64); err == nil {
    91  			return int(ret)
    92  		}
    93  	}
    94  	return 0
    95  }
    96  
    97  func GetFloat64Flag(rs *rags.RagSet, name string) float64 {
    98  	if flag := rs.FlagSet().Lookup(name); flag != nil {
    99  		if ret, err := strconv.ParseFloat(flag.Value.String(), 64); err == nil {
   100  			return ret
   101  		}
   102  	}
   103  	return 0
   104  }
   105  
   106  func SetFlag(rs *rags.RagSet, name, value string) error {
   107  	if flag := rs.FlagSet().Lookup(name); flag != nil {
   108  		return flag.Value.Set(value)
   109  	}
   110  	return errors.New("Flag " + name + " was not found")
   111  }
   112  
   113  func isValidTerminalClass(class *model.TerminalClassType) bool {
   114  	if class == nil {
   115  		return false
   116  	}
   117  	return *class == model.TerminalClassTypeServer || *class == model.TerminalClassTypeTouchpoint
   118  }
   119  

View as plain text