github.com/pwn-term/docker@v0.0.0-20210616085119-6e977cce2565/moby/api/server/router/network/backend.go (about) 1 package network // import "github.com/docker/docker/api/server/router/network" 2 3 import ( 4 "context" 5 6 "github.com/docker/docker/api/types" 7 "github.com/docker/docker/api/types/filters" 8 "github.com/docker/docker/api/types/network" 9 "github.com/docker/libnetwork" 10 ) 11 12 // Backend is all the methods that need to be implemented 13 // to provide network specific functionality. 14 type Backend interface { 15 FindNetwork(idName string) (libnetwork.Network, error) 16 GetNetworks(filters.Args, types.NetworkListConfig) ([]types.NetworkResource, error) 17 CreateNetwork(nc types.NetworkCreateRequest) (*types.NetworkCreateResponse, error) 18 ConnectContainerToNetwork(containerName, networkName string, endpointConfig *network.EndpointSettings) error 19 DisconnectContainerFromNetwork(containerName string, networkName string, force bool) error 20 DeleteNetwork(networkID string) error 21 NetworksPrune(ctx context.Context, pruneFilters filters.Args) (*types.NetworksPruneReport, error) 22 } 23 24 // ClusterBackend is all the methods that need to be implemented 25 // to provide cluster network specific functionality. 26 type ClusterBackend interface { 27 GetNetworks(filters.Args) ([]types.NetworkResource, error) 28 GetNetwork(name string) (types.NetworkResource, error) 29 GetNetworksByName(name string) ([]types.NetworkResource, error) 30 CreateNetwork(nc types.NetworkCreateRequest) (string, error) 31 RemoveNetwork(name string) error 32 }