1
0

api.go 924 B

12345678910111213141516171819202122232425262728293031
  1. package cloud
  2. import (
  3. "context"
  4. "github.com/docker/api/errdefs"
  5. )
  6. // Service cloud specific services
  7. type Service interface {
  8. // Login login to cloud provider
  9. Login(ctx context.Context, params map[string]string) error
  10. // Login login to cloud provider
  11. CreateContextData(ctx context.Context, params map[string]string) (contextData interface{}, description string, err error)
  12. }
  13. // NotImplementedCloudService to use for backend that don't provide cloud services
  14. func NotImplementedCloudService() (Service, error) {
  15. return notImplementedCloudService{}, nil
  16. }
  17. type notImplementedCloudService struct {
  18. }
  19. func (cs notImplementedCloudService) Login(ctx context.Context, params map[string]string) error {
  20. return errdefs.ErrNotImplemented
  21. }
  22. func (cs notImplementedCloudService) CreateContextData(ctx context.Context, params map[string]string) (interface{}, string, error) {
  23. return nil, "", errdefs.ErrNotImplemented
  24. }