Documentation ¶
Index ¶
- Constants
- Variables
- func ConvertActionResults(result params.ActionResult, query actionQuery) map[string]interface{}
- func Main(args []string) int
- func NewAddKeysCommand() cmd.Command
- func NewImportKeysCommand() cmd.Command
- func NewJujuCommand(ctx *cmd.Context) cmd.Command
- func NewListKeysCommand() cmd.Command
- func NewRemoveKeysCommand() cmd.Command
- func RegisterCommand(newCommand func() cmd.Command)
- func RegisterEnvCommand(newCommand func() modelcmd.ModelCommand)
- func RunPlugin(ctx *cmd.Context, subcommand string, args []string) error
- type ActionsAPI
- type BootstrapInterface
- type DebugLogAPI
- type MakeHAClient
- type PluginCommand
- type PluginDescription
- type RunClient
- type SSHCommon
- type SSHKeysBase
Constants ¶
const ( // SSHRetryDelay is the time to wait for an SSH connection to be established // to a single endpoint of a target. SSHRetryDelay = 500 * time.Millisecond // SSHTimeout is the time to wait for before giving up trying to establish // an SSH connection to a target, after retrying. SSHTimeout = 5 * time.Second // SSHPort is the TCP port used for SSH connections. SSHPort = 22 )
const JujuPluginPattern = "^juju-[a-zA-Z]"
const JujuPluginPrefix = "juju-"
Variables ¶
var SeverityColor = map[string]*ansiterm.Context{ "TRACE": ansiterm.Foreground(ansiterm.Default), "DEBUG": ansiterm.Foreground(ansiterm.Green), "INFO": ansiterm.Foreground(ansiterm.BrightBlue), "WARNING": ansiterm.Foreground(ansiterm.Yellow), "ERROR": ansiterm.Foreground(ansiterm.BrightRed), "CRITICAL": { Foreground: ansiterm.White, Background: ansiterm.Red, }, }
Functions ¶
func ConvertActionResults ¶
func ConvertActionResults(result params.ActionResult, query actionQuery) map[string]interface{}
ConvertActionResults takes the results from the api and creates a map suitable for format conversion to YAML or JSON.
func Main ¶
Main registers subcommands for the juju executable, and hands over control to the cmd package. This function is not redundant with main, because it provides an entry point for testing with arbitrary command line arguments. This function returns the exit code, for main to pass to os.Exit.
func NewAddKeysCommand ¶
NewAddKeysCommand is used to add a new ssh key to a model.
func NewImportKeysCommand ¶
NewImportKeysCommand is used to add new authorized ssh keys to a model.
func NewListKeysCommand ¶
NewListKeysCommand returns a command used to list the authorized ssh keys.
func NewRemoveKeysCommand ¶
NewRemoveKeysCommand is used to delete ssk keys for a user.
func RegisterCommand ¶
RegisterCommand adds the provided func to the set of those that will be called when the juju command runs. Each returned command will be registered with the "juju" supercommand.
func RegisterEnvCommand ¶
func RegisterEnvCommand(newCommand func() modelcmd.ModelCommand)
RegisterEnvCommand adds the provided func to the set of those that will be called when the juju command runs. Each returned command will be wrapped in envCmdWrapper, which is what gets registered with the "juju" supercommand.
Types ¶
type ActionsAPI ¶
type BootstrapInterface ¶
type BootstrapInterface interface { // Bootstrap bootstraps a controller. Bootstrap(ctx environs.BootstrapContext, environ environs.BootstrapEnviron, callCtx context.ProviderCallContext, args bootstrap.BootstrapParams) error // CloudDetector returns a CloudDetector for the given provider, // if the provider supports it. CloudDetector(environs.EnvironProvider) (environs.CloudDetector, bool) // CloudRegionDetector returns a CloudRegionDetector for the given provider, // if the provider supports it. CloudRegionDetector(environs.EnvironProvider) (environs.CloudRegionDetector, bool) // CloudFinalizer returns a CloudFinalizer for the given provider, // if the provider supports it. CloudFinalizer(environs.EnvironProvider) (environs.CloudFinalizer, bool) }
BootstrapInterface provides bootstrap functionality that Run calls to support cleaner testing.
type DebugLogAPI ¶
type DebugLogAPI interface { WatchDebugLog(params common.DebugLogParams) (<-chan common.LogMessage, error) Close() error }
type MakeHAClient ¶
type MakeHAClient interface { Close() error EnableHA( numControllers int, cons constraints.Value, placement []string) (params.ControllersChanges, error) }
MakeHAClient defines the methods on the client api that the ensure availability command calls.
type PluginCommand ¶
type PluginCommand struct { cmd.CommandBase // contains filtered or unexported fields }
func (*PluginCommand) Info ¶
func (*PluginCommand) Info() *cmd.Info
Info is just a stub so that PluginCommand implements cmd.Command. Since this is never actually called, we can happily return nil.
func (*PluginCommand) Init ¶
func (c *PluginCommand) Init(args []string) error
func (*PluginCommand) SetFlags ¶
func (c *PluginCommand) SetFlags(f *gnuflag.FlagSet)
type PluginDescription ¶
type PluginDescription struct {
// contains filtered or unexported fields
}
func GetPluginDescriptions ¶
func GetPluginDescriptions() []PluginDescription
GetPluginDescriptions runs each plugin with "--description". The calls to the plugins are run in parallel, so the function should only take as long as the longest call.
type RunClient ¶
type RunClient interface { action.APIClient RunOnAllMachines(commands string, timeout time.Duration) ([]params.ActionResult, error) Run(params.RunParams) ([]params.ActionResult, error) }
RunClient exposes the capabilities required by the CLI
type SSHCommon ¶
type SSHCommon struct { modelcmd.ModelCommandBase modelcmd.IAASOnlyCommand Target string Args []string // contains filtered or unexported fields }
SSHCommon implements functionality shared by sshCommand, SCPCommand and DebugHooksCommand.
func (*SSHCommon) AllowInterspersedFlags ¶
AllowInterspersedFlags for ssh/scp is set to false so that flags after the unit name are passed through to ssh, for eg. `juju ssh -v application-name/0 uname -a`.
type SSHKeysBase ¶
type SSHKeysBase struct { modelcmd.ModelCommandBase modelcmd.IAASOnlyCommand }
func (*SSHKeysBase) NewKeyManagerClient ¶
func (c *SSHKeysBase) NewKeyManagerClient() (*keymanager.Client, error)
NewKeyManagerClient returns a keymanager client for the root api endpoint that the environment command returns.
Source Files ¶
- add_sshkeys.go
- bootstrap.go
- bootstrap_clouds.go
- bootstrap_interactive.go
- commands.go
- debughooks.go
- debuglog.go
- enableha.go
- helptool.go
- import_sshkeys.go
- list_sshkeys.go
- main.go
- migrate.go
- plugin.go
- remove_sshkeys.go
- run.go
- scp.go
- ssh.go
- ssh_common.go
- sshkeys.go
- switch.go
- synctools.go
- upgrademodel.go