mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
d3eca4451d
Makes `docker volume ls` and `docker volume inspect` ask the volume drivers rather than only using what is cached locally. Previously in order to use a volume from an external driver, one would either have to use `docker volume create` or have a container that is already using that volume for it to be visible to the other volume API's. For keeping uniqueness of volume names in the daemon, names are bound to a driver on a first come first serve basis. If two drivers have a volume with the same name, the first one is chosen, and a warning is logged about the second one. Adds 2 new methods to the plugin API, `List` and `Get`. If a plugin does not implement these endpoints, a user will not be able to find the specified volumes as well requests go through the drivers. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
16 lines
471 B
Go
16 lines
471 B
Go
package volume
|
|
|
|
import (
|
|
// TODO return types need to be refactored into pkg
|
|
"github.com/docker/docker/api/types"
|
|
)
|
|
|
|
// Backend is the methods that need to be implemented to provide
|
|
// volume specific functionality
|
|
type Backend interface {
|
|
Volumes(filter string) ([]*types.Volume, []string, error)
|
|
VolumeInspect(name string) (*types.Volume, error)
|
|
VolumeCreate(name, driverName string,
|
|
opts map[string]string) (*types.Volume, error)
|
|
VolumeRm(name string) error
|
|
}
|