Example #1
0
// 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)
}
Example #2
0
// 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
}
Example #3
0
// 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
}
Example #4
0
// 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
}
Example #5
0
// 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")
}