github.com/moby/docker@v26.1.3+incompatible/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/backend" 8 "github.com/docker/docker/api/types/filters" 9 "github.com/docker/docker/api/types/network" 10 ) 11 12 // Backend is all the methods that need to be implemented 13 // to provide network specific functionality. 14 type Backend interface { 15 GetNetworks(filters.Args, backend.NetworkListConfig) ([]types.NetworkResource, error) 16 CreateNetwork(nc types.NetworkCreateRequest) (*types.NetworkCreateResponse, error) 17 ConnectContainerToNetwork(containerName, networkName string, endpointConfig *network.EndpointSettings) error 18 DisconnectContainerFromNetwork(containerName string, networkName string, force bool) error 19 DeleteNetwork(networkID string) error 20 NetworksPrune(ctx context.Context, pruneFilters filters.Args) (*types.NetworksPruneReport, error) 21 } 22 23 // ClusterBackend is all the methods that need to be implemented 24 // to provide cluster network specific functionality. 25 type ClusterBackend interface { 26 GetNetworks(filters.Args) ([]types.NetworkResource, error) 27 GetNetwork(name string) (types.NetworkResource, error) 28 GetNetworksByName(name string) ([]types.NetworkResource, error) 29 CreateNetwork(nc types.NetworkCreateRequest) (string, error) 30 RemoveNetwork(name string) error 31 }