Documentation ¶
Overview ¶
Package sshclient implements the API endpoint required for Juju clients that wish to make SSH connections to Juju managed machines.
Index ¶
- func Register(registry facade.FacadeRegistry)
- type Backend
- type Broker
- type Facade
- func (facade *Facade) AllAddresses(args params.Entities) (params.SSHAddressesResults, error)
- func (facade *Facade) ModelCredentialForSSH() (params.CloudSpecResult, 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 Model
- type SSHMachine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Register ¶
func Register(registry facade.FacadeRegistry)
Register is called to expose a package of facades onto a given registry.
Types ¶
type Backend ¶
type Backend interface { ModelConfig() (*config.Config, error) GetMachineForEntity(tag string) (SSHMachine, error) GetSSHHostKeys(names.MachineTag) (state.SSHHostKeys, error) ModelTag() names.ModelTag ControllerTag() names.ControllerTag Model() (Model, error) CloudSpec() (environscloudspec.CloudSpec, error) }
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 entity in args. The result is sorted with public addresses first. Machines and units are supported as entity types.
func (*Facade) ModelCredentialForSSH ¶
func (facade *Facade) ModelCredentialForSSH() (params.CloudSpecResult, error)
ModelCredentialForSSH returns a cloud spec for ssh purpose. This facade call is only used for k8s model.
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 supported.
func (*Facade) PublicKeys ¶
PublicKeys returns the public SSH hosts for one or more entities. Machines and units are supported.
type Model ¶
type Model interface { ControllerUUID() string Config() (*config.Config, error) Type() state.ModelType }
Model defines a point of use interface for the model from state.
type SSHMachine ¶
type SSHMachine interface { MachineTag() names.MachineTag PublicAddress() (network.SpaceAddress, error) PrivateAddress() (network.SpaceAddress, error) Addresses() network.SpaceAddresses AllDeviceSpaceAddresses() (network.SpaceAddresses, error) }
SSHMachine specifies the methods on State.Machine of interest to the SSHClient facade.