libmachine

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2015 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidHostname     = errors.New("Invalid hostname specified")
	ErrUnknownProviderType = errors.New("Unknown hypervisor type")
)

Functions

func ValidateHostName

func ValidateHostName(name string) bool

func WaitForSSH

func WaitForSSH(h *Host) error

Types

type CertPathInfo

type CertPathInfo struct {
	CaCertPath     string
	CaKeyPath      string
	ClientCertPath string
	ClientKeyPath  string
	ServerCertPath string
	ServerKeyPath  string
}

type ErrHostDoesNotExist

type ErrHostDoesNotExist struct {
	Name string
}

func (ErrHostDoesNotExist) Error

func (e ErrHostDoesNotExist) Error() string

type Filestore

type Filestore struct {
	// contains filtered or unexported fields
}

func NewFilestore

func NewFilestore(rootPath string, caCert string, privateKey string) *Filestore

func (Filestore) Exists

func (s Filestore) Exists(name string) (bool, error)

func (Filestore) Get

func (s Filestore) Get(name string) (*Host, error)

func (Filestore) GetActive

func (s Filestore) GetActive() (*Host, error)

func (Filestore) GetCACertificatePath

func (s Filestore) GetCACertificatePath() (string, error)

func (Filestore) GetPath

func (s Filestore) GetPath() string

func (Filestore) GetPrivateKeyPath

func (s Filestore) GetPrivateKeyPath() (string, error)

func (Filestore) List

func (s Filestore) List() ([]*Host, error)

func (Filestore) Remove

func (s Filestore) Remove(name string, force bool) error

func (Filestore) Save

func (s Filestore) Save(host *Host) error

type Host

type Host struct {
	Name        string `json:"-"`
	DriverName  string
	Driver      drivers.Driver
	StorePath   string
	HostOptions *HostOptions

	// deprecated options; these are left to assist in config migrations
	SwarmHost      string
	SwarmMaster    bool
	SwarmDiscovery string
	CaCertPath     string
	PrivateKeyPath string
	ServerCertPath string
	ServerKeyPath  string
	ClientCertPath string
	ClientKeyPath  string
}

func FillNestedHost

func FillNestedHost(host *Host) *Host

validates host config and modifies if needed this is used for configuration updates

func LoadHost

func LoadHost(name string, StorePath string) (*Host, error)

func NewHost

func NewHost(name, driverName string, hostOptions *HostOptions) (*Host, error)

func (*Host) ConfigureAuth

func (h *Host) ConfigureAuth() error

func (*Host) Create

func (h *Host) Create(name string) error

func (*Host) CreateSSHClient

func (h *Host) CreateSSHClient() (ssh.Client, error)

func (*Host) CreateSSHShell

func (h *Host) CreateSSHShell() error

func (*Host) GetURL

func (h *Host) GetURL() (string, error)

func (*Host) Kill

func (h *Host) Kill() error

func (*Host) LoadConfig

func (h *Host) LoadConfig() error

func (*Host) PrintIP

func (h *Host) PrintIP() error

func (*Host) Remove

func (h *Host) Remove(force bool) error

func (*Host) Restart

func (h *Host) Restart() error

func (*Host) RunSSHCommand

func (h *Host) RunSSHCommand(command string) (string, error)

func (*Host) SaveConfig

func (h *Host) SaveConfig() error

func (*Host) Start

func (h *Host) Start() error

func (*Host) Stop

func (h *Host) Stop() error

func (*Host) Upgrade

func (h *Host) Upgrade() error

type HostListItem

type HostListItem struct {
	Name         string
	Active       bool
	DriverName   string
	State        state.State
	URL          string
	SwarmOptions swarm.SwarmOptions
}

func GetHostListItems

func GetHostListItems(hostList []*Host) []HostListItem

type HostMetadata

type HostMetadata struct {
	DriverName     string
	HostOptions    HostOptions
	StorePath      string
	CaCertPath     string
	PrivateKeyPath string
	ServerCertPath string
	ServerKeyPath  string
	ClientCertPath string
}

func FillNestedHostMetadata

func FillNestedHostMetadata(m *HostMetadata) *HostMetadata

fills nested host metadata and modifies if needed this is used for configuration updates

type HostOptions

type HostOptions struct {
	Driver        string
	Memory        int
	Disk          int
	EngineOptions *engine.EngineOptions
	SwarmOptions  *swarm.SwarmOptions
	AuthOptions   *auth.AuthOptions
}

type Machine

type Machine struct {
	// contains filtered or unexported fields
}

func New

func New(store Store) (*Machine, error)

func (*Machine) Create

func (m *Machine) Create(name string, driverName string, hostOptions *HostOptions, driverConfig drivers.DriverOptions) (*Host, error)

func (*Machine) Exists

func (m *Machine) Exists(name string) (bool, error)

func (*Machine) Get

func (m *Machine) Get(name string) (*Host, error)

func (*Machine) GetActive

func (m *Machine) GetActive() (*Host, error)

func (*Machine) List

func (m *Machine) List() ([]*Host, error)

func (*Machine) Remove

func (m *Machine) Remove(name string, force bool) error

type Store

type Store interface {
	// Exists returns whether a machine exists or not
	Exists(name string) (bool, error)
	// GetActive returns the active host
	GetActive() (*Host, error)
	// GetPath returns the path to the store
	GetPath() string
	// GetCACertPath returns the CA certificate
	GetCACertificatePath() (string, error)
	// GetPrivateKeyPath returns the private key
	GetPrivateKeyPath() (string, error)
	// List returns a list of hosts
	List() ([]*Host, error)
	// Load loads a host by name
	Get(name string) (*Host, error)
	// Remove removes a machine from the store
	Remove(name string, force bool) error
	// Save persists a machine in the store
	Save(host *Host) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL