Skip to content

Commit 0f77875

Browse files
committed
api/types: move ContainerRemoveOptions to api/types/container
Signed-off-by: Sebastiaan van Stijn <[email protected]>
1 parent 9498d89 commit 0f77875

31 files changed

Lines changed: 85 additions & 75 deletions

api/types/client.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,6 @@ type ContainerLogsOptions struct {
4343
Details bool
4444
}
4545

46-
// ContainerRemoveOptions holds parameters to remove containers.
47-
type ContainerRemoveOptions struct {
48-
RemoveVolumes bool
49-
RemoveLinks bool
50-
Force bool
51-
}
52-
5346
// ContainerStartOptions holds parameters to start containers.
5447
type ContainerStartOptions struct {
5548
CheckpointID string

api/types/container/options.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,10 @@ type CommitOptions struct {
2727
Pause bool
2828
Config *Config
2929
}
30+
31+
// RemoveOptions holds parameters to remove containers.
32+
type RemoveOptions struct {
33+
RemoveVolumes bool
34+
RemoveLinks bool
35+
Force bool
36+
}

api/types/types_deprecated.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ type ContainerAttachOptions = container.AttachOptions
109109
// Deprecated: use [container.CommitOptions].
110110
type ContainerCommitOptions = container.CommitOptions
111111

112+
// ContainerRemoveOptions holds parameters to remove containers.
113+
//
114+
// Deprecated: use [container.RemoveOptions].
115+
type ContainerRemoveOptions = container.RemoveOptions
116+
112117
// DecodeSecurityOptions decodes a security options string slice to a type safe
113118
// [system.SecurityOpt].
114119
//

client/container_remove.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ import (
44
"context"
55
"net/url"
66

7-
"github.com/docker/docker/api/types"
7+
"github.com/docker/docker/api/types/container"
88
)
99

1010
// ContainerRemove kills and removes a container from the docker host.
11-
func (cli *Client) ContainerRemove(ctx context.Context, containerID string, options types.ContainerRemoveOptions) error {
11+
func (cli *Client) ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error {
1212
query := url.Values{}
1313
if options.RemoveVolumes {
1414
query.Set("v", "1")

client/container_remove_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"strings"
1010
"testing"
1111

12-
"github.com/docker/docker/api/types"
12+
"github.com/docker/docker/api/types/container"
1313
"github.com/docker/docker/errdefs"
1414
"gotest.tools/v3/assert"
1515
is "gotest.tools/v3/assert/cmp"
@@ -19,15 +19,15 @@ func TestContainerRemoveError(t *testing.T) {
1919
client := &Client{
2020
client: newMockClient(errorMock(http.StatusInternalServerError, "Server error")),
2121
}
22-
err := client.ContainerRemove(context.Background(), "container_id", types.ContainerRemoveOptions{})
22+
err := client.ContainerRemove(context.Background(), "container_id", container.RemoveOptions{})
2323
assert.Check(t, is.ErrorType(err, errdefs.IsSystem))
2424
}
2525

2626
func TestContainerRemoveNotFoundError(t *testing.T) {
2727
client := &Client{
2828
client: newMockClient(errorMock(http.StatusNotFound, "no such container: container_id")),
2929
}
30-
err := client.ContainerRemove(context.Background(), "container_id", types.ContainerRemoveOptions{})
30+
err := client.ContainerRemove(context.Background(), "container_id", container.RemoveOptions{})
3131
assert.Check(t, is.ErrorContains(err, "no such container: container_id"))
3232
assert.Check(t, is.ErrorType(err, errdefs.IsNotFound))
3333
}
@@ -59,7 +59,7 @@ func TestContainerRemove(t *testing.T) {
5959
}),
6060
}
6161

62-
err := client.ContainerRemove(context.Background(), "container_id", types.ContainerRemoveOptions{
62+
err := client.ContainerRemove(context.Background(), "container_id", container.RemoveOptions{
6363
RemoveVolumes: true,
6464
Force: true,
6565
})

client/interface.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type ContainerAPIClient interface {
6262
ContainerList(ctx context.Context, options types.ContainerListOptions) ([]types.Container, error)
6363
ContainerLogs(ctx context.Context, container string, options types.ContainerLogsOptions) (io.ReadCloser, error)
6464
ContainerPause(ctx context.Context, container string) error
65-
ContainerRemove(ctx context.Context, container string, options types.ContainerRemoveOptions) error
65+
ContainerRemove(ctx context.Context, container string, options container.RemoveOptions) error
6666
ContainerRename(ctx context.Context, container, newContainerName string) error
6767
ContainerResize(ctx context.Context, container string, options container.ResizeOptions) error
6868
ContainerRestart(ctx context.Context, container string, options container.StopOptions) error

integration-cli/docker_api_containers_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1089,7 +1089,7 @@ func (s *DockerAPISuite) TestContainerAPIDelete(c *testing.T) {
10891089
assert.NilError(c, err)
10901090
defer apiClient.Close()
10911091

1092-
err = apiClient.ContainerRemove(testutil.GetContext(c), id, types.ContainerRemoveOptions{})
1092+
err = apiClient.ContainerRemove(testutil.GetContext(c), id, container.RemoveOptions{})
10931093
assert.NilError(c, err)
10941094
}
10951095

@@ -1098,7 +1098,7 @@ func (s *DockerAPISuite) TestContainerAPIDeleteNotExist(c *testing.T) {
10981098
assert.NilError(c, err)
10991099
defer apiClient.Close()
11001100

1101-
err = apiClient.ContainerRemove(testutil.GetContext(c), "doesnotexist", types.ContainerRemoveOptions{})
1101+
err = apiClient.ContainerRemove(testutil.GetContext(c), "doesnotexist", container.RemoveOptions{})
11021102
assert.ErrorContains(c, err, "No such container: doesnotexist")
11031103
}
11041104

@@ -1107,7 +1107,7 @@ func (s *DockerAPISuite) TestContainerAPIDeleteForce(c *testing.T) {
11071107
id := strings.TrimSpace(out)
11081108
assert.NilError(c, waitRun(id))
11091109

1110-
removeOptions := types.ContainerRemoveOptions{
1110+
removeOptions := container.RemoveOptions{
11111111
Force: true,
11121112
}
11131113

@@ -1135,7 +1135,7 @@ func (s *DockerAPISuite) TestContainerAPIDeleteRemoveLinks(c *testing.T) {
11351135
links := inspectFieldJSON(c, id2, "HostConfig.Links")
11361136
assert.Equal(c, links, `["/tlink1:/tlink2/tlink1"]`, "expected to have links between containers")
11371137

1138-
removeOptions := types.ContainerRemoveOptions{
1138+
removeOptions := container.RemoveOptions{
11391139
RemoveLinks: true,
11401140
}
11411141

@@ -1168,7 +1168,7 @@ func (s *DockerAPISuite) TestContainerAPIDeleteRemoveVolume(c *testing.T) {
11681168
_, err = os.Stat(source)
11691169
assert.NilError(c, err)
11701170

1171-
removeOptions := types.ContainerRemoveOptions{
1171+
removeOptions := container.RemoveOptions{
11721172
Force: true,
11731173
RemoveVolumes: true,
11741174
}
@@ -1549,7 +1549,7 @@ func (s *DockerAPISuite) TestContainerAPIDeleteWithEmptyName(c *testing.T) {
15491549
assert.NilError(c, err)
15501550
defer apiClient.Close()
15511551

1552-
err = apiClient.ContainerRemove(testutil.GetContext(c), "", types.ContainerRemoveOptions{})
1552+
err = apiClient.ContainerRemove(testutil.GetContext(c), "", container.RemoveOptions{})
15531553
assert.Check(c, errdefs.IsNotFound(err))
15541554
}
15551555

@@ -2116,7 +2116,7 @@ func (s *DockerAPISuite) TestContainersAPICreateMountsCreate(c *testing.T) {
21162116
assert.NilError(c, err)
21172117
poll.WaitOn(c, containerExit(ctx, apiclient, ctr.ID), poll.WithDelay(time.Second))
21182118

2119-
err = apiclient.ContainerRemove(ctx, ctr.ID, types.ContainerRemoveOptions{
2119+
err = apiclient.ContainerRemove(ctx, ctr.ID, container.RemoveOptions{
21202120
RemoveVolumes: true,
21212121
Force: true,
21222122
})

integration/container/cdi_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func TestCreateWithCDIDevices(t *testing.T) {
3838
container.WithCmd("/bin/sh", "-c", "env"),
3939
container.WithCDIDevices("vendor1.com/device=foo"),
4040
)
41-
defer apiClient.ContainerRemove(ctx, id, types.ContainerRemoveOptions{Force: true})
41+
defer apiClient.ContainerRemove(ctx, id, containertypes.RemoveOptions{Force: true})
4242

4343
inspect, err := apiClient.ContainerInspect(ctx, id)
4444
assert.NilError(t, err)

integration/container/create_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ func TestCreateTmpfsOverrideAnonymousVolume(t *testing.T) {
436436
)
437437

438438
defer func() {
439-
err := apiClient.ContainerRemove(ctx, id, types.ContainerRemoveOptions{Force: true})
439+
err := apiClient.ContainerRemove(ctx, id, containertypes.RemoveOptions{Force: true})
440440
assert.NilError(t, err)
441441
}()
442442

integration/container/daemon_linux_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func TestContainerStartOnDaemonRestart(t *testing.T) {
4747
c := d.NewClientT(t)
4848

4949
cID := container.Create(ctx, t, c)
50-
defer c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
50+
defer c.ContainerRemove(ctx, cID, containertypes.RemoveOptions{Force: true})
5151

5252
err := c.ContainerStart(ctx, cID, types.ContainerStartOptions{})
5353
assert.Check(t, err, "error starting test container")
@@ -105,7 +105,7 @@ func TestDaemonRestartIpcMode(t *testing.T) {
105105
container.WithCmd("top"),
106106
container.WithRestartPolicy(containertypes.RestartPolicyAlways),
107107
)
108-
defer c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
108+
defer c.ContainerRemove(ctx, cID, containertypes.RemoveOptions{Force: true})
109109

110110
inspect, err := c.ContainerInspect(ctx, cID)
111111
assert.NilError(t, err)
@@ -121,7 +121,7 @@ func TestDaemonRestartIpcMode(t *testing.T) {
121121

122122
// check a new container is created with shareable ipc mode as per new daemon default
123123
cID = container.Run(ctx, t, c)
124-
defer c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
124+
defer c.ContainerRemove(ctx, cID, containertypes.RemoveOptions{Force: true})
125125

126126
inspect, err = c.ContainerInspect(ctx, cID)
127127
assert.NilError(t, err)
@@ -156,7 +156,7 @@ func TestDaemonHostGatewayIP(t *testing.T) {
156156
inspect, err := c.NetworkInspect(ctx, "bridge", types.NetworkInspectOptions{})
157157
assert.NilError(t, err)
158158
assert.Check(t, is.Contains(res.Stdout(), inspect.IPAM.Config[0].Gateway))
159-
c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
159+
c.ContainerRemove(ctx, cID, containertypes.RemoveOptions{Force: true})
160160
d.Stop(t)
161161

162162
// Verify the IP in /etc/hosts is same as host-gateway-ip
@@ -169,7 +169,7 @@ func TestDaemonHostGatewayIP(t *testing.T) {
169169
assert.Assert(t, is.Len(res.Stderr(), 0))
170170
assert.Equal(t, 0, res.ExitCode)
171171
assert.Check(t, is.Contains(res.Stdout(), "6.7.8.9"))
172-
c.ContainerRemove(ctx, cID, types.ContainerRemoveOptions{Force: true})
172+
c.ContainerRemove(ctx, cID, containertypes.RemoveOptions{Force: true})
173173
d.Stop(t)
174174
}
175175

0 commit comments

Comments
 (0)