package edgecliutils import ( "github.com/urfave/cli/v2" edgeClient "edge-infra.dev/pkg/edge/api/client" "edge-infra.dev/pkg/edge/edgeadmin/registrar" "edge-infra.dev/pkg/edge/edgecli/flagutil" "edge-infra.dev/pkg/edge/registration" "edge-infra.dev/pkg/lib/runtime/version" ) func BuildRegistrar(c *cli.Context) (*registrar.Registrar, error) { opts := []edgeClient.Option{ edgeClient.WithBaseURL(c.String(flagutil.Endpoint)), } if c.String(BearerTokenFlag) != "" { opts = append(opts, edgeClient.WithBearerToken(c.String(BearerTokenFlag))) } else { opts = append(opts, edgeClient.WithCredentials(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag), c.String(flagutil.OrganizationFlag))) } client, err := edgeClient.New(opts...) if err != nil { return nil, err } reg := ®istrar.Registrar{ Client: client, } return reg, err } func BuildRegistration(c *cli.Context) (*registration.Registration, error) { b := registration.NewBuilder(). // cluster info Banner(c.String(BannerFlag)). Store(c.String(StoreFlag)). ClusterType(c.String(ClusterTypeFlag)). // bff info BSLOrganization(c.String(flagutil.OrganizationFlag)). APIEndpoint(c.String(flagutil.Endpoint)). BearerToken(c.String(BearerTokenFlag)). BSLUserPassword(c.String(flagutil.UsernameFlag), c.String(flagutil.PasswordFlag)). CreateBSLSite(c.Bool(CreateBSLSite)). BSLSiteEuid(c.String(BslSiteEuid)). BSLSiteLatitude(c.Float64(BslSiteLatitude)). BSLSiteLongitude(c.Float64(BslSiteLongitude)). BSLSiteReferenceID(c.String(BslSiteRefernceID)). Fleet(c.String(FleetFlag)). //CLI Version EdgeVersion(version.New().SemVer) return b.Build() }