github.com/rita33cool1/iot-system-gateway@v0.0.0-20200911033302-e65bde238cc5/docker-engine/api/server/router/image/backend.go (about)

     1  package image // import "github.com/docker/docker/api/server/router/image"
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/docker/docker/api/types"
     7  	"github.com/docker/docker/api/types/filters"
     8  	"github.com/docker/docker/api/types/image"
     9  	"github.com/docker/docker/api/types/registry"
    10  	"golang.org/x/net/context"
    11  )
    12  
    13  // Backend is all the methods that need to be implemented
    14  // to provide image specific functionality.
    15  type Backend interface {
    16  	imageBackend
    17  	importExportBackend
    18  	registryBackend
    19  }
    20  
    21  type imageBackend interface {
    22  	ImageDelete(imageRef string, force, prune bool) ([]types.ImageDeleteResponseItem, error)
    23  	ImageHistory(imageName string) ([]*image.HistoryResponseItem, error)
    24  	Images(imageFilters filters.Args, all bool, withExtraAttrs bool) ([]*types.ImageSummary, error)
    25  	LookupImage(name string) (*types.ImageInspect, error)
    26  	TagImage(imageName, repository, tag string) (string, error)
    27  	ImagesPrune(ctx context.Context, pruneFilters filters.Args) (*types.ImagesPruneReport, error)
    28  }
    29  
    30  type importExportBackend interface {
    31  	LoadImage(inTar io.ReadCloser, outStream io.Writer, quiet bool) error
    32  	ImportImage(src string, repository, platform string, tag string, msg string, inConfig io.ReadCloser, outStream io.Writer, changes []string) error
    33  	ExportImage(names []string, outStream io.Writer) error
    34  }
    35  
    36  type registryBackend interface {
    37  	PullImage(ctx context.Context, image, tag, platform string, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error
    38  	PushImage(ctx context.Context, image, tag string, metaHeaders map[string][]string, authConfig *types.AuthConfig, outStream io.Writer) error
    39  	SearchRegistryForImages(ctx context.Context, filtersArgs string, term string, limit int, authConfig *types.AuthConfig, metaHeaders map[string][]string) (*registry.SearchResults, error)
    40  }