cli

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2022 License: AGPL-3.0 Imports: 36 Imported by: 0

README

[EXPERIMENTAL] Viam Command Line Interface

This is an experimental feature, so things may change without notice.

Install with go build -o ~/go/bin/viam cli/cmd/main.go

Getting Started

Enter viam auth and follow instructions to authenticate.

Documentation

Overview

Package cli contains all business logic needed by the CLI command.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppClient

type AppClient struct {
	// contains filtered or unexported fields
}

The AppClient provides all the CLI command functionality needed to talk to the app service but not directly to robot parts.

func NewAppClient

func NewAppClient(c *cli.Context) (*AppClient, error)

NewAppClient returns a new app client that may already be authenticated.

func (*AppClient) Authenticate

func (c *AppClient) Authenticate(ctx context.Context, token string) error

Authenticate authenticates the client with the given token.

func (*AppClient) BinaryData added in v0.1.6

func (c *AppClient) BinaryData(dst string, filter *datapb.Filter) error

BinaryData downloads binary data matching filter to dst.

func (*AppClient) Config

func (c *AppClient) Config() *Config

Config returns the current config.

func (*AppClient) ListLocations

func (c *AppClient) ListLocations(orgID string) ([]*apppb.Location, error)

ListLocations returns all locations in the given organizationbelonging to the currently authenticated user.

func (*AppClient) ListOrganizations

func (c *AppClient) ListOrganizations() ([]*apppb.Organization, error)

ListOrganizations returns all organizations belonging to the currently authenticated user.

func (*AppClient) ListRobots

func (c *AppClient) ListRobots(orgStr, locStr string) ([]*apppb.Robot, error)

ListRobots returns all robots in the given location.

func (*AppClient) LocationAuth

func (c *AppClient) LocationAuth(orgStr, locStr string) (*apppb.LocationAuth, error)

LocationAuth returns the authentication material for the given location.

func (*AppClient) Logout

func (c *AppClient) Logout() error

Logout logs out the client and clears the config.

func (*AppClient) PrepareAuthorization

func (c *AppClient) PrepareAuthorization() (string, string, error)

PrepareAuthorization prepares authorization for this device and returns the device token to late authenticate with and the URL to authorize the device at.

func (*AppClient) PrintRobotPartLogs

func (c *AppClient) PrintRobotPartLogs(orgStr, locStr, robotStr, partStr string, errorsOnly bool, indent, header string) error

PrintRobotPartLogs prints logs for the given robot part.

func (*AppClient) RPCOpts

func (c *AppClient) RPCOpts() []rpc.DialOption

RPCOpts returns RPC dial options dervied from the base URL being used in the current invocation of the CLI.

func (*AppClient) Robot

func (c *AppClient) Robot(orgStr, locStr, robotStr string) (*apppb.Robot, error)

Robot returns the given robot.

func (*AppClient) RobotPart

func (c *AppClient) RobotPart(orgStr, locStr, robotStr, partStr string) (*apppb.RobotPart, error)

RobotPart returns the given robot part belonging to a robot.

func (*AppClient) RobotPartLogs

func (c *AppClient) RobotPartLogs(orgStr, locStr, robotStr, partStr string) ([]*apppb.LogEntry, error)

RobotPartLogs returns recent logs for the given robot part.

func (*AppClient) RobotPartLogsErrors

func (c *AppClient) RobotPartLogsErrors(orgStr, locStr, robotStr, partStr string) ([]*apppb.LogEntry, error)

RobotPartLogsErrors returns recent error logs for the given robot part.

func (*AppClient) RobotParts

func (c *AppClient) RobotParts(orgStr, locStr, robotStr string) ([]*apppb.RobotPart, error)

RobotParts returns all parts of the given robot.

func (*AppClient) RunRobotPartCommand

func (c *AppClient) RunRobotPartCommand(
	orgStr, locStr, robotStr, partStr string,
	svcMethod, data string,
	streamDur time.Duration,
	debug bool,
	logger golog.Logger,
) error

RunRobotPartCommand runs the given command on a robot part.

func (*AppClient) SelectedLoc

func (c *AppClient) SelectedLoc() *apppb.Location

SelectedLoc returns the currently selected location, possibly zero initialized.

func (*AppClient) SelectedOrg

func (c *AppClient) SelectedOrg() *apppb.Organization

SelectedOrg returns the currently selected organization, possibly zero initialized.

func (*AppClient) StartRobotPartShell

func (c *AppClient) StartRobotPartShell(
	orgStr, locStr, robotStr, partStr string,
	debug bool,
	logger golog.Logger,
) error

StartRobotPartShell starts a shell on a robot part.

func (*AppClient) TabularData added in v0.1.6

func (c *AppClient) TabularData(dst string, filter *datapb.Filter) error

TabularData downloads binary data matching filter to dst.

func (*AppClient) TailRobotPartLogs

func (c *AppClient) TailRobotPartLogs(orgStr, locStr, robotStr, partStr string, errorsOnly bool, indent, header string) error

TailRobotPartLogs tails and prints logs for the given robot part.

type Config

type Config struct {
	Auth      string `json:"auth"` // opaque
	AuthEmail string `json:"-"`
}

Config contains stored config information for the CLI.

Directories

Path Synopsis
Package main is the CLI command itself.
Package main is the CLI command itself.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL