backend.go 1.3 KB

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