 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Variables
- func GetCreateFlags() []cli.Flag
- func GetCreateFlagsForDriver(name string) ([]cli.Flag, error)
- func GetDriverNames() []string
- func GetSSHClientFromDriver(d Driver) (ssh.Client, error)
- func MachineInState(d Driver, desiredState state.State) func() bool
- func Register(name string, registeredDriver *RegisteredDriver) error
- func RunSSHCommandFromDriver(d Driver, command string) (string, error)
- func WaitForSSH(d Driver) error
- type BaseDriver
- func (d *BaseDriver) AuthorizePort(ports []*Port) error
- func (d *BaseDriver) DeauthorizePort(ports []*Port) error
- func (d *BaseDriver) DriverName() string
- func (d *BaseDriver) GetMachineName() string
- func (d *BaseDriver) GetSSHKeyPath() string
- func (d *BaseDriver) GetSSHPort() (int, error)
- func (d *BaseDriver) GetSSHUsername() string
- func (d *BaseDriver) ResolveStorePath(path string) string
 
- type ByFlagName
- type Driver
- type DriverOptions
- type Port
- type RegisteredDriver
Constants ¶
This section is empty.
Variables ¶
var ErrHostIsNotRunning = errors.New("host is not running")
    Functions ¶
func GetCreateFlags ¶
GetCreateFlags runs GetCreateFlags for all of the drivers and returns their return values indexed by the driver name
func GetCreateFlagsForDriver ¶ added in v0.3.0
func GetDriverNames ¶
func GetDriverNames() []string
GetDriverNames returns a slice of all registered driver names
func GetSSHClientFromDriver ¶ added in v0.3.0
func MachineInState ¶ added in v0.2.0
func Register ¶
func Register(name string, registeredDriver *RegisteredDriver) error
Register a driver
func RunSSHCommandFromDriver ¶ added in v0.3.0
func WaitForSSH ¶ added in v0.3.0
Types ¶
type BaseDriver ¶ added in v0.3.1
type BaseDriver struct {
	IPAddress      string
	SSHUser        string
	SSHPort        int
	MachineName    string
	CaCertPath     string
	PrivateKeyPath string
	SwarmMaster    bool
	SwarmHost      string
	SwarmDiscovery string
	// contains filtered or unexported fields
}
    BaseDriver - Embed this struct into drivers to provide the common set of fields and functions.
func NewBaseDriver ¶ added in v0.3.1
func NewBaseDriver(machineName string, storePath string, caCert string, privateKey string) *BaseDriver
NewBaseDriver - Get an instance of a BaseDriver
func (*BaseDriver) AuthorizePort ¶ added in v0.3.1
func (d *BaseDriver) AuthorizePort(ports []*Port) error
AuthorizePort -
func (*BaseDriver) DeauthorizePort ¶ added in v0.3.1
func (d *BaseDriver) DeauthorizePort(ports []*Port) error
DeauthorizePort -
func (*BaseDriver) DriverName ¶ added in v0.3.1
func (d *BaseDriver) DriverName() string
DriverName - This must be implemented in every driver
func (*BaseDriver) GetMachineName ¶ added in v0.3.1
func (d *BaseDriver) GetMachineName() string
GetMachineName -
func (*BaseDriver) GetSSHKeyPath ¶ added in v0.3.1
func (d *BaseDriver) GetSSHKeyPath() string
GetSSHKeyPath -
func (*BaseDriver) GetSSHPort ¶ added in v0.3.1
func (d *BaseDriver) GetSSHPort() (int, error)
GetSSHPort -
func (*BaseDriver) GetSSHUsername ¶ added in v0.3.1
func (d *BaseDriver) GetSSHUsername() string
GetSSHUsername -
func (*BaseDriver) ResolveStorePath ¶ added in v0.3.1
func (d *BaseDriver) ResolveStorePath(path string) string
ResolveStorePath -
type ByFlagName ¶
func (ByFlagName) Len ¶
func (flags ByFlagName) Len() int
func (ByFlagName) Less ¶
func (flags ByFlagName) Less(i, j int) bool
func (ByFlagName) Swap ¶
func (flags ByFlagName) Swap(i, j int)
type Driver ¶
type Driver interface {
	// AuthorizePort authorizes a port for machine access
	AuthorizePort(ports []*Port) error
	// Create a host using the driver's config
	Create() error
	DeauthorizePort(ports []*Port) error
	// DriverName returns the name of the driver as it is registered
	DriverName() string
	// GetIP returns an IP or hostname that this host is available at
	// e.g. 1.2.3.4 or docker-host-d60b70a14d3a.cloudapp.net
	GetIP() (string, error)
	// GetMachineName returns the name of the machine
	GetMachineName() string
	// GetSSHHostname returns hostname for use with ssh
	GetSSHHostname() (string, error)
	// GetSSHKeyPath returns key path for use with ssh
	GetSSHKeyPath() string
	// GetSSHPort returns port for use with ssh
	GetSSHPort() (int, error)
	// GetSSHUsername returns username for use with ssh
	GetSSHUsername() string
	// GetURL returns a Docker compatible host URL for connecting to this host
	// e.g. tcp://1.2.3.4:2376
	GetURL() (string, error)
	// GetState returns the state that the host is in (running, stopped, etc)
	GetState() (state.State, error)
	// Kill stops a host forcefully
	Kill() error
	// PreCreateCheck allows for pre-create operations to make sure a driver is ready for creation
	PreCreateCheck() error
	// Remove a host
	Remove() error
	// Restart a host. This may just call Stop(); Start() if the provider does not
	// have any special restart behaviour.
	Restart() error
	// SetConfigFromFlags configures the driver with the object that was returned
	// by RegisterCreateFlags
	SetConfigFromFlags(flags DriverOptions) error
	// Start a host
	Start() error
	// Stop a host gracefully
	Stop() error
}
    Driver defines how a host is created and controlled. Different types of driver represent different ways hosts can be created (e.g. different hypervisors, different cloud providers)
type DriverOptions ¶
type RegisteredDriver ¶
type RegisteredDriver struct {
	New            func(machineName string, storePath string, caCert string, privateKey string) (Driver, error)
	GetCreateFlags func() []cli.Flag
}
    RegisteredDriver is used to register a driver with the Register function. It has two attributes:
- New: a function that returns a new driver given a path to store host configuration in
- RegisterCreateFlags: a function that takes the FlagSet for "docker hosts create" and returns an object to pass to SetConfigFromFlags
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| this is empty to allow builds on non-windows platforms | this is empty to allow builds on non-windows platforms | 
| Package vmwarefusion is empty to allow builds on non-darwin platforms | Package vmwarefusion is empty to allow builds on non-darwin platforms |