Documentation ¶
Overview ¶
Package sshclient implements the API endpoint required for Juju clients that wish to make SSH connections to Juju managed machines.
Index ¶
- type Backend
- type Facade
- func (facade *Facade) AllAddresses(args params.Entities) (params.SSHAddressesResults, error)
- func (facade *Facade) PrivateAddress(args params.Entities) (params.SSHAddressResults, error)
- func (facade *Facade) Proxy() (params.SSHProxyResult, error)
- func (facade *Facade) PublicAddress(args params.Entities) (params.SSHAddressResults, error)
- func (facade *Facade) PublicKeys(args params.Entities) (params.SSHPublicKeysResults, error)
- type SSHMachine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface { ModelConfig() (*config.Config, error) GetMachineForEntity(tag string) (SSHMachine, error) GetSSHHostKeys(names.MachineTag) (state.SSHHostKeys, error) ModelTag() names.ModelTag }
Backend defines the State API used by the sshclient facade.
type Facade ¶
type Facade struct {
// contains filtered or unexported fields
}
Facade implements the API required by the sshclient worker.
func (*Facade) AllAddresses ¶
AllAddresses reports all addresses known to Juju for each given entity in args. Machines and units are supported as entity types. Since the returned addresses are gathered from multiple sources, results may include duplicates.
func (*Facade) PrivateAddress ¶
PrivateAddress reports the preferred private network address for one or more entities. Machines and units are supported.
func (*Facade) Proxy ¶
func (facade *Facade) Proxy() (params.SSHProxyResult, error)
Proxy returns whether SSH connections should be proxied through the controller hosts for the model associated with the API connection.
func (*Facade) PublicAddress ¶
PublicAddress reports the preferred public network address for one or more entities. Machines and units are suppored.
func (*Facade) PublicKeys ¶
PublicKeys returns the public SSH hosts for one or more entities. Machines and units are supported.
type SSHMachine ¶
type SSHMachine interface { MachineTag() names.MachineTag PublicAddress() (network.Address, error) PrivateAddress() (network.Address, error) Addresses() []network.Address AllNetworkAddresses() ([]network.Address, error) }
SSHMachine specifies the methods on State.Machine of interest to the SSHClient facade.