// GetNetworkByName function returns a network for a given network name. // If no network name is given, the default network is returned. func (daemon *Daemon) GetNetworkByName(name string) (libnetwork.Network, error) { c := daemon.netController if c == nil { return nil, libnetwork.ErrNoSuchNetwork(name) } if name == "" { name = c.Config().Daemon.DefaultNetwork } return c.NetworkByName(name) }
// NetworkByID returns the Network which has the passed id. If not found, the error ErrNoSuchNetwork is returned. func (c *remoteController) NetworkByID(id string) (libnetwork.Network, error) { n := networkResource{} if err := c.httpGet(path.Join("/networks", id), &n); err != nil { if se, ok := err.(httpStatusErr); ok && se.Code() == http.StatusNotFound { return nil, libnetwork.ErrNoSuchNetwork(id) } return nil, err } return &remoteNetwork{c, n}, nil }
// GetNetworkByID function returns a network whose ID begins with the given prefix. // It fails with an error if no matching, or more than one matching, networks are found. func (daemon *Daemon) GetNetworkByID(partialID string) (libnetwork.Network, error) { list := daemon.GetNetworksByID(partialID) if len(list) == 0 { return nil, libnetwork.ErrNoSuchNetwork(partialID) } if len(list) > 1 { return nil, libnetwork.ErrInvalidID(partialID) } return list[0], nil }
// NetworkByName returns the Network which has the passed name. If not found, the error ErrNoSuchNetwork is returned. func (c *remoteController) NetworkByName(name string) (libnetwork.Network, error) { ns := []networkResource{} if err := c.httpGet("/networks?name="+name, &ns); err != nil { return nil, err } if len(ns) == 0 { return nil, libnetwork.ErrNoSuchNetwork(name) } return &remoteNetwork{c, ns[0]}, nil }
// GetNetwork function returns a network for a given string that represents the network and // a hint to indicate if the string is an Id or Name of the network func (daemon *Daemon) GetNetwork(idName string, by int) (libnetwork.Network, error) { c := daemon.netController switch by { case NetworkByID: list := daemon.GetNetworksByID(idName) if len(list) == 0 { return nil, libnetwork.ErrNoSuchNetwork(idName) } if len(list) > 1 { return nil, libnetwork.ErrInvalidID(idName) } return list[0], nil case NetworkByName: if idName == "" { idName = c.Config().Daemon.DefaultNetwork } return c.NetworkByName(idName) } return nil, errors.New("unexpected selector for GetNetwork") }