80 lines
5.8 KiB
Go
80 lines
5.8 KiB
Go
|
package client
|
||
|
|
||
|
import (
|
||
|
"io"
|
||
|
|
||
|
"golang.org/x/net/context"
|
||
|
|
||
|
"github.com/docker/engine-api/types"
|
||
|
"github.com/docker/engine-api/types/container"
|
||
|
"github.com/docker/engine-api/types/filters"
|
||
|
"github.com/docker/engine-api/types/network"
|
||
|
"github.com/docker/engine-api/types/registry"
|
||
|
)
|
||
|
|
||
|
// APIClient is an interface that clients that talk with a docker server must implement.
|
||
|
type APIClient interface {
|
||
|
ClientVersion() string
|
||
|
ContainerAttach(ctx context.Context, container string, options types.ContainerAttachOptions) (types.HijackedResponse, error)
|
||
|
ContainerCommit(ctx context.Context, container string, options types.ContainerCommitOptions) (types.ContainerCommitResponse, error)
|
||
|
ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (types.ContainerCreateResponse, error)
|
||
|
ContainerDiff(ctx context.Context, container string) ([]types.ContainerChange, error)
|
||
|
ContainerExecAttach(ctx context.Context, execID string, config types.ExecConfig) (types.HijackedResponse, error)
|
||
|
ContainerExecCreate(ctx context.Context, container string, config types.ExecConfig) (types.ContainerExecCreateResponse, error)
|
||
|
ContainerExecInspect(ctx context.Context, execID string) (types.ContainerExecInspect, error)
|
||
|
ContainerExecResize(ctx context.Context, execID string, options types.ResizeOptions) error
|
||
|
ContainerExecStart(ctx context.Context, execID string, config types.ExecStartCheck) error
|
||
|
ContainerExport(ctx context.Context, container string) (io.ReadCloser, error)
|
||
|
ContainerInspect(ctx context.Context, container string) (types.ContainerJSON, error)
|
||
|
ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (types.ContainerJSON, []byte, error)
|
||
|
ContainerKill(ctx context.Context, container, signal string) error
|
||
|
ContainerList(ctx context.Context, options types.ContainerListOptions) ([]types.Container, error)
|
||
|
ContainerLogs(ctx context.Context, container string, options types.ContainerLogsOptions) (io.ReadCloser, error)
|
||
|
ContainerPause(ctx context.Context, container string) error
|
||
|
ContainerRemove(ctx context.Context, container string, options types.ContainerRemoveOptions) error
|
||
|
ContainerRename(ctx context.Context, container, newContainerName string) error
|
||
|
ContainerResize(ctx context.Context, container string, options types.ResizeOptions) error
|
||
|
ContainerRestart(ctx context.Context, container string, timeout int) error
|
||
|
ContainerStatPath(ctx context.Context, container, path string) (types.ContainerPathStat, error)
|
||
|
ContainerStats(ctx context.Context, container string, stream bool) (io.ReadCloser, error)
|
||
|
ContainerStart(ctx context.Context, container string) error
|
||
|
ContainerStop(ctx context.Context, container string, timeout int) error
|
||
|
ContainerTop(ctx context.Context, container string, arguments []string) (types.ContainerProcessList, error)
|
||
|
ContainerUnpause(ctx context.Context, container string) error
|
||
|
ContainerUpdate(ctx context.Context, container string, updateConfig container.UpdateConfig) error
|
||
|
ContainerWait(ctx context.Context, container string) (int, error)
|
||
|
CopyFromContainer(ctx context.Context, container, srcPath string) (io.ReadCloser, types.ContainerPathStat, error)
|
||
|
CopyToContainer(ctx context.Context, container, path string, content io.Reader, options types.CopyToContainerOptions) error
|
||
|
Events(ctx context.Context, options types.EventsOptions) (io.ReadCloser, error)
|
||
|
ImageBuild(ctx context.Context, context io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)
|
||
|
ImageCreate(ctx context.Context, parentReference string, options types.ImageCreateOptions) (io.ReadCloser, error)
|
||
|
ImageHistory(ctx context.Context, image string) ([]types.ImageHistory, error)
|
||
|
ImageImport(ctx context.Context, source types.ImageImportSource, ref string, options types.ImageImportOptions) (io.ReadCloser, error)
|
||
|
ImageInspectWithRaw(ctx context.Context, image string, getSize bool) (types.ImageInspect, []byte, error)
|
||
|
ImageList(ctx context.Context, options types.ImageListOptions) ([]types.Image, error)
|
||
|
ImageLoad(ctx context.Context, input io.Reader, quiet bool) (types.ImageLoadResponse, error)
|
||
|
ImagePull(ctx context.Context, ref string, options types.ImagePullOptions) (io.ReadCloser, error)
|
||
|
ImagePush(ctx context.Context, ref string, options types.ImagePushOptions) (io.ReadCloser, error)
|
||
|
ImageRemove(ctx context.Context, image string, options types.ImageRemoveOptions) ([]types.ImageDelete, error)
|
||
|
ImageSearch(ctx context.Context, term string, options types.ImageSearchOptions) ([]registry.SearchResult, error)
|
||
|
ImageSave(ctx context.Context, images []string) (io.ReadCloser, error)
|
||
|
ImageTag(ctx context.Context, image, ref string, options types.ImageTagOptions) error
|
||
|
Info(ctx context.Context) (types.Info, error)
|
||
|
NetworkConnect(ctx context.Context, networkID, container string, config *network.EndpointSettings) error
|
||
|
NetworkCreate(ctx context.Context, name string, options types.NetworkCreate) (types.NetworkCreateResponse, error)
|
||
|
NetworkDisconnect(ctx context.Context, networkID, container string, force bool) error
|
||
|
NetworkInspect(ctx context.Context, networkID string) (types.NetworkResource, error)
|
||
|
NetworkList(ctx context.Context, options types.NetworkListOptions) ([]types.NetworkResource, error)
|
||
|
NetworkRemove(ctx context.Context, networkID string) error
|
||
|
RegistryLogin(ctx context.Context, auth types.AuthConfig) (types.AuthResponse, error)
|
||
|
ServerVersion(ctx context.Context) (types.Version, error)
|
||
|
UpdateClientVersion(v string)
|
||
|
VolumeCreate(ctx context.Context, options types.VolumeCreateRequest) (types.Volume, error)
|
||
|
VolumeInspect(ctx context.Context, volumeID string) (types.Volume, error)
|
||
|
VolumeList(ctx context.Context, filter filters.Args) (types.VolumesListResponse, error)
|
||
|
VolumeRemove(ctx context.Context, volumeID string) error
|
||
|
}
|
||
|
|
||
|
// Ensure that Client always implements APIClient.
|
||
|
var _ APIClient = &Client{}
|