Documentation ¶
Index ¶
- Constants
- Variables
- type Command
- type Config
- type GithubLatestVersioner
- type LatestVersioner
- type LiveCommand
- type LiveConfig
- func (c *LiveConfig) GetBool(ns, key string) (bool, error)
- func (c *LiveConfig) GetGodoClient(trace bool) (*godo.Client, error)
- func (c *LiveConfig) GetInt(ns, key string) (int, error)
- func (c *LiveConfig) GetString(ns, key string) (string, error)
- func (c *LiveConfig) GetStringSlice(ns, key string) ([]string, error)
- func (c *LiveConfig) SSH(user, host, keyPath string, port int) runner.Runner
- func (c *LiveConfig) Set(ns, key string, val interface{})
- type MissingArgsErr
- type MockCommand
- type MockRunner
- type TokenSource
- type Version
Constants ¶
const ( // ArgActionID is an action id argument. ArgActionID = "action-id" // ArgActionAfter is an action after argument. ArgActionAfter = "after" // ArgActionBefore is an action before argument. ArgActionBefore = "before" // ArgActionResourceType is an action resource type argument. ArgActionResourceType = "resource-type" // ArgActionRegion is an action region argument. ArgActionRegion = "region" // ArgActionStatus is an action status argument. ArgActionStatus = "status" // ArgActionType is an action type argument. ArgActionType = "action-type" // ArgCommandWait is a wait for a droplet to be created argument. ArgCommandWait = "wait" // ArgDomainName is a domain name argument. ArgDomainName = "domain-name" // ArgDropletID is a droplet id argument. ArgDropletID = "droplet-id" // ArgKernelID is a ekrnel id argument. ArgKernelID = "kernel-id" // ArgImage is an image argument. ArgImage = "image" // ArgImageID is an image id argument. ArgImageID = "image-id" // ArgImagePublic is a public image argument. ArgImagePublic = "public" // ArgImageSlug is an image slug argment. ArgImageSlug = "image-slug" // ArgIPAddress is an IP address argument. ArgIPAddress = "ip-address" // ArgDropletName is a droplet name argument. ArgDropletName = "droplet-name" // ArgResizeDisk is a resize disk argument. ArgResizeDisk = "resize-disk" // ArgSnapshotName is a snapshot name arugment. ArgSnapshotName = "snapshot-name" // ArgBackups is an enable backups argument. ArgBackups = "enable-backups" // ArgIPv6 is an enable IPv6 argument. ArgIPv6 = "enable-ipv6" // ArgPrivateNetworking is an enable private networking argument. ArgPrivateNetworking = "enable-private-networking" // ArgRecordData is a record data argument. ArgRecordData = "record-data" // ArgRecordID is a record id argument. ArgRecordID = "record-id" // ArgRecordName is a record name argument. ArgRecordName = "record-name" // ArgRecordPort is a record port argument. ArgRecordPort = "record-port" // ArgRecordPriority is a record priority argument. ArgRecordPriority = "record-priority" // ArgRecordType is a record type argument. ArgRecordType = "record-type" // ArgRecordWeight is a record weight argument. ArgRecordWeight = "record-weight" // ArgRegionSlug is a region slug argument. ArgRegionSlug = "region" // ArgSizeSlug is a size slug argument. ArgSizeSlug = "size" // ArgsSSHKeyPath is a ssh argument. ArgsSSHKeyPath = "ssh-key-path" // ArgSSHKeys is a ssh key argument. ArgSSHKeys = "ssh-keys" // ArgsSSHPort is a ssh argument. ArgsSSHPort = "ssh-port" // ArgUserData is a user data argument. ArgUserData = "user-data" // ArgUserDataFile is a user data file location argument. ArgUserDataFile = "user-data-file" // ArgImageName name is an image name argument. ArgImageName = "image-name" // ArgKey is a key argument. ArgKey = "key" // ArgKeyName is a key name argument. ArgKeyName = "key-name" // ArgKeyPublicKey is a public key argument. ArgKeyPublicKey = "public-key" // ArgKeyPublicKeyFile is a public key file argument. ArgKeyPublicKeyFile = "public-key-file" // ArgSSHUser is a SSH user argument. ArgSSHUser = "ssh-user" // ArgFormat is columns to include in output argment. ArgFormat = "format" // ArgNoHeader hides the output header. ArgNoHeader = "no-header" // ArgPollTime is how long before the next poll argument. ArgPollTime = "poll-timeout" // ArgTagName is a tag name ArgTagName = "tag-name" // ArgOutput is an output type argument. ArgOutput = "output" // ArgDriveSize is the size of a drive. ArgDriveSize = "size" // ArgDriveDesc is the description of a drive. ArgDriveDesc = "desc" // ArgDriveRegion is the region of a drive. ArgDriveRegion = "region" // ArgDriveList is the IDs of many drives. ArgDriveList = "drives" )
const ( // NSRoot is a configuration key that signifies this value is at the root. NSRoot = "doctl" // LatestReleaseURL is the latest release URL endpoint. LatestReleaseURL = "https://api.github.com/repos/digitalocean/doctl/releases/latest" )
Variables ¶
var ( // DoitConfig holds the app's current configuration. DoitConfig Config = &LiveConfig{} // DoitVersion is doit's version. DoitVersion = Version{ Major: 1, Minor: 0, Patch: 0, Label: "dev", } // Build is doit's build tag. Build string // Major is doctl's major version. Major string // Minor is doctl's minor version. Minor string // Patch is doctl's patch version. Patch string // Label is doctl's label. Label string // TraceHTTP traces http connections. TraceHTTP bool )
Functions ¶
This section is empty.
Types ¶
type Command ¶ added in v0.5.0
type Command interface { Run(args ...string) ([]byte, error) Start(args ...string) error Stop() error }
Command runs commands.
type Config ¶
type Config interface { GetGodoClient(trace bool) (*godo.Client, error) SSH(user, host, keyPath string, port int) runner.Runner Set(ns, key string, val interface{}) GetString(ns, key string) (string, error) GetBool(ns, key string) (bool, error) GetInt(ns, key string) (int, error) GetStringSlice(ns, key string) ([]string, error) }
Config is an interface that represent doit's config.
type GithubLatestVersioner ¶ added in v1.0.0
type GithubLatestVersioner struct{}
GithubLatestVersioner retrieves the latest version from Github.
func (*GithubLatestVersioner) LatestVersion ¶ added in v1.0.0
func (glv *GithubLatestVersioner) LatestVersion() (string, error)
LatestVersion retrieves the latest version from Github or returns an error.
type LatestVersioner ¶ added in v1.0.0
LatestVersioner an interface for detecting the latest version.
type LiveCommand ¶ added in v0.5.0
type LiveCommand struct {
// contains filtered or unexported fields
}
LiveCommand is a live implementation of Command.
func NewLiveCommand ¶ added in v0.5.0
func NewLiveCommand(path string) *LiveCommand
NewLiveCommand creates a LiveCommand.
func (*LiveCommand) Run ¶ added in v0.5.0
func (c *LiveCommand) Run(args ...string) ([]byte, error)
Run runs a LiveCommand with args and returns stdout and an error if there was one.
func (*LiveCommand) Start ¶ added in v0.5.0
func (c *LiveCommand) Start(args ...string) error
Start runs a LiveCommand with args and starts it. This would most likely block, so you should call it in a goroutine.
func (*LiveCommand) Stop ¶ added in v0.5.0
func (c *LiveCommand) Stop() error
Stop stops an existing LiveCommand.
type LiveConfig ¶
type LiveConfig struct {
// contains filtered or unexported fields
}
LiveConfig is an implementation of Config for live values.
func (*LiveConfig) GetBool ¶ added in v0.5.0
func (c *LiveConfig) GetBool(ns, key string) (bool, error)
GetBool returns a config value as a bool.
func (*LiveConfig) GetGodoClient ¶ added in v0.5.0
func (c *LiveConfig) GetGodoClient(trace bool) (*godo.Client, error)
GetGodoClient returns a GodoClient.
func (*LiveConfig) GetInt ¶ added in v0.5.0
func (c *LiveConfig) GetInt(ns, key string) (int, error)
GetInt returns a config value as an int.
func (*LiveConfig) GetString ¶ added in v0.5.0
func (c *LiveConfig) GetString(ns, key string) (string, error)
GetString returns a config value as a string.
func (*LiveConfig) GetStringSlice ¶ added in v0.5.0
func (c *LiveConfig) GetStringSlice(ns, key string) ([]string, error)
GetStringSlice returns a config value as a string slice.
func (*LiveConfig) SSH ¶
func (c *LiveConfig) SSH(user, host, keyPath string, port int) runner.Runner
SSH creates a ssh connection to a host.
func (*LiveConfig) Set ¶ added in v0.5.0
func (c *LiveConfig) Set(ns, key string, val interface{})
Set sets a config key.
type MissingArgsErr ¶ added in v0.5.0
type MissingArgsErr struct {
Command string
}
MissingArgsErr is an error returned when their are too few arguments for a command.
func NewMissingArgsErr ¶ added in v0.5.0
func NewMissingArgsErr(cmd string) *MissingArgsErr
NewMissingArgsErr creates a MissingArgsErr instance.
func (*MissingArgsErr) Error ¶ added in v0.5.0
func (e *MissingArgsErr) Error() string
type MockCommand ¶ added in v0.5.0
type MockCommand struct {
// contains filtered or unexported fields
}
MockCommand is a mock command implementation. It allows you simulate running an external command.
func NewMockCommand ¶ added in v0.5.0
func NewMockCommand(path string) *MockCommand
NewMockCommand createsd a MockCommand.
func (*MockCommand) Run ¶ added in v0.5.0
func (c *MockCommand) Run(args ...string) ([]byte, error)
Run simulates the running of a command.
func (*MockCommand) Start ¶ added in v0.5.0
func (c *MockCommand) Start(args ...string) error
Start simulates starting a command.
func (*MockCommand) Stop ¶ added in v0.5.0
func (c *MockCommand) Stop() error
Stop simulates stoping a command.
type MockRunner ¶ added in v0.5.0
type MockRunner struct {
Err error
}
MockRunner is an implemenation of Runner for mocking.
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
pkg
|
|
term
Package term provides provides structures and helper functions to work with terminal (state, sizes).
|
Package term provides provides structures and helper functions to work with terminal (state, sizes). |
units
Package units provides helper function to parse and print size and time units in human-readable format.
|
Package units provides helper function to parse and print size and time units in human-readable format. |