mirror of https://github.com/docker/docs.git
113 lines
2.1 KiB
Go
113 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
|
|
}
|
|
|
|
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.None, 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")
|
|
}
|