mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
package none
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	neturl "net/url"
 | 
						|
 | 
						|
	"github.com/docker/machine/libmachine/drivers"
 | 
						|
	"github.com/docker/machine/libmachine/mcnflag"
 | 
						|
	"github.com/docker/machine/libmachine/state"
 | 
						|
)
 | 
						|
 | 
						|
const driverName = "none"
 | 
						|
 | 
						|
// Driver is the driver used when no driver is selected. It is used to
 | 
						|
// connect to existing Docker hosts by specifying the URL of the host as
 | 
						|
// an option.
 | 
						|
type Driver struct {
 | 
						|
	*drivers.BaseDriver
 | 
						|
	URL string
 | 
						|
}
 | 
						|
 | 
						|
func NewDriver(hostName, storePath string) *Driver {
 | 
						|
	return &Driver{
 | 
						|
		BaseDriver: &drivers.BaseDriver{
 | 
						|
			MachineName: hostName,
 | 
						|
			StorePath:   storePath,
 | 
						|
		},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetCreateFlags() []mcnflag.Flag {
 | 
						|
	return []mcnflag.Flag{
 | 
						|
		mcnflag.StringFlag{
 | 
						|
			Name:  "url",
 | 
						|
			Usage: "URL of host when no driver is selected",
 | 
						|
			Value: "",
 | 
						|
		},
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Create() error {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// DriverName returns the name of the driver
 | 
						|
func (d *Driver) DriverName() string {
 | 
						|
	return driverName
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetIP() (string, error) {
 | 
						|
	return d.IPAddress, nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetSSHHostname() (string, error) {
 | 
						|
	return "", nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetSSHKeyPath() string {
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetSSHPort() (int, error) {
 | 
						|
	return 0, nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetSSHUsername() string {
 | 
						|
	return ""
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetURL() (string, error) {
 | 
						|
	return d.URL, nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) GetState() (state.State, error) {
 | 
						|
	return state.Running, nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Kill() error {
 | 
						|
	return fmt.Errorf("hosts without a driver cannot be killed")
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Remove() error {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Restart() error {
 | 
						|
	return fmt.Errorf("hosts without a driver cannot be restarted")
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
 | 
						|
	url := flags.String("url")
 | 
						|
 | 
						|
	if url == "" {
 | 
						|
		return fmt.Errorf("--url option is required when no driver is selected")
 | 
						|
	}
 | 
						|
 | 
						|
	d.URL = url
 | 
						|
	u, err := neturl.Parse(url)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	d.IPAddress = u.Host
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Start() error {
 | 
						|
	return fmt.Errorf("hosts without a driver cannot be started")
 | 
						|
}
 | 
						|
 | 
						|
func (d *Driver) Stop() error {
 | 
						|
	return fmt.Errorf("hosts without a driver cannot be stopped")
 | 
						|
}
 |