| package network // import "github.com/docker/docker/api/server/router/network" |
| |
| import ( |
| "context" |
| |
| "github.com/docker/docker/api/types" |
| "github.com/docker/docker/api/types/filters" |
| "github.com/docker/docker/api/types/network" |
| "github.com/docker/libnetwork" |
| ) |
| |
| // Backend is all the methods that need to be implemented |
| // to provide network specific functionality. |
| type Backend interface { |
| FindNetwork(idName string) (libnetwork.Network, error) |
| GetNetworks(filters.Args, types.NetworkListConfig) ([]types.NetworkResource, error) |
| CreateNetwork(nc types.NetworkCreateRequest) (*types.NetworkCreateResponse, error) |
| ConnectContainerToNetwork(containerName, networkName string, endpointConfig *network.EndpointSettings) error |
| DisconnectContainerFromNetwork(containerName string, networkName string, force bool) error |
| DeleteNetwork(networkID string) error |
| NetworksPrune(ctx context.Context, pruneFilters filters.Args) (*types.NetworksPruneReport, error) |
| } |
| |
| // ClusterBackend is all the methods that need to be implemented |
| // to provide cluster network specific functionality. |
| type ClusterBackend interface { |
| GetNetworks(filters.Args) ([]types.NetworkResource, error) |
| GetNetwork(name string) (types.NetworkResource, error) |
| GetNetworksByName(name string) ([]types.NetworkResource, error) |
| CreateNetwork(nc types.NetworkCreateRequest) (string, error) |
| RemoveNetwork(name string) error |
| } |