diff --git a/client/interface.go b/client/interface.go index 96e274c9df..692dcfbece 100644 --- a/client/interface.go +++ b/client/interface.go @@ -176,7 +176,7 @@ type VolumeAPIClient interface { VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error) VolumeInspect(ctx context.Context, volumeID string) (volume.Volume, error) VolumeInspectWithRaw(ctx context.Context, volumeID string) (volume.Volume, []byte, error) - VolumeList(ctx context.Context, filter filters.Args) (volume.ListResponse, error) + VolumeList(ctx context.Context, options volume.ListOptions) (volume.ListResponse, error) VolumeRemove(ctx context.Context, volumeID string, force bool) error VolumesPrune(ctx context.Context, pruneFilter filters.Args) (types.VolumesPruneReport, error) VolumeUpdate(ctx context.Context, volumeID string, version swarm.Version, options volume.UpdateOptions) error diff --git a/client/volume_list.go b/client/volume_list.go index d8204f8db5..d5ea9827c7 100644 --- a/client/volume_list.go +++ b/client/volume_list.go @@ -10,13 +10,13 @@ import ( ) // VolumeList returns the volumes configured in the docker host. -func (cli *Client) VolumeList(ctx context.Context, filter filters.Args) (volume.ListResponse, error) { +func (cli *Client) VolumeList(ctx context.Context, options volume.ListOptions) (volume.ListResponse, error) { var volumes volume.ListResponse query := url.Values{} - if filter.Len() > 0 { + if options.Filters.Len() > 0 { //nolint:staticcheck // ignore SA1019 for old code - filterJSON, err := filters.ToParamWithVersion(cli.version, filter) + filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) if err != nil { return volumes, err } diff --git a/client/volume_list_test.go b/client/volume_list_test.go index 19a843be80..c7336aac0e 100644 --- a/client/volume_list_test.go +++ b/client/volume_list_test.go @@ -20,7 +20,7 @@ func TestVolumeListError(t *testing.T) { client: newMockClient(errorMock(http.StatusInternalServerError, "Server error")), } - _, err := client.VolumeList(context.Background(), filters.NewArgs()) + _, err := client.VolumeList(context.Background(), volume.ListOptions{}) if !errdefs.IsSystem(err) { t.Fatalf("expected a Server Error, got %[1]T: %[1]v", err) } @@ -87,7 +87,7 @@ func TestVolumeList(t *testing.T) { }), } - volumeResponse, err := client.VolumeList(context.Background(), listCase.filters) + volumeResponse, err := client.VolumeList(context.Background(), volume.ListOptions{Filters: listCase.filters}) if err != nil { t.Fatal(err) } diff --git a/integration/container/remove_test.go b/integration/container/remove_test.go index 860d5479e3..b37358d84f 100644 --- a/integration/container/remove_test.go +++ b/integration/container/remove_test.go @@ -8,6 +8,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/api/types/volume" "github.com/docker/docker/integration/internal/container" "gotest.tools/v3/assert" is "gotest.tools/v3/assert/cmp" @@ -72,7 +73,9 @@ func TestRemoveContainerWithVolume(t *testing.T) { }) assert.NilError(t, err) - volumes, err := client.VolumeList(ctx, filters.NewArgs(filters.Arg("name", volName))) + volumes, err := client.VolumeList(ctx, volume.ListOptions{ + Filters: filters.NewArgs(filters.Arg("name", volName)), + }) assert.NilError(t, err) assert.Check(t, is.Equal(0, len(volumes.Volumes))) } diff --git a/integration/plugin/authz/authz_plugin_v2_test.go b/integration/plugin/authz/authz_plugin_v2_test.go index bcbaa1d051..c01f2e7af7 100644 --- a/integration/plugin/authz/authz_plugin_v2_test.go +++ b/integration/plugin/authz/authz_plugin_v2_test.go @@ -105,7 +105,7 @@ func TestAuthZPluginV2RejectVolumeRequests(t *testing.T) { assert.Assert(t, err != nil) assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag))) - _, err = c.VolumeList(context.Background(), filters.Args{}) + _, err = c.VolumeList(context.Background(), volume.ListOptions{}) assert.Assert(t, err != nil) assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag))) diff --git a/integration/volume/volume_test.go b/integration/volume/volume_test.go index 278c2eb93b..76620596a1 100644 --- a/integration/volume/volume_test.go +++ b/integration/volume/volume_test.go @@ -9,7 +9,6 @@ import ( "time" "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/volume" "github.com/docker/docker/integration/internal/container" "github.com/docker/docker/testutil/request" @@ -43,7 +42,7 @@ func TestVolumesCreateAndList(t *testing.T) { } assert.Check(t, is.DeepEqual(vol, expected, cmpopts.EquateEmpty())) - volList, err := client.VolumeList(ctx, filters.Args{}) + volList, err := client.VolumeList(ctx, volume.ListOptions{}) assert.NilError(t, err) assert.Assert(t, len(volList.Volumes) > 0) diff --git a/testutil/environment/clean.go b/testutil/environment/clean.go index 7e205ae0dc..c3984302da 100644 --- a/testutil/environment/clean.go +++ b/testutil/environment/clean.go @@ -8,6 +8,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/docker/docker/errdefs" "gotest.tools/v3/assert" @@ -124,7 +125,7 @@ func removeImage(ctx context.Context, t testing.TB, apiclient client.ImageAPICli func deleteAllVolumes(t testing.TB, c client.VolumeAPIClient, protectedVolumes map[string]struct{}) { t.Helper() - volumes, err := c.VolumeList(context.Background(), filters.Args{}) + volumes, err := c.VolumeList(context.Background(), volume.ListOptions{}) assert.Check(t, err, "failed to list volumes") for _, v := range volumes.Volumes { diff --git a/testutil/environment/protect.go b/testutil/environment/protect.go index c15d4ca953..8ef75a1848 100644 --- a/testutil/environment/protect.go +++ b/testutil/environment/protect.go @@ -6,6 +6,7 @@ import ( "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/api/types/volume" "github.com/docker/docker/errdefs" "gotest.tools/v3/assert" ) @@ -195,8 +196,8 @@ func getExistingPlugins(t testing.TB, testEnv *Execution) []string { // ProtectVolume adds the specified volume(s) to be protected in case of clean func (e *Execution) ProtectVolume(t testing.TB, volumes ...string) { t.Helper() - for _, volume := range volumes { - e.protectedElements.volumes[volume] = struct{}{} + for _, vol := range volumes { + e.protectedElements.volumes[vol] = struct{}{} } } @@ -211,12 +212,12 @@ func ProtectVolumes(t testing.TB, testEnv *Execution) { func getExistingVolumes(t testing.TB, testEnv *Execution) []string { t.Helper() client := testEnv.APIClient() - volumeList, err := client.VolumeList(context.Background(), filters.Args{}) + volumeList, err := client.VolumeList(context.Background(), volume.ListOptions{}) assert.NilError(t, err, "failed to list volumes") var volumes []string - for _, volume := range volumeList.Volumes { - volumes = append(volumes, volume.Name) + for _, vol := range volumeList.Volumes { + volumes = append(volumes, vol.Name) } return volumes }