Documentation
¶
Index ¶
- Constants
- Variables
- func ConfigurationOpenAPISpec() string
- func HostOpenAPISpec() string
- type AgentPrivateKey
- type AskPasswordFunc
- type Config
- type ConnectionConfig
- type Flags
- type FlagsParser
- func (p *FlagsParser) ExtractConfigAfterParse(flags *Flags, opts ...ValidateOption) (*ConnectionConfig, error)
- func (p *FlagsParser) InitFlags(set *flag.FlagSet) (*Flags, error)
- func (p *FlagsParser) ParseFlagsAndExtractConfig(arguments []string, set *flag.FlagSet, opts ...ValidateOption) (*ConnectionConfig, error)
- func (p *FlagsParser) WithAsk(ask AskPasswordFunc) *FlagsParser
- func (p *FlagsParser) WithPrivateKeyPasswordExtractor(extractor PrivateKeyExtractorFunc) *FlagsParser
- type Host
- type Mode
- type PrivateKeyExtractorFunc
- type ValidateOption
Constants ¶
const ( AgentPrivateKeysEnv = "SSH_AGENT_PRIVATE_KEYS" BastionHostEnv = "SSH_BASTION_HOST" BastionUserEnv = "SSH_BASTION_USER" BastionPortEnv = "SSH_BASTION_PORT" UserEnv = "SSH_USER" HostsEnv = "SSH_HOSTS" PortEnv = "SSH_PORT" ExtraArgsEnv = "SSH_EXTRA_ARGS" ConnectionConfigEnv = "CONNECTION_CONFIG" LegacyModeEnv = "SSH_LEGACY_MODE" ModernModeEnv = "SSH_MODERN_MODE" AskBastionPasswordEnv = "ASK_BASTION_PASS" AskSudoPasswordEnv = "ASK_BECOME_PASS" ForceNoPrivateKeysEnv = "FORCE_NO_PRIVATE_KEYS" UseAgentWithNoPrivateKeysEnv = "USE_AGENT_WITH_NO_PRIVATE_KEYS" )
const DefaultPort = 22
Variables ¶
var (
ErrValidationRuleFailed = fmt.Errorf("validation rule failed")
)
Functions ¶
func ConfigurationOpenAPISpec ¶
func ConfigurationOpenAPISpec() string
func HostOpenAPISpec ¶
func HostOpenAPISpec() string
Types ¶
type AgentPrivateKey ¶
type AskPasswordFunc ¶
type Config ¶
type Config struct {
Mode
User string `json:"sshUser"`
Port *int `json:"sshPort,omitempty"`
SudoPassword string `json:"sudoPassword,omitempty"`
PrivateKeys []AgentPrivateKey `json:"sshAgentPrivateKeys,omitempty"`
BastionHost string `json:"sshBastionHost,omitempty"`
BastionPort *int `json:"sshBastionPort,omitempty"`
BastionUser string `json:"sshBastionUser,omitempty"`
BastionPassword string `json:"sshBastionPassword,omitempty"`
ExtraArgs string `json:"sshExtraArgs,omitempty"`
ForceUseSSHAgent bool `json:"forceUseSSHAgent,omitempty"`
}
func (*Config) BastionPortString ¶
func (*Config) FillDefaults ¶
func (*Config) HaveAuthMethods ¶
func (*Config) PortString ¶
type ConnectionConfig ¶
func ParseConnectionConfig ¶
func ParseConnectionConfig(reader io.Reader, sett settings.Settings, opts ...ValidateOption) (*ConnectionConfig, error)
type Flags ¶
type Flags struct {
Mode
PrivateKeysPaths []string
BastionHost string
BastionPort int
BastionUser string
User string
Hosts []string
Port int
ExtraArgs string
ConnectionConfigPath string
AskBastionPass bool
AskSudoPass bool
// contains filtered or unexported fields
}
func (*Flags) ExtractConfig ¶ added in v0.2.0
func (f *Flags) ExtractConfig(args []string, opts ...ValidateOption) (*ConnectionConfig, error)
ExtractConfig if args is nil used os.Args
func (*Flags) FillDefaults ¶
func (*Flags) IsConflictBetweenFlags ¶
func (*Flags) RewriteFromEnvs ¶
type FlagsParser ¶
type FlagsParser struct {
*baseflags.BaseParser
// contains filtered or unexported fields
}
func NewFlagsParser ¶
func NewFlagsParser(sett settings.Settings) *FlagsParser
NewFlagsParser init FlagsParser prefix will trim right all _ ang - symbols and spaces left and right from settings.Settings EnvsPrefix By default parser add _ after prefix for all env vars
func (*FlagsParser) ExtractConfigAfterParse ¶
func (p *FlagsParser) ExtractConfigAfterParse(flags *Flags, opts ...ValidateOption) (*ConnectionConfig, error)
ExtractConfigAfterParse extract ConnectionConfig from flags Flags contains copy of set. For parse use Flags.Parse if flag.FlagSet in Flags is not parse returns error
func (*FlagsParser) InitFlags ¶
func (p *FlagsParser) InitFlags(set *flag.FlagSet) (*Flags, error)
InitFlags init flag.FlagSet and return struct with flags where flag.FlagSet parsed should call before flag.Parse or flag.FlagSet.Parse if set is parsed returns error
func (*FlagsParser) ParseFlagsAndExtractConfig ¶
func (p *FlagsParser) ParseFlagsAndExtractConfig(arguments []string, set *flag.FlagSet, opts ...ValidateOption) (*ConnectionConfig, error)
ParseFlagsAndExtractConfig initialize, parse and extract ConnectionConfig from flags set flag.FlagSet can be nil. If nil, func initialize new flag.FlagSet if arguments is nil extract arguments from os.Args
func (*FlagsParser) WithAsk ¶
func (p *FlagsParser) WithAsk(ask AskPasswordFunc) *FlagsParser
func (*FlagsParser) WithPrivateKeyPasswordExtractor ¶
func (p *FlagsParser) WithPrivateKeyPasswordExtractor(extractor PrivateKeyExtractorFunc) *FlagsParser
type PrivateKeyExtractorFunc ¶
type ValidateOption ¶
type ValidateOption func(o *validateOptions)
func ParseWithNoPrettyError ¶
func ParseWithNoPrettyError(v bool) ValidateOption
func ParseWithOmitDocInError ¶
func ParseWithOmitDocInError(v bool) ValidateOption
func ParseWithRequiredSSHHost ¶
func ParseWithRequiredSSHHost(v bool) ValidateOption
func ParseWithSkipUnknownKinds ¶
func ParseWithSkipUnknownKinds(v bool) ValidateOption
func ParseWithStrictUnmarshal ¶
func ParseWithStrictUnmarshal(v bool) ValidateOption