backend.go 1.3 KB

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