backend.go 1.2 KB

12345678910111213141516171819202122232425
  1. package plugin
  2. import (
  3. "io"
  4. "net/http"
  5. enginetypes "github.com/docker/docker/api/types"
  6. "github.com/docker/docker/api/types/filters"
  7. "github.com/docker/docker/reference"
  8. "golang.org/x/net/context"
  9. )
  10. // Backend for Plugin
  11. type Backend interface {
  12. Disable(name string, config *enginetypes.PluginDisableConfig) error
  13. Enable(name string, config *enginetypes.PluginEnableConfig) error
  14. List(filters.Args) ([]enginetypes.Plugin, error)
  15. Inspect(name string) (*enginetypes.Plugin, error)
  16. Remove(name string, config *enginetypes.PluginRmConfig) error
  17. Set(name string, args []string) error
  18. Privileges(ctx context.Context, ref reference.Named, metaHeaders http.Header, authConfig *enginetypes.AuthConfig) (enginetypes.PluginPrivileges, error)
  19. Pull(ctx context.Context, ref reference.Named, name string, metaHeaders http.Header, authConfig *enginetypes.AuthConfig, privileges enginetypes.PluginPrivileges, outStream io.Writer) error
  20. Push(ctx context.Context, name string, metaHeaders http.Header, authConfig *enginetypes.AuthConfig, outStream io.Writer) error
  21. CreateFromContext(ctx context.Context, tarCtx io.ReadCloser, options *enginetypes.PluginCreateOptions) error
  22. }