github.com/Heebron/moby@v0.0.0-20221111184709-6eab4f55faf7/api/server/router/plugin/backend.go (about)

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