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) CloudSpec() (environscloudspec.CloudSpec, 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 that might have SSH listening for each given entity in args. Machines and units are supported as entity types. TODO(wpk): 2017-05-17 This is a temporary solution, we should not fetch environ here but get the addresses from state. We will be changing it since we want to have space-aware SSH settings.
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.SpaceAddress, error) PrivateAddress() (network.SpaceAddress, error) Addresses() network.SpaceAddresses AllNetworkAddresses() (network.SpaceAddresses, error) }
SSHMachine specifies the methods on State.Machine of interest to the SSHClient facade.