...

Source file src/edge-infra.dev/pkg/edge/edgeadmin/edgecliutils/constructors.go

Documentation: edge-infra.dev/pkg/edge/edgeadmin/edgecliutils

     1  package edgecliutils
     2  
     3  import (
     4  	"github.com/urfave/cli/v2"
     5  
     6  	edgeClient "edge-infra.dev/pkg/edge/api/client"
     7  	"edge-infra.dev/pkg/edge/edgeadmin/registrar"
     8  	"edge-infra.dev/pkg/edge/edgecli/flagutil"
     9  	"edge-infra.dev/pkg/edge/registration"
    10  	"edge-infra.dev/pkg/lib/runtime/version"
    11  )
    12  
    13  func BuildRegistrar(c *cli.Context) (*registrar.Registrar, error) {
    14  	opts := []edgeClient.Option{
    15  		edgeClient.WithBaseURL(c.String(flagutil.Endpoint)),
    16  	}
    17  
    18  	if c.String(BearerTokenFlag) != "" {
    19  		opts = append(opts, edgeClient.WithBearerToken(c.String(BearerTokenFlag)))
    20  	} else {
    21  		opts = append(opts, edgeClient.WithCredentials(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag), c.String(flagutil.OrganizationFlag)))
    22  	}
    23  
    24  	client, err := edgeClient.New(opts...)
    25  	if err != nil {
    26  		return nil, err
    27  	}
    28  
    29  	reg := &registrar.Registrar{
    30  		Client: client,
    31  	}
    32  
    33  	return reg, err
    34  }
    35  
    36  func BuildRegistration(c *cli.Context) (*registration.Registration, error) {
    37  	b := registration.NewBuilder().
    38  		// cluster info
    39  		Banner(c.String(BannerFlag)).
    40  		Store(c.String(StoreFlag)).
    41  		ClusterType(c.String(ClusterTypeFlag)).
    42  		// bff info
    43  		BSLOrganization(c.String(flagutil.OrganizationFlag)).
    44  		APIEndpoint(c.String(flagutil.Endpoint)).
    45  		BearerToken(c.String(BearerTokenFlag)).
    46  		BSLUserPassword(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag)).
    47  		CreateBSLSite(c.Bool(CreateBSLSite)).
    48  		BSLSiteEuid(c.String(BslSiteEuid)).
    49  		BSLSiteLatitude(c.Float64(BslSiteLatitude)).
    50  		BSLSiteLongitude(c.Float64(BslSiteLongitude)).
    51  		BSLSiteReferenceID(c.String(BslSiteRefernceID)).
    52  		Fleet(c.String(FleetFlag)).
    53  		//CLI Version
    54  		EdgeVersion(version.New().SemVer)
    55  	return b.Build()
    56  }
    57  

View as plain text