summaryrefslogtreecommitdiff
path: root/client/interface_experimental.go
diff options
context:
space:
mode:
authorMichael Crosby <crosbymichael@gmail.com>2016-09-06 11:46:37 -0700
committerMichael Crosby <crosbymichael@gmail.com>2016-09-07 11:05:58 -0700
commit7c36a1af031b510cd990cf488ee5998a3efb450f (patch)
tree477f7c37b71fbc6dc641d7b294b68e17d6c869ec /client/interface_experimental.go
parent91e197d614547f0202e6ae9b8a24d88ee131d950 (diff)
downloaddocker-7c36a1af031b510cd990cf488ee5998a3efb450f.tar.gz
Move engine-api client package
This moves the engine-api client package to `/docker/docker/client`. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Diffstat (limited to 'client/interface_experimental.go')
-rw-r--r--client/interface_experimental.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/client/interface_experimental.go b/client/interface_experimental.go
new file mode 100644
index 0000000000..1ddc517c9a
--- /dev/null
+++ b/client/interface_experimental.go
@@ -0,0 +1,37 @@
+// +build experimental
+
+package client
+
+import (
+ "github.com/docker/docker/api/types"
+ "golang.org/x/net/context"
+)
+
+// APIClient is an interface that clients that talk with a docker server must implement.
+type APIClient interface {
+ CommonAPIClient
+ CheckpointAPIClient
+ PluginAPIClient
+}
+
+// CheckpointAPIClient defines API client methods for the checkpoints
+type CheckpointAPIClient interface {
+ CheckpointCreate(ctx context.Context, container string, options types.CheckpointCreateOptions) error
+ CheckpointDelete(ctx context.Context, container string, checkpointID string) error
+ CheckpointList(ctx context.Context, container string) ([]types.Checkpoint, error)
+}
+
+// PluginAPIClient defines API client methods for the plugins
+type PluginAPIClient interface {
+ PluginList(ctx context.Context) (types.PluginsListResponse, error)
+ PluginRemove(ctx context.Context, name string, options types.PluginRemoveOptions) error
+ PluginEnable(ctx context.Context, name string) error
+ PluginDisable(ctx context.Context, name string) error
+ PluginInstall(ctx context.Context, name string, options types.PluginInstallOptions) error
+ PluginPush(ctx context.Context, name string, registryAuth string) error
+ PluginSet(ctx context.Context, name string, args []string) error
+ PluginInspectWithRaw(ctx context.Context, name string) (*types.Plugin, []byte, error)
+}
+
+// Ensure that Client always implements APIClient.
+var _ APIClient = &Client{}