compose/pkg/api/dryrunclient.go

1141 lines
47 KiB
Go
Raw Normal View History

/*
Copyright 2020 Docker Compose CLI authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package api
import (
"context"
"io"
"net"
"net/http"
moby "github.com/docker/docker/api/types"
containerType "github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/events"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/api/types/image"
"github.com/docker/docker/api/types/network"
"github.com/docker/docker/api/types/registry"
"github.com/docker/docker/api/types/swarm"
"github.com/docker/docker/api/types/volume"
"github.com/docker/docker/client"
specs "github.com/opencontainers/image-spec/specs-go/v1"
)
var _ client.APIClient = &DryRunClient{}
// DryRunClient implements APIClient by delegating to implementation functions. This allows lazy init and per-method overrides
type DryRunClient struct {
CopyFromContainerFn func(ctx context.Context, container, srcPath string) (io.ReadCloser, moby.ContainerPathStat, error)
CopyToContainerFn func(ctx context.Context, container, path string, content io.Reader, options moby.CopyToContainerOptions) error
ContainersPruneFn func(ctx context.Context, pruneFilters filters.Args) (moby.ContainersPruneReport, error)
ConfigListFn func(ctx context.Context, options moby.ConfigListOptions) ([]swarm.Config, error)
ConfigCreateFn func(ctx context.Context, config swarm.ConfigSpec) (moby.ConfigCreateResponse, error)
ConfigRemoveFn func(ctx context.Context, id string) error
ConfigInspectWithRawFn func(ctx context.Context, name string) (swarm.Config, []byte, error)
ConfigUpdateFn func(ctx context.Context, id string, version swarm.Version, config swarm.ConfigSpec) error
ContainerAttachFn func(ctx context.Context, container string, options moby.ContainerAttachOptions) (moby.HijackedResponse, error)
ContainerCommitFn func(ctx context.Context, container string, options moby.ContainerCommitOptions) (moby.IDResponse, error)
ContainerCreateFn func(ctx context.Context, config *containerType.Config, hostConfig *containerType.HostConfig,
networkingConfig *network.NetworkingConfig, platform *specs.Platform, containerName string) (containerType.CreateResponse, error)
ContainerDiffFn func(ctx context.Context, container string) ([]containerType.ContainerChangeResponseItem, error)
ContainerExecAttachFn func(ctx context.Context, execID string, config moby.ExecStartCheck) (moby.HijackedResponse, error)
ContainerExecCreateFn func(ctx context.Context, container string, config moby.ExecConfig) (moby.IDResponse, error)
ContainerExecInspectFn func(ctx context.Context, execID string) (moby.ContainerExecInspect, error)
ContainerExecResizeFn func(ctx context.Context, execID string, options moby.ResizeOptions) error
ContainerExecStartFn func(ctx context.Context, execID string, config moby.ExecStartCheck) error
ContainerExportFn func(ctx context.Context, container string) (io.ReadCloser, error)
ContainerInspectFn func(ctx context.Context, container string) (moby.ContainerJSON, error)
ContainerInspectWithRawFn func(ctx context.Context, container string, getSize bool) (moby.ContainerJSON, []byte, error)
ContainerKillFn func(ctx context.Context, container, signal string) error
ContainerListFn func(ctx context.Context, options moby.ContainerListOptions) ([]moby.Container, error)
ContainerLogsFn func(ctx context.Context, container string, options moby.ContainerLogsOptions) (io.ReadCloser, error)
ContainerPauseFn func(ctx context.Context, container string) error
ContainerRemoveFn func(ctx context.Context, container string, options moby.ContainerRemoveOptions) error
ContainerRenameFn func(ctx context.Context, container, newContainerName string) error
ContainerResizeFn func(ctx context.Context, container string, options moby.ResizeOptions) error
ContainerRestartFn func(ctx context.Context, container string, options containerType.StopOptions) error
ContainerStatPathFn func(ctx context.Context, container, path string) (moby.ContainerPathStat, error)
ContainerStatsFn func(ctx context.Context, container string, stream bool) (moby.ContainerStats, error)
ContainerStatsOneShotFn func(ctx context.Context, container string) (moby.ContainerStats, error)
ContainerStartFn func(ctx context.Context, container string, options moby.ContainerStartOptions) error
ContainerStopFn func(ctx context.Context, container string, options containerType.StopOptions) error
ContainerTopFn func(ctx context.Context, container string, arguments []string) (containerType.ContainerTopOKBody, error)
ContainerUnpauseFn func(ctx context.Context, container string) error
ContainerUpdateFn func(ctx context.Context, container string, updateConfig containerType.UpdateConfig) (containerType.ContainerUpdateOKBody, error)
ContainerWaitFn func(ctx context.Context, container string, condition containerType.WaitCondition) (<-chan containerType.WaitResponse, <-chan error)
DistributionInspectFn func(ctx context.Context, imageName, encodedRegistryAuth string) (registry.DistributionInspect, error)
ImageBuildFn func(ctx context.Context, reader io.Reader, options moby.ImageBuildOptions) (moby.ImageBuildResponse, error)
BuildCachePruneFn func(ctx context.Context, opts moby.BuildCachePruneOptions) (*moby.BuildCachePruneReport, error)
BuildCancelFn func(ctx context.Context, id string) error
ImageCreateFn func(ctx context.Context, parentReference string, options moby.ImageCreateOptions) (io.ReadCloser, error)
ImageHistoryFn func(ctx context.Context, imageName string) ([]image.HistoryResponseItem, error)
ImageImportFn func(ctx context.Context, source moby.ImageImportSource, ref string, options moby.ImageImportOptions) (io.ReadCloser, error)
ImageInspectWithRawFn func(ctx context.Context, imageName string) (moby.ImageInspect, []byte, error)
ImageListFn func(ctx context.Context, options moby.ImageListOptions) ([]moby.ImageSummary, error)
ImageLoadFn func(ctx context.Context, input io.Reader, quiet bool) (moby.ImageLoadResponse, error)
ImagePullFn func(ctx context.Context, ref string, options moby.ImagePullOptions) (io.ReadCloser, error)
ImagePushFn func(ctx context.Context, ref string, options moby.ImagePushOptions) (io.ReadCloser, error)
ImageRemoveFn func(ctx context.Context, image string, options moby.ImageRemoveOptions) ([]moby.ImageDeleteResponseItem, error)
ImageSearchFn func(ctx context.Context, term string, options moby.ImageSearchOptions) ([]registry.SearchResult, error)
ImageSaveFn func(ctx context.Context, images []string) (io.ReadCloser, error)
ImageTagFn func(ctx context.Context, image, ref string) error
ImagesPruneFn func(ctx context.Context, pruneFilter filters.Args) (moby.ImagesPruneReport, error)
NodeInspectWithRawFn func(ctx context.Context, nodeID string) (swarm.Node, []byte, error)
NodeListFn func(ctx context.Context, options moby.NodeListOptions) ([]swarm.Node, error)
NodeRemoveFn func(ctx context.Context, nodeID string, options moby.NodeRemoveOptions) error
NodeUpdateFn func(ctx context.Context, nodeID string, version swarm.Version, node swarm.NodeSpec) error
NetworkConnectFn func(ctx context.Context, network, container string, config *network.EndpointSettings) error
NetworkCreateFn func(ctx context.Context, name string, options moby.NetworkCreate) (moby.NetworkCreateResponse, error)
NetworkDisconnectFn func(ctx context.Context, network, container string, force bool) error
NetworkInspectFn func(ctx context.Context, network string, options moby.NetworkInspectOptions) (moby.NetworkResource, error)
NetworkInspectWithRawFn func(ctx context.Context, network string, options moby.NetworkInspectOptions) (moby.NetworkResource, []byte, error)
NetworkListFn func(ctx context.Context, options moby.NetworkListOptions) ([]moby.NetworkResource, error)
NetworkRemoveFn func(ctx context.Context, network string) error
NetworksPruneFn func(ctx context.Context, pruneFilter filters.Args) (moby.NetworksPruneReport, error)
PluginListFn func(ctx context.Context, filter filters.Args) (moby.PluginsListResponse, error)
PluginRemoveFn func(ctx context.Context, name string, options moby.PluginRemoveOptions) error
PluginEnableFn func(ctx context.Context, name string, options moby.PluginEnableOptions) error
PluginDisableFn func(ctx context.Context, name string, options moby.PluginDisableOptions) error
PluginInstallFn func(ctx context.Context, name string, options moby.PluginInstallOptions) (io.ReadCloser, error)
PluginUpgradeFn func(ctx context.Context, name string, options moby.PluginInstallOptions) (io.ReadCloser, error)
PluginPushFn func(ctx context.Context, name string, registryAuth string) (io.ReadCloser, error)
PluginSetFn func(ctx context.Context, name string, args []string) error
PluginInspectWithRawFn func(ctx context.Context, name string) (*moby.Plugin, []byte, error)
PluginCreateFn func(ctx context.Context, createContext io.Reader, options moby.PluginCreateOptions) error
ServiceCreateFn func(ctx context.Context, service swarm.ServiceSpec, options moby.ServiceCreateOptions) (moby.ServiceCreateResponse, error)
ServiceInspectWithRawFn func(ctx context.Context, serviceID string, options moby.ServiceInspectOptions) (swarm.Service, []byte, error)
ServiceListFn func(ctx context.Context, options moby.ServiceListOptions) ([]swarm.Service, error)
ServiceRemoveFn func(ctx context.Context, serviceID string) error
ServiceUpdateFn func(ctx context.Context, serviceID string, version swarm.Version, service swarm.ServiceSpec, options moby.ServiceUpdateOptions) (moby.ServiceUpdateResponse, error)
ServiceLogsFn func(ctx context.Context, serviceID string, options moby.ContainerLogsOptions) (io.ReadCloser, error)
TaskLogsFn func(ctx context.Context, taskID string, options moby.ContainerLogsOptions) (io.ReadCloser, error)
TaskInspectWithRawFn func(ctx context.Context, taskID string) (swarm.Task, []byte, error)
TaskListFn func(ctx context.Context, options moby.TaskListOptions) ([]swarm.Task, error)
SwarmInitFn func(ctx context.Context, req swarm.InitRequest) (string, error)
SwarmJoinFn func(ctx context.Context, req swarm.JoinRequest) error
SwarmGetUnlockKeyFn func(ctx context.Context) (moby.SwarmUnlockKeyResponse, error)
SwarmUnlockFn func(ctx context.Context, req swarm.UnlockRequest) error
SwarmLeaveFn func(ctx context.Context, force bool) error
SwarmInspectFn func(ctx context.Context) (swarm.Swarm, error)
SwarmUpdateFn func(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error
SecretListFn func(ctx context.Context, options moby.SecretListOptions) ([]swarm.Secret, error)
SecretCreateFn func(ctx context.Context, secret swarm.SecretSpec) (moby.SecretCreateResponse, error)
SecretRemoveFn func(ctx context.Context, id string) error
SecretInspectWithRawFn func(ctx context.Context, name string) (swarm.Secret, []byte, error)
SecretUpdateFn func(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error
EventsFn func(ctx context.Context, options moby.EventsOptions) (<-chan events.Message, <-chan error)
InfoFn func(ctx context.Context) (moby.Info, error)
RegistryLoginFn func(ctx context.Context, auth moby.AuthConfig) (registry.AuthenticateOKBody, error)
DiskUsageFn func(ctx context.Context, options moby.DiskUsageOptions) (moby.DiskUsage, error)
PingFn func(ctx context.Context) (moby.Ping, error)
VolumeCreateFn func(ctx context.Context, options volume.CreateOptions) (volume.Volume, error)
VolumeInspectFn func(ctx context.Context, volumeID string) (volume.Volume, error)
VolumeInspectWithRawFn func(ctx context.Context, volumeID string) (volume.Volume, []byte, error)
VolumeListFn func(ctx context.Context, filter filters.Args) (volume.ListResponse, error)
VolumeRemoveFn func(ctx context.Context, volumeID string, force bool) error
VolumesPruneFn func(ctx context.Context, pruneFilter filters.Args) (moby.VolumesPruneReport, error)
VolumeUpdateFn func(ctx context.Context, volumeID string, version swarm.Version, options volume.UpdateOptions) error
ClientVersionFn func() string
DaemonHostFn func() string
HTTPClientFn func() *http.Client
ServerVersionFn func(ctx context.Context) (moby.Version, error)
NegotiateAPIVersionFn func(ctx context.Context)
NegotiateAPIVersionPingFn func(ping moby.Ping)
DialHijackFn func(ctx context.Context, url, proto string, meta map[string][]string) (net.Conn, error)
DialerFn func() func(context.Context) (net.Conn, error)
CloseFn func() error
CheckpointCreateFn func(ctx context.Context, container string, options moby.CheckpointCreateOptions) error
CheckpointDeleteFn func(ctx context.Context, container string, options moby.CheckpointDeleteOptions) error
CheckpointListFn func(ctx context.Context, container string, options moby.CheckpointListOptions) ([]moby.Checkpoint, error)
}
// NewDryRunClient produces a DryRunClient
func NewDryRunClient() *DryRunClient {
return &DryRunClient{}
}
// WithAPIClient configure DryRunClient to use specified APIClient as delegate
func (d *DryRunClient) WithAPIClient(apiClient client.APIClient) {
d.ConfigListFn = apiClient.ConfigList
d.ConfigCreateFn = apiClient.ConfigCreate
d.ConfigRemoveFn = apiClient.ConfigRemove
d.ConfigInspectWithRawFn = apiClient.ConfigInspectWithRaw
d.ConfigUpdateFn = apiClient.ConfigUpdate
d.ContainerAttachFn = apiClient.ContainerAttach
d.ContainerCommitFn = apiClient.ContainerCommit
d.ContainerCreateFn = apiClient.ContainerCreate
d.ContainerDiffFn = apiClient.ContainerDiff
d.ContainerExecAttachFn = apiClient.ContainerExecAttach
d.ContainerExecCreateFn = apiClient.ContainerExecCreate
d.ContainerExecInspectFn = apiClient.ContainerExecInspect
d.ContainerExecResizeFn = apiClient.ContainerExecResize
d.ContainerExecStartFn = apiClient.ContainerExecStart
d.ContainerExportFn = apiClient.ContainerExport
d.ContainerInspectFn = apiClient.ContainerInspect
d.ContainerInspectWithRawFn = apiClient.ContainerInspectWithRaw
d.ContainerKillFn = apiClient.ContainerKill
d.ContainerListFn = apiClient.ContainerList
d.ContainerLogsFn = apiClient.ContainerLogs
d.ContainerPauseFn = apiClient.ContainerPause
d.ContainerRemoveFn = apiClient.ContainerRemove
d.ContainerRenameFn = apiClient.ContainerRename
d.ContainerResizeFn = apiClient.ContainerResize
d.ContainerRestartFn = apiClient.ContainerRestart
d.ContainerStatPathFn = apiClient.ContainerStatPath
d.ContainerStatsFn = apiClient.ContainerStats
d.ContainerStatsOneShotFn = apiClient.ContainerStatsOneShot
d.ContainerStartFn = apiClient.ContainerStart
d.ContainerStopFn = apiClient.ContainerStop
d.ContainerTopFn = apiClient.ContainerTop
d.ContainerUnpauseFn = apiClient.ContainerUnpause
d.ContainerUpdateFn = apiClient.ContainerUpdate
d.ContainerWaitFn = apiClient.ContainerWait
d.DistributionInspectFn = apiClient.DistributionInspect
d.ImageBuildFn = apiClient.ImageBuild
d.BuildCachePruneFn = apiClient.BuildCachePrune
d.BuildCancelFn = apiClient.BuildCancel
d.ImageCreateFn = apiClient.ImageCreate
d.ImageHistoryFn = apiClient.ImageHistory
d.ImageImportFn = apiClient.ImageImport
d.ImageInspectWithRawFn = apiClient.ImageInspectWithRaw
d.ImageListFn = apiClient.ImageList
d.ImageLoadFn = apiClient.ImageLoad
d.ImagePullFn = apiClient.ImagePull
d.ImagePushFn = apiClient.ImagePush
d.ImageRemoveFn = apiClient.ImageRemove
d.ImageSearchFn = apiClient.ImageSearch
d.ImageSaveFn = apiClient.ImageSave
d.ImageTagFn = apiClient.ImageTag
d.ImagesPruneFn = apiClient.ImagesPrune
d.NodeInspectWithRawFn = apiClient.NodeInspectWithRaw
d.NodeListFn = apiClient.NodeList
d.NodeRemoveFn = apiClient.NodeRemove
d.NodeUpdateFn = apiClient.NodeUpdate
d.NetworkConnectFn = apiClient.NetworkConnect
d.NetworkCreateFn = apiClient.NetworkCreate
d.NetworkDisconnectFn = apiClient.NetworkDisconnect
d.NetworkInspectFn = apiClient.NetworkInspect
d.NetworkInspectWithRawFn = apiClient.NetworkInspectWithRaw
d.NetworkListFn = apiClient.NetworkList
d.NetworkRemoveFn = apiClient.NetworkRemove
d.NetworksPruneFn = apiClient.NetworksPrune
d.PluginListFn = apiClient.PluginList
d.PluginRemoveFn = apiClient.PluginRemove
d.PluginEnableFn = apiClient.PluginEnable
d.PluginDisableFn = apiClient.PluginDisable
d.PluginInstallFn = apiClient.PluginInstall
d.PluginUpgradeFn = apiClient.PluginUpgrade
d.PluginPushFn = apiClient.PluginPush
d.PluginSetFn = apiClient.PluginSet
d.PluginInspectWithRawFn = apiClient.PluginInspectWithRaw
d.PluginCreateFn = apiClient.PluginCreate
d.ServiceCreateFn = apiClient.ServiceCreate
d.ServiceInspectWithRawFn = apiClient.ServiceInspectWithRaw
d.ServiceListFn = apiClient.ServiceList
d.ServiceRemoveFn = apiClient.ServiceRemove
d.ServiceUpdateFn = apiClient.ServiceUpdate
d.ServiceLogsFn = apiClient.ServiceLogs
d.TaskLogsFn = apiClient.TaskLogs
d.TaskInspectWithRawFn = apiClient.TaskInspectWithRaw
d.TaskListFn = apiClient.TaskList
d.SwarmInitFn = apiClient.SwarmInit
d.SwarmJoinFn = apiClient.SwarmJoin
d.SwarmGetUnlockKeyFn = apiClient.SwarmGetUnlockKey
d.SwarmUnlockFn = apiClient.SwarmUnlock
d.SwarmLeaveFn = apiClient.SwarmLeave
d.SwarmInspectFn = apiClient.SwarmInspect
d.SwarmUpdateFn = apiClient.SwarmUpdate
d.SecretListFn = apiClient.SecretList
d.SecretCreateFn = apiClient.SecretCreate
d.SecretRemoveFn = apiClient.SecretRemove
d.SecretInspectWithRawFn = apiClient.SecretInspectWithRaw
d.SecretUpdateFn = apiClient.SecretUpdate
d.EventsFn = apiClient.Events
d.InfoFn = apiClient.Info
d.RegistryLoginFn = apiClient.RegistryLogin
d.DiskUsageFn = apiClient.DiskUsage
d.PingFn = apiClient.Ping
d.VolumeCreateFn = apiClient.VolumeCreate
d.VolumeInspectFn = apiClient.VolumeInspect
d.VolumeInspectWithRawFn = apiClient.VolumeInspectWithRaw
d.VolumeListFn = apiClient.VolumeList
d.VolumeRemoveFn = apiClient.VolumeRemove
d.VolumesPruneFn = apiClient.VolumesPrune
d.VolumeUpdateFn = apiClient.VolumeUpdate
d.ClientVersionFn = apiClient.ClientVersion
d.DaemonHostFn = apiClient.DaemonHost
d.HTTPClientFn = apiClient.HTTPClient
d.ServerVersionFn = apiClient.ServerVersion
d.NegotiateAPIVersionFn = apiClient.NegotiateAPIVersion
d.NegotiateAPIVersionPingFn = apiClient.NegotiateAPIVersionPing
d.DialHijackFn = apiClient.DialHijack
d.DialerFn = apiClient.Dialer
d.CloseFn = apiClient.Close
d.CheckpointCreateFn = apiClient.CheckpointCreate
d.CheckpointDeleteFn = apiClient.CheckpointDelete
d.CheckpointListFn = apiClient.CheckpointList
}
func (d *DryRunClient) ConfigList(ctx context.Context, options moby.ConfigListOptions) ([]swarm.Config, error) {
if d.ConfigListFn == nil {
return nil, ErrNotImplemented
}
return d.ConfigListFn(ctx, options)
}
func (d *DryRunClient) ConfigCreate(ctx context.Context, config swarm.ConfigSpec) (moby.ConfigCreateResponse, error) {
if d.ConfigCreateFn == nil {
return moby.ConfigCreateResponse{}, ErrNotImplemented
}
return d.ConfigCreateFn(ctx, config)
}
func (d *DryRunClient) ConfigRemove(ctx context.Context, id string) error {
if d.ConfigRemoveFn == nil {
return ErrNotImplemented
}
return d.ConfigRemoveFn(ctx, id)
}
func (d *DryRunClient) ConfigInspectWithRaw(ctx context.Context, name string) (swarm.Config, []byte, error) {
if d.ConfigInspectWithRawFn == nil {
return swarm.Config{}, nil, ErrNotImplemented
}
return d.ConfigInspectWithRawFn(ctx, name)
}
func (d *DryRunClient) ConfigUpdate(ctx context.Context, id string, version swarm.Version, config swarm.ConfigSpec) error {
if d.ConfigUpdateFn == nil {
return ErrNotImplemented
}
return d.ConfigUpdateFn(ctx, id, version, config)
}
func (d *DryRunClient) ContainerAttach(ctx context.Context, container string, options moby.ContainerAttachOptions) (moby.HijackedResponse, error) {
if d.ContainerAttachFn == nil {
return moby.HijackedResponse{}, ErrNotImplemented
}
return d.ContainerAttachFn(ctx, container, options)
}
func (d *DryRunClient) ContainerCommit(ctx context.Context, container string, options moby.ContainerCommitOptions) (moby.IDResponse, error) {
if d.ContainerCommitFn == nil {
return moby.IDResponse{}, ErrNotImplemented
}
return d.ContainerCommitFn(ctx, container, options)
}
func (d *DryRunClient) ContainerCreate(ctx context.Context, config *containerType.Config, hostConfig *containerType.HostConfig,
networkingConfig *network.NetworkingConfig, platform *specs.Platform, containerName string) (containerType.CreateResponse, error) {
if d.ContainerCreateFn == nil {
return containerType.CreateResponse{}, ErrNotImplemented
}
return d.ContainerCreateFn(ctx, config, hostConfig, networkingConfig, platform, containerName)
}
func (d *DryRunClient) ContainerDiff(ctx context.Context, container string) ([]containerType.ContainerChangeResponseItem, error) {
if d.ContainerDiffFn == nil {
return nil, ErrNotImplemented
}
return d.ContainerDiffFn(ctx, container)
}
func (d *DryRunClient) ContainerExecAttach(ctx context.Context, execID string, config moby.ExecStartCheck) (moby.HijackedResponse, error) {
if d.ContainerExecAttachFn == nil {
return moby.HijackedResponse{}, ErrNotImplemented
}
return d.ContainerExecAttachFn(ctx, execID, config)
}
func (d *DryRunClient) ContainerExecCreate(ctx context.Context, container string, config moby.ExecConfig) (moby.IDResponse, error) {
if d.ContainerExecCreateFn == nil {
return moby.IDResponse{}, ErrNotImplemented
}
return d.ContainerExecCreateFn(ctx, container, config)
}
func (d *DryRunClient) ContainerExecInspect(ctx context.Context, execID string) (moby.ContainerExecInspect, error) {
if d.ContainerExecInspectFn == nil {
return moby.ContainerExecInspect{}, ErrNotImplemented
}
return d.ContainerExecInspectFn(ctx, execID)
}
func (d *DryRunClient) ContainerExecResize(ctx context.Context, execID string, options moby.ResizeOptions) error {
if d.ContainerExecResizeFn == nil {
return ErrNotImplemented
}
return d.ContainerExecResizeFn(ctx, execID, options)
}
func (d *DryRunClient) ContainerExecStart(ctx context.Context, execID string, config moby.ExecStartCheck) error {
if d.ContainerExecStartFn == nil {
return ErrNotImplemented
}
return d.ContainerExecStartFn(ctx, execID, config)
}
func (d *DryRunClient) ContainerExport(ctx context.Context, container string) (io.ReadCloser, error) {
if d.ContainerExportFn == nil {
return nil, ErrNotImplemented
}
return d.ContainerExportFn(ctx, container)
}
func (d *DryRunClient) ContainerInspect(ctx context.Context, container string) (moby.ContainerJSON, error) {
if d.ContainerInspectFn == nil {
return moby.ContainerJSON{}, ErrNotImplemented
}
return d.ContainerInspectFn(ctx, container)
}
func (d *DryRunClient) ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (moby.ContainerJSON, []byte, error) {
if d.ContainerInspectWithRawFn == nil {
return moby.ContainerJSON{}, nil, ErrNotImplemented
}
return d.ContainerInspectWithRawFn(ctx, container, getSize)
}
func (d *DryRunClient) ContainerKill(ctx context.Context, container, signal string) error {
if d.ContainerKillFn == nil {
return ErrNotImplemented
}
return d.ContainerKillFn(ctx, container, signal)
}
func (d *DryRunClient) ContainerList(ctx context.Context, options moby.ContainerListOptions) ([]moby.Container, error) {
if d.ContainerListFn == nil {
return nil, ErrNotImplemented
}
return d.ContainerListFn(ctx, options)
}
func (d *DryRunClient) ContainerLogs(ctx context.Context, container string, options moby.ContainerLogsOptions) (io.ReadCloser, error) {
if d.ContainerLogsFn == nil {
return nil, ErrNotImplemented
}
return d.ContainerLogsFn(ctx, container, options)
}
func (d *DryRunClient) ContainerPause(ctx context.Context, container string) error {
if d.ContainerPauseFn == nil {
return ErrNotImplemented
}
return d.ContainerPauseFn(ctx, container)
}
func (d *DryRunClient) ContainerRemove(ctx context.Context, container string, options moby.ContainerRemoveOptions) error {
if d.ContainerRemoveFn == nil {
return ErrNotImplemented
}
return d.ContainerRemoveFn(ctx, container, options)
}
func (d *DryRunClient) ContainerRename(ctx context.Context, container, newContainerName string) error {
if d.ContainerRenameFn == nil {
return ErrNotImplemented
}
return d.ContainerRenameFn(ctx, container, newContainerName)
}
func (d *DryRunClient) ContainerResize(ctx context.Context, container string, options moby.ResizeOptions) error {
if d.ContainerResizeFn == nil {
return ErrNotImplemented
}
return d.ContainerResizeFn(ctx, container, options)
}
func (d *DryRunClient) ContainerRestart(ctx context.Context, container string, options containerType.StopOptions) error {
if d.ContainerRestartFn == nil {
return ErrNotImplemented
}
return d.ContainerRestartFn(ctx, container, options)
}
func (d *DryRunClient) ContainerStatPath(ctx context.Context, container, path string) (moby.ContainerPathStat, error) {
if d.ContainerStatPathFn == nil {
return moby.ContainerPathStat{}, ErrNotImplemented
}
return d.ContainerStatPathFn(ctx, container, path)
}
func (d *DryRunClient) ContainerStats(ctx context.Context, container string, stream bool) (moby.ContainerStats, error) {
if d.ContainerStatsFn == nil {
return moby.ContainerStats{}, ErrNotImplemented
}
return d.ContainerStatsFn(ctx, container, stream)
}
func (d *DryRunClient) ContainerStatsOneShot(ctx context.Context, container string) (moby.ContainerStats, error) {
if d.ContainerStatsOneShotFn == nil {
return moby.ContainerStats{}, ErrNotImplemented
}
return d.ContainerStatsOneShotFn(ctx, container)
}
func (d *DryRunClient) ContainerStart(ctx context.Context, container string, options moby.ContainerStartOptions) error {
if d.ContainerStartFn == nil {
return ErrNotImplemented
}
return d.ContainerStartFn(ctx, container, options)
}
func (d *DryRunClient) ContainerStop(ctx context.Context, container string, options containerType.StopOptions) error {
if d.ContainerStopFn == nil {
return ErrNotImplemented
}
return d.ContainerStopFn(ctx, container, options)
}
func (d *DryRunClient) ContainerTop(ctx context.Context, container string, arguments []string) (containerType.ContainerTopOKBody, error) {
if d.ContainerTopFn == nil {
return containerType.ContainerTopOKBody{}, ErrNotImplemented
}
return d.ContainerTopFn(ctx, container, arguments)
}
func (d *DryRunClient) ContainerUnpause(ctx context.Context, container string) error {
if d.ContainerUnpauseFn == nil {
return ErrNotImplemented
}
return d.ContainerUnpauseFn(ctx, container)
}
func (d *DryRunClient) ContainerUpdate(ctx context.Context, container string, updateConfig containerType.UpdateConfig) (containerType.ContainerUpdateOKBody, error) {
if d.ContainerUpdateFn == nil {
return containerType.ContainerUpdateOKBody{}, ErrNotImplemented
}
return d.ContainerUpdateFn(ctx, container, updateConfig)
}
func (d *DryRunClient) ContainerWait(ctx context.Context, container string, condition containerType.WaitCondition) (<-chan containerType.WaitResponse, <-chan error) {
if d.ContainerWaitFn == nil {
errC := make(chan error, 1)
errC <- ErrNotImplemented
return nil, errC
}
return d.ContainerWaitFn(ctx, container, condition)
}
func (d *DryRunClient) CopyFromContainer(ctx context.Context, container, srcPath string) (io.ReadCloser, moby.ContainerPathStat, error) {
if d.CopyFromContainerFn == nil {
return nil, moby.ContainerPathStat{}, ErrNotImplemented
}
return d.CopyFromContainerFn(ctx, container, srcPath)
}
func (d *DryRunClient) CopyToContainer(ctx context.Context, container, path string, content io.Reader, options moby.CopyToContainerOptions) error {
if d.CopyToContainerFn == nil {
return ErrNotImplemented
}
return d.CopyToContainerFn(ctx, container, path, content, options)
}
func (d *DryRunClient) ContainersPrune(ctx context.Context, pruneFilters filters.Args) (moby.ContainersPruneReport, error) {
if d.ContainersPruneFn == nil {
return moby.ContainersPruneReport{}, ErrNotImplemented
}
return d.ContainersPruneFn(ctx, pruneFilters)
}
func (d *DryRunClient) DistributionInspect(ctx context.Context, imageName, encodedRegistryAuth string) (registry.DistributionInspect, error) {
if d.DistributionInspectFn == nil {
return registry.DistributionInspect{}, ErrNotImplemented
}
return d.DistributionInspectFn(ctx, imageName, encodedRegistryAuth)
}
func (d *DryRunClient) ImageBuild(ctx context.Context, reader io.Reader, options moby.ImageBuildOptions) (moby.ImageBuildResponse, error) {
if d.ImageBuildFn == nil {
return moby.ImageBuildResponse{}, ErrNotImplemented
}
return d.ImageBuildFn(ctx, reader, options)
}
func (d *DryRunClient) BuildCachePrune(ctx context.Context, opts moby.BuildCachePruneOptions) (*moby.BuildCachePruneReport, error) {
if d.BuildCachePruneFn == nil {
return nil, ErrNotImplemented
}
return d.BuildCachePruneFn(ctx, opts)
}
func (d *DryRunClient) BuildCancel(ctx context.Context, id string) error {
if d.BuildCancelFn == nil {
return ErrNotImplemented
}
return d.BuildCancelFn(ctx, id)
}
func (d *DryRunClient) ImageCreate(ctx context.Context, parentReference string, options moby.ImageCreateOptions) (io.ReadCloser, error) {
if d.ImageCreateFn == nil {
return nil, ErrNotImplemented
}
return d.ImageCreateFn(ctx, parentReference, options)
}
func (d *DryRunClient) ImageHistory(ctx context.Context, imageName string) ([]image.HistoryResponseItem, error) {
if d.ImageHistoryFn == nil {
return nil, ErrNotImplemented
}
return d.ImageHistoryFn(ctx, imageName)
}
func (d *DryRunClient) ImageImport(ctx context.Context, source moby.ImageImportSource, ref string, options moby.ImageImportOptions) (io.ReadCloser, error) {
if d.ImageImportFn == nil {
return nil, ErrNotImplemented
}
return d.ImageImportFn(ctx, source, ref, options)
}
func (d *DryRunClient) ImageInspectWithRaw(ctx context.Context, imageName string) (moby.ImageInspect, []byte, error) {
if d.ImageInspectWithRawFn == nil {
return moby.ImageInspect{}, nil, ErrNotImplemented
}
return d.ImageInspectWithRawFn(ctx, imageName)
}
func (d *DryRunClient) ImageList(ctx context.Context, options moby.ImageListOptions) ([]moby.ImageSummary, error) {
if d.ImageListFn == nil {
return nil, ErrNotImplemented
}
return d.ImageListFn(ctx, options)
}
func (d *DryRunClient) ImageLoad(ctx context.Context, input io.Reader, quiet bool) (moby.ImageLoadResponse, error) {
if d.ImageLoadFn == nil {
return moby.ImageLoadResponse{}, ErrNotImplemented
}
return d.ImageLoadFn(ctx, input, quiet)
}
func (d *DryRunClient) ImagePull(ctx context.Context, ref string, options moby.ImagePullOptions) (io.ReadCloser, error) {
if d.ImagePullFn == nil {
return nil, ErrNotImplemented
}
return d.ImagePullFn(ctx, ref, options)
}
func (d *DryRunClient) ImagePush(ctx context.Context, ref string, options moby.ImagePushOptions) (io.ReadCloser, error) {
if d.ImagePushFn == nil {
return nil, ErrNotImplemented
}
return d.ImagePushFn(ctx, ref, options)
}
func (d *DryRunClient) ImageRemove(ctx context.Context, imageName string, options moby.ImageRemoveOptions) ([]moby.ImageDeleteResponseItem, error) {
if d.ImageRemoveFn == nil {
return nil, ErrNotImplemented
}
return d.ImageRemoveFn(ctx, imageName, options)
}
func (d *DryRunClient) ImageSearch(ctx context.Context, term string, options moby.ImageSearchOptions) ([]registry.SearchResult, error) {
if d.ImageSearchFn == nil {
return nil, ErrNotImplemented
}
return d.ImageSearchFn(ctx, term, options)
}
func (d *DryRunClient) ImageSave(ctx context.Context, images []string) (io.ReadCloser, error) {
if d.ImageSaveFn == nil {
return nil, ErrNotImplemented
}
return d.ImageSaveFn(ctx, images)
}
func (d *DryRunClient) ImageTag(ctx context.Context, imageName, ref string) error {
if d.ImageTagFn == nil {
return ErrNotImplemented
}
return d.ImageTagFn(ctx, imageName, ref)
}
func (d *DryRunClient) ImagesPrune(ctx context.Context, pruneFilter filters.Args) (moby.ImagesPruneReport, error) {
if d.ImagesPruneFn == nil {
return moby.ImagesPruneReport{}, ErrNotImplemented
}
return d.ImagesPruneFn(ctx, pruneFilter)
}
func (d *DryRunClient) NodeInspectWithRaw(ctx context.Context, nodeID string) (swarm.Node, []byte, error) {
if d.NodeInspectWithRawFn == nil {
return swarm.Node{}, nil, ErrNotImplemented
}
return d.NodeInspectWithRawFn(ctx, nodeID)
}
func (d *DryRunClient) NodeList(ctx context.Context, options moby.NodeListOptions) ([]swarm.Node, error) {
if d.NodeListFn == nil {
return nil, ErrNotImplemented
}
return d.NodeListFn(ctx, options)
}
func (d *DryRunClient) NodeRemove(ctx context.Context, nodeID string, options moby.NodeRemoveOptions) error {
if d.NodeRemoveFn == nil {
return ErrNotImplemented
}
return d.NodeRemoveFn(ctx, nodeID, options)
}
func (d *DryRunClient) NodeUpdate(ctx context.Context, nodeID string, version swarm.Version, node swarm.NodeSpec) error {
if d.NodeUpdateFn == nil {
return ErrNotImplemented
}
return d.NodeUpdateFn(ctx, nodeID, version, node)
}
func (d *DryRunClient) NetworkConnect(ctx context.Context, networkName, container string, config *network.EndpointSettings) error {
if d.NetworkConnectFn == nil {
return ErrNotImplemented
}
return d.NetworkConnectFn(ctx, networkName, container, config)
}
func (d *DryRunClient) NetworkCreate(ctx context.Context, name string, options moby.NetworkCreate) (moby.NetworkCreateResponse, error) {
if d.NetworkCreateFn == nil {
return moby.NetworkCreateResponse{}, ErrNotImplemented
}
return d.NetworkCreateFn(ctx, name, options)
}
func (d *DryRunClient) NetworkDisconnect(ctx context.Context, networkName, container string, force bool) error {
if d.NetworkDisconnectFn == nil {
return ErrNotImplemented
}
return d.NetworkDisconnectFn(ctx, networkName, container, force)
}
func (d *DryRunClient) NetworkInspect(ctx context.Context, networkName string, options moby.NetworkInspectOptions) (moby.NetworkResource, error) {
if d.NetworkInspectFn == nil {
return moby.NetworkResource{}, ErrNotImplemented
}
return d.NetworkInspectFn(ctx, networkName, options)
}
func (d *DryRunClient) NetworkInspectWithRaw(ctx context.Context, networkName string, options moby.NetworkInspectOptions) (moby.NetworkResource, []byte, error) {
if d.NetworkInspectWithRawFn == nil {
return moby.NetworkResource{}, nil, ErrNotImplemented
}
return d.NetworkInspectWithRawFn(ctx, networkName, options)
}
func (d *DryRunClient) NetworkList(ctx context.Context, options moby.NetworkListOptions) ([]moby.NetworkResource, error) {
if d.NetworkListFn == nil {
return nil, ErrNotImplemented
}
return d.NetworkListFn(ctx, options)
}
func (d *DryRunClient) NetworkRemove(ctx context.Context, networkName string) error {
return d.NetworkRemoveFn(ctx, networkName)
}
func (d *DryRunClient) NetworksPrune(ctx context.Context, pruneFilter filters.Args) (moby.NetworksPruneReport, error) {
if d.NetworksPruneFn == nil {
return moby.NetworksPruneReport{}, ErrNotImplemented
}
return d.NetworksPruneFn(ctx, pruneFilter)
}
func (d *DryRunClient) PluginList(ctx context.Context, filter filters.Args) (moby.PluginsListResponse, error) {
if d.PluginListFn == nil {
return moby.PluginsListResponse{}, ErrNotImplemented
}
return d.PluginListFn(ctx, filter)
}
func (d *DryRunClient) PluginRemove(ctx context.Context, name string, options moby.PluginRemoveOptions) error {
if d.PluginRemoveFn == nil {
return ErrNotImplemented
}
return d.PluginRemoveFn(ctx, name, options)
}
func (d *DryRunClient) PluginEnable(ctx context.Context, name string, options moby.PluginEnableOptions) error {
if d.PluginEnableFn == nil {
return ErrNotImplemented
}
return d.PluginEnableFn(ctx, name, options)
}
func (d *DryRunClient) PluginDisable(ctx context.Context, name string, options moby.PluginDisableOptions) error {
if d.PluginDisableFn == nil {
return ErrNotImplemented
}
return d.PluginDisableFn(ctx, name, options)
}
func (d *DryRunClient) PluginInstall(ctx context.Context, name string, options moby.PluginInstallOptions) (io.ReadCloser, error) {
if d.PluginInstallFn == nil {
return nil, ErrNotImplemented
}
return d.PluginInstallFn(ctx, name, options)
}
func (d *DryRunClient) PluginUpgrade(ctx context.Context, name string, options moby.PluginInstallOptions) (io.ReadCloser, error) {
if d.PluginUpgradeFn == nil {
return nil, ErrNotImplemented
}
return d.PluginUpgradeFn(ctx, name, options)
}
func (d *DryRunClient) PluginPush(ctx context.Context, name string, registryAuth string) (io.ReadCloser, error) {
if d.PluginPushFn == nil {
return nil, ErrNotImplemented
}
return d.PluginPushFn(ctx, name, registryAuth)
}
func (d *DryRunClient) PluginSet(ctx context.Context, name string, args []string) error {
if d.PluginSetFn == nil {
return ErrNotImplemented
}
return d.PluginSetFn(ctx, name, args)
}
func (d *DryRunClient) PluginInspectWithRaw(ctx context.Context, name string) (*moby.Plugin, []byte, error) {
if d.PluginInspectWithRawFn == nil {
return nil, nil, ErrNotImplemented
}
return d.PluginInspectWithRawFn(ctx, name)
}
func (d *DryRunClient) PluginCreate(ctx context.Context, createContext io.Reader, options moby.PluginCreateOptions) error {
if d.PluginCreateFn == nil {
return ErrNotImplemented
}
return d.PluginCreateFn(ctx, createContext, options)
}
func (d *DryRunClient) ServiceCreate(ctx context.Context, service swarm.ServiceSpec, options moby.ServiceCreateOptions) (moby.ServiceCreateResponse, error) {
if d.ServiceCreateFn == nil {
return moby.ServiceCreateResponse{}, ErrNotImplemented
}
return d.ServiceCreateFn(ctx, service, options)
}
func (d *DryRunClient) ServiceInspectWithRaw(ctx context.Context, serviceID string, options moby.ServiceInspectOptions) (swarm.Service, []byte, error) {
if d.ServiceInspectWithRawFn == nil {
return swarm.Service{}, nil, ErrNotImplemented
}
return d.ServiceInspectWithRawFn(ctx, serviceID, options)
}
func (d *DryRunClient) ServiceList(ctx context.Context, options moby.ServiceListOptions) ([]swarm.Service, error) {
if d.ServiceListFn == nil {
return nil, ErrNotImplemented
}
return d.ServiceListFn(ctx, options)
}
func (d *DryRunClient) ServiceRemove(ctx context.Context, serviceID string) error {
if d.ServiceRemoveFn == nil {
return ErrNotImplemented
}
return d.ServiceRemoveFn(ctx, serviceID)
}
func (d *DryRunClient) ServiceUpdate(ctx context.Context, serviceID string, version swarm.Version, service swarm.ServiceSpec, options moby.ServiceUpdateOptions) (moby.ServiceUpdateResponse, error) {
if d.ServiceUpdateFn == nil {
return moby.ServiceUpdateResponse{}, ErrNotImplemented
}
return d.ServiceUpdateFn(ctx, serviceID, version, service, options)
}
func (d *DryRunClient) ServiceLogs(ctx context.Context, serviceID string, options moby.ContainerLogsOptions) (io.ReadCloser, error) {
if d.ServiceLogsFn == nil {
return nil, ErrNotImplemented
}
return d.ServiceLogsFn(ctx, serviceID, options)
}
func (d *DryRunClient) TaskLogs(ctx context.Context, taskID string, options moby.ContainerLogsOptions) (io.ReadCloser, error) {
if d.TaskLogsFn == nil {
return nil, ErrNotImplemented
}
return d.TaskLogsFn(ctx, taskID, options)
}
func (d *DryRunClient) TaskInspectWithRaw(ctx context.Context, taskID string) (swarm.Task, []byte, error) {
if d.TaskInspectWithRawFn == nil {
return swarm.Task{}, nil, ErrNotImplemented
}
return d.TaskInspectWithRawFn(ctx, taskID)
}
func (d *DryRunClient) TaskList(ctx context.Context, options moby.TaskListOptions) ([]swarm.Task, error) {
if d.TaskListFn == nil {
return nil, ErrNotImplemented
}
return d.TaskListFn(ctx, options)
}
func (d *DryRunClient) SwarmInit(ctx context.Context, req swarm.InitRequest) (string, error) {
if d.SwarmInitFn == nil {
return "", ErrNotImplemented
}
return d.SwarmInitFn(ctx, req)
}
func (d *DryRunClient) SwarmJoin(ctx context.Context, req swarm.JoinRequest) error {
if d.SwarmJoinFn == nil {
return ErrNotImplemented
}
return d.SwarmJoinFn(ctx, req)
}
func (d *DryRunClient) SwarmGetUnlockKey(ctx context.Context) (moby.SwarmUnlockKeyResponse, error) {
if d.SwarmGetUnlockKeyFn == nil {
return moby.SwarmUnlockKeyResponse{}, ErrNotImplemented
}
return d.SwarmGetUnlockKeyFn(ctx)
}
func (d *DryRunClient) SwarmUnlock(ctx context.Context, req swarm.UnlockRequest) error {
if d.SwarmUnlockFn == nil {
return ErrNotImplemented
}
return d.SwarmUnlockFn(ctx, req)
}
func (d *DryRunClient) SwarmLeave(ctx context.Context, force bool) error {
if d.SwarmLeaveFn == nil {
return ErrNotImplemented
}
return d.SwarmLeaveFn(ctx, force)
}
func (d *DryRunClient) SwarmInspect(ctx context.Context) (swarm.Swarm, error) {
if d.SwarmInspectFn == nil {
return swarm.Swarm{}, ErrNotImplemented
}
return d.SwarmInspectFn(ctx)
}
func (d *DryRunClient) SwarmUpdate(ctx context.Context, version swarm.Version, swarmSpec swarm.Spec, flags swarm.UpdateFlags) error {
if d.SwarmUpdateFn == nil {
return ErrNotImplemented
}
return d.SwarmUpdateFn(ctx, version, swarmSpec, flags)
}
func (d *DryRunClient) SecretList(ctx context.Context, options moby.SecretListOptions) ([]swarm.Secret, error) {
if d.SecretListFn == nil {
return nil, ErrNotImplemented
}
return d.SecretListFn(ctx, options)
}
func (d *DryRunClient) SecretCreate(ctx context.Context, secret swarm.SecretSpec) (moby.SecretCreateResponse, error) {
if d.SecretCreateFn == nil {
return moby.SecretCreateResponse{}, ErrNotImplemented
}
return d.SecretCreateFn(ctx, secret)
}
func (d *DryRunClient) SecretRemove(ctx context.Context, id string) error {
if d.SecretRemoveFn == nil {
return ErrNotImplemented
}
return d.SecretRemoveFn(ctx, id)
}
func (d *DryRunClient) SecretInspectWithRaw(ctx context.Context, name string) (swarm.Secret, []byte, error) {
if d.SecretInspectWithRawFn == nil {
return swarm.Secret{}, nil, ErrNotImplemented
}
return d.SecretInspectWithRawFn(ctx, name)
}
func (d *DryRunClient) SecretUpdate(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error {
if d.SecretUpdateFn == nil {
return ErrNotImplemented
}
return d.SecretUpdateFn(ctx, id, version, secret)
}
func (d *DryRunClient) Events(ctx context.Context, options moby.EventsOptions) (<-chan events.Message, <-chan error) {
if d.EventsFn == nil {
errC := make(chan error, 1)
errC <- ErrNotImplemented
return nil, errC
}
return d.EventsFn(ctx, options)
}
func (d *DryRunClient) Info(ctx context.Context) (moby.Info, error) {
if d.InfoFn == nil {
return moby.Info{}, ErrNotImplemented
}
return d.InfoFn(ctx)
}
func (d *DryRunClient) RegistryLogin(ctx context.Context, auth moby.AuthConfig) (registry.AuthenticateOKBody, error) {
if d.RegistryLoginFn == nil {
return registry.AuthenticateOKBody{}, ErrNotImplemented
}
return d.RegistryLoginFn(ctx, auth)
}
func (d *DryRunClient) DiskUsage(ctx context.Context, options moby.DiskUsageOptions) (moby.DiskUsage, error) {
if d.DiskUsageFn == nil {
return moby.DiskUsage{}, ErrNotImplemented
}
return d.DiskUsageFn(ctx, options)
}
func (d *DryRunClient) Ping(ctx context.Context) (moby.Ping, error) {
if d.PingFn == nil {
return moby.Ping{}, ErrNotImplemented
}
return d.PingFn(ctx)
}
func (d *DryRunClient) VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error) {
if d.VolumeCreateFn == nil {
return volume.Volume{}, ErrNotImplemented
}
return d.VolumeCreateFn(ctx, options)
}
func (d *DryRunClient) VolumeInspect(ctx context.Context, volumeID string) (volume.Volume, error) {
if d.VolumeInspectFn == nil {
return volume.Volume{}, ErrNotImplemented
}
return d.VolumeInspectFn(ctx, volumeID)
}
func (d *DryRunClient) VolumeInspectWithRaw(ctx context.Context, volumeID string) (volume.Volume, []byte, error) {
if d.VolumeInspectWithRawFn == nil {
return volume.Volume{}, nil, ErrNotImplemented
}
return d.VolumeInspectWithRawFn(ctx, volumeID)
}
func (d *DryRunClient) VolumeList(ctx context.Context, filter filters.Args) (volume.ListResponse, error) {
if d.VolumeListFn == nil {
return volume.ListResponse{}, ErrNotImplemented
}
return d.VolumeListFn(ctx, filter)
}
func (d *DryRunClient) VolumeRemove(ctx context.Context, volumeID string, force bool) error {
if d.VolumeRemoveFn == nil {
return ErrNotImplemented
}
return d.VolumeRemoveFn(ctx, volumeID, force)
}
func (d *DryRunClient) VolumesPrune(ctx context.Context, pruneFilter filters.Args) (moby.VolumesPruneReport, error) {
if d.VolumesPruneFn == nil {
return moby.VolumesPruneReport{}, ErrNotImplemented
}
return d.VolumesPruneFn(ctx, pruneFilter)
}
func (d *DryRunClient) VolumeUpdate(ctx context.Context, volumeID string, version swarm.Version, options volume.UpdateOptions) error {
if d.VolumeUpdateFn == nil {
return ErrNotImplemented
}
return d.VolumeUpdateFn(ctx, volumeID, version, options)
}
func (d *DryRunClient) ClientVersion() string {
if d.ClientVersionFn == nil {
return "undefined"
}
return d.ClientVersionFn()
}
func (d *DryRunClient) DaemonHost() string {
if d.DaemonHostFn == nil {
return "undefined"
}
return d.DaemonHostFn()
}
func (d *DryRunClient) HTTPClient() *http.Client {
if d.HTTPClientFn == nil {
return nil
}
return d.HTTPClientFn()
}
func (d *DryRunClient) ServerVersion(ctx context.Context) (moby.Version, error) {
if d.ServerVersionFn == nil {
return moby.Version{}, ErrNotImplemented
}
return d.ServerVersionFn(ctx)
}
func (d *DryRunClient) NegotiateAPIVersion(ctx context.Context) {
if d.NegotiateAPIVersionFn == nil {
return
}
d.NegotiateAPIVersionFn(ctx)
}
func (d *DryRunClient) NegotiateAPIVersionPing(ping moby.Ping) {
if d.NegotiateAPIVersionPingFn == nil {
return
}
d.NegotiateAPIVersionPingFn(ping)
}
func (d *DryRunClient) DialHijack(ctx context.Context, url, proto string, meta map[string][]string) (net.Conn, error) {
if d.DialHijackFn == nil {
return nil, ErrNotImplemented
}
return d.DialHijackFn(ctx, url, proto, meta)
}
func (d *DryRunClient) Dialer() func(context.Context) (net.Conn, error) {
if d.DialerFn == nil {
return nil
}
return d.DialerFn()
}
func (d *DryRunClient) Close() error {
if d.CloseFn == nil {
return ErrNotImplemented
}
return d.CloseFn()
}
func (d *DryRunClient) CheckpointCreate(ctx context.Context, container string, options moby.CheckpointCreateOptions) error {
if d.CheckpointCreateFn == nil {
return ErrNotImplemented
}
return d.CheckpointCreateFn(ctx, container, options)
}
func (d *DryRunClient) CheckpointDelete(ctx context.Context, container string, options moby.CheckpointDeleteOptions) error {
if d.CheckpointDeleteFn == nil {
return ErrNotImplemented
}
return d.CheckpointDeleteFn(ctx, container, options)
}
func (d *DryRunClient) CheckpointList(ctx context.Context, container string, options moby.CheckpointListOptions) ([]moby.Checkpoint, error) {
if d.CheckpointListFn == nil {
return nil, ErrNotImplemented
}
return d.CheckpointListFn(ctx, container, options)
}