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