Browse code

client: separate exec methods to ExecAPIClient interface

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2025/09/15 16:55:36
Showing 2 changed files
... ...
@@ -69,11 +69,7 @@ type ContainerAPIClient interface {
69 69
 	ContainerCommit(ctx context.Context, container string, options ContainerCommitOptions) (container.CommitResponse, error)
70 70
 	ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *ocispec.Platform, containerName string) (container.CreateResponse, error)
71 71
 	ContainerDiff(ctx context.Context, container string) ([]container.FilesystemChange, error)
72
-	ContainerExecAttach(ctx context.Context, execID string, options ExecAttachOptions) (HijackedResponse, error)
73
-	ContainerExecCreate(ctx context.Context, container string, options ExecCreateOptions) (container.ExecCreateResponse, error)
74
-	ContainerExecInspect(ctx context.Context, execID string) (ExecInspect, error)
75
-	ContainerExecResize(ctx context.Context, execID string, options ContainerResizeOptions) error
76
-	ContainerExecStart(ctx context.Context, execID string, options ExecStartOptions) error
72
+	ExecAPIClient
77 73
 	ContainerExport(ctx context.Context, container string) (io.ReadCloser, error)
78 74
 	ContainerInspect(ctx context.Context, container string) (container.InspectResponse, error)
79 75
 	ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (container.InspectResponse, []byte, error)
... ...
@@ -99,6 +95,14 @@ type ContainerAPIClient interface {
99 99
 	ContainersPrune(ctx context.Context, pruneFilters filters.Args) (container.PruneReport, error)
100 100
 }
101 101
 
102
+type ExecAPIClient interface {
103
+	ContainerExecCreate(ctx context.Context, container string, options ExecCreateOptions) (container.ExecCreateResponse, error)
104
+	ContainerExecStart(ctx context.Context, execID string, options ExecStartOptions) error
105
+	ContainerExecAttach(ctx context.Context, execID string, options ExecAttachOptions) (HijackedResponse, error)
106
+	ContainerExecInspect(ctx context.Context, execID string) (ExecInspect, error)
107
+	ContainerExecResize(ctx context.Context, execID string, options ContainerResizeOptions) error
108
+}
109
+
102 110
 // DistributionAPIClient defines API client methods for the registry
103 111
 type DistributionAPIClient interface {
104 112
 	DistributionInspect(ctx context.Context, image, encodedRegistryAuth string) (registry.DistributionInspect, error)
... ...
@@ -69,11 +69,7 @@ type ContainerAPIClient interface {
69 69
 	ContainerCommit(ctx context.Context, container string, options ContainerCommitOptions) (container.CommitResponse, error)
70 70
 	ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *ocispec.Platform, containerName string) (container.CreateResponse, error)
71 71
 	ContainerDiff(ctx context.Context, container string) ([]container.FilesystemChange, error)
72
-	ContainerExecAttach(ctx context.Context, execID string, options ExecAttachOptions) (HijackedResponse, error)
73
-	ContainerExecCreate(ctx context.Context, container string, options ExecCreateOptions) (container.ExecCreateResponse, error)
74
-	ContainerExecInspect(ctx context.Context, execID string) (ExecInspect, error)
75
-	ContainerExecResize(ctx context.Context, execID string, options ContainerResizeOptions) error
76
-	ContainerExecStart(ctx context.Context, execID string, options ExecStartOptions) error
72
+	ExecAPIClient
77 73
 	ContainerExport(ctx context.Context, container string) (io.ReadCloser, error)
78 74
 	ContainerInspect(ctx context.Context, container string) (container.InspectResponse, error)
79 75
 	ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (container.InspectResponse, []byte, error)
... ...
@@ -99,6 +95,14 @@ type ContainerAPIClient interface {
99 99
 	ContainersPrune(ctx context.Context, pruneFilters filters.Args) (container.PruneReport, error)
100 100
 }
101 101
 
102
+type ExecAPIClient interface {
103
+	ContainerExecCreate(ctx context.Context, container string, options ExecCreateOptions) (container.ExecCreateResponse, error)
104
+	ContainerExecStart(ctx context.Context, execID string, options ExecStartOptions) error
105
+	ContainerExecAttach(ctx context.Context, execID string, options ExecAttachOptions) (HijackedResponse, error)
106
+	ContainerExecInspect(ctx context.Context, execID string) (ExecInspect, error)
107
+	ContainerExecResize(ctx context.Context, execID string, options ContainerResizeOptions) error
108
+}
109
+
102 110
 // DistributionAPIClient defines API client methods for the registry
103 111
 type DistributionAPIClient interface {
104 112
 	DistributionInspect(ctx context.Context, image, encodedRegistryAuth string) (registry.DistributionInspect, error)