provider.go 650 B

12345678910111213141516171819202122
  1. package cluster
  2. import (
  3. "github.com/docker/docker/api/types/network"
  4. "golang.org/x/net/context"
  5. )
  6. // Provider provides clustering config details
  7. type Provider interface {
  8. IsManager() bool
  9. IsAgent() bool
  10. GetLocalAddress() string
  11. GetListenAddress() string
  12. GetAdvertiseAddress() string
  13. GetDataPathAddress() string
  14. GetRemoteAddressList() []string
  15. ListenClusterEvents() <-chan struct{}
  16. AttachNetwork(string, string, []string) (*network.NetworkingConfig, error)
  17. DetachNetwork(string, string) error
  18. UpdateAttachment(string, string, *network.NetworkingConfig) error
  19. WaitForDetachment(context.Context, string, string, string, string) error
  20. }