mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Merge pull request #50984 from thaJeztah/rm_docker_1.9_compat
client: remove support for API < v1.22 (docker < 1.10) filter format
This commit is contained in:
@@ -8,7 +8,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/container"
|
"github.com/moby/moby/api/types/container"
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ContainerListOptions holds parameters to list containers with.
|
// ContainerListOptions holds parameters to list containers with.
|
||||||
@@ -47,27 +46,10 @@ func (cli *Client) ContainerList(ctx context.Context, options ContainerListOptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
if options.Filters.Len() > 0 {
|
if options.Filters.Len() > 0 {
|
||||||
// Make sure we negotiated (if the client is configured to do so),
|
|
||||||
// as code below contains API-version specific handling of options.
|
|
||||||
//
|
|
||||||
// Normally, version-negotiation (if enabled) would not happen until
|
|
||||||
// the API request is made.
|
|
||||||
if err := cli.checkVersion(ctx); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
filterJSON, err := filters.ToJSON(options.Filters)
|
filterJSON, err := filters.ToJSON(options.Filters)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,13 +43,6 @@ func (cli *Client) ImageList(ctx context.Context, options ImageListOptions) ([]i
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return images, err
|
return images, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
if options.All {
|
if options.All {
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/network"
|
"github.com/moby/moby/api/types/network"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NetworkList returns the list of networks configured in the docker host.
|
// NetworkList returns the list of networks configured in the docker host.
|
||||||
@@ -18,14 +17,6 @@ func (cli *Client) NetworkList(ctx context.Context, options NetworkListOptions)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
var networkResources []network.Summary
|
var networkResources []network.Summary
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/plugin"
|
"github.com/moby/moby/api/types/plugin"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// PluginList returns the installed plugins
|
// PluginList returns the installed plugins
|
||||||
@@ -20,13 +19,6 @@ func (cli *Client) PluginList(ctx context.Context, filter filters.Args) (plugin.
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return plugins, err
|
return plugins, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return plugins, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
resp, err := cli.get(ctx, "/plugins", query, nil)
|
resp, err := cli.get(ctx, "/plugins", query, nil)
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/events"
|
"github.com/moby/moby/api/types/events"
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
"github.com/moby/moby/client/internal/timestamp"
|
"github.com/moby/moby/client/internal/timestamp"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,17 +30,7 @@ func (cli *Client) Events(ctx context.Context, options EventsListOptions) (<-cha
|
|||||||
go func() {
|
go func() {
|
||||||
defer close(errs)
|
defer close(errs)
|
||||||
|
|
||||||
// Make sure we negotiated (if the client is configured to do so),
|
query, err := buildEventsQueryParams(options)
|
||||||
// as code below contains API-version specific handling of options.
|
|
||||||
//
|
|
||||||
// Normally, version-negotiation (if enabled) would not happen until
|
|
||||||
// the API request is made.
|
|
||||||
if err := cli.checkVersion(ctx); err != nil {
|
|
||||||
close(started)
|
|
||||||
errs <- err
|
|
||||||
return
|
|
||||||
}
|
|
||||||
query, err := buildEventsQueryParams(cli.version, options)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
close(started)
|
close(started)
|
||||||
errs <- err
|
errs <- err
|
||||||
@@ -85,7 +74,7 @@ func (cli *Client) Events(ctx context.Context, options EventsListOptions) (<-cha
|
|||||||
return messages, errs
|
return messages, errs
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildEventsQueryParams(cliVersion string, options EventsListOptions) (url.Values, error) {
|
func buildEventsQueryParams(options EventsListOptions) (url.Values, error) {
|
||||||
query := url.Values{}
|
query := url.Values{}
|
||||||
ref := time.Now()
|
ref := time.Now()
|
||||||
|
|
||||||
@@ -110,13 +99,6 @@ func buildEventsQueryParams(cliVersion string, options EventsListOptions) (url.V
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cliVersion != "" && versions.LessThan(cliVersion, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,41 +81,3 @@ func encodePlatform(platform *ocispec.Platform) (string, error) {
|
|||||||
}
|
}
|
||||||
return string(p), nil
|
return string(p), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// encodeLegacyFilters encodes Args in the legacy format as used in API v1.21 and older.
|
|
||||||
// where values are a list of strings, instead of a set.
|
|
||||||
//
|
|
||||||
// Don't use in any new code; use [filters.ToJSON]] instead.
|
|
||||||
func encodeLegacyFilters(currentFormat string) (string, error) {
|
|
||||||
// The Args.fields field is not exported, but used to marshal JSON,
|
|
||||||
// so we'll marshal to the new format, then unmarshal to get the
|
|
||||||
// fields, and marshal again.
|
|
||||||
//
|
|
||||||
// This is far from optimal, but this code is only used for deprecated
|
|
||||||
// API versions, so should not be hit commonly.
|
|
||||||
var argsFields map[string]map[string]bool
|
|
||||||
err := json.Unmarshal([]byte(currentFormat), &argsFields)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
buf, err := json.Marshal(convertArgsToSlice(argsFields))
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return string(buf), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func convertArgsToSlice(f map[string]map[string]bool) map[string][]string {
|
|
||||||
m := map[string][]string{}
|
|
||||||
for k, v := range f {
|
|
||||||
values := []string{}
|
|
||||||
for kk := range v {
|
|
||||||
if v[kk] {
|
|
||||||
values = append(values, kk)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m[k] = values
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package client
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
|
||||||
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
"gotest.tools/v3/assert"
|
"gotest.tools/v3/assert"
|
||||||
is "gotest.tools/v3/assert/cmp"
|
is "gotest.tools/v3/assert/cmp"
|
||||||
@@ -56,22 +55,3 @@ func TestEncodePlatforms(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEncodeLegacyFilters(t *testing.T) {
|
|
||||||
a := filters.NewArgs(
|
|
||||||
filters.Arg("created", "today"),
|
|
||||||
filters.Arg("image.name", "ubuntu*"),
|
|
||||||
filters.Arg("image.name", "*untu"),
|
|
||||||
)
|
|
||||||
|
|
||||||
currentFormat, err := filters.ToJSON(a)
|
|
||||||
assert.NilError(t, err)
|
|
||||||
|
|
||||||
// encode in the API v1.21 (and older) format
|
|
||||||
str1, err := encodeLegacyFilters(currentFormat)
|
|
||||||
assert.Check(t, err)
|
|
||||||
if str1 != `{"created":["today"],"image.name":["*untu","ubuntu*"]}` &&
|
|
||||||
str1 != `{"created":["today"],"image.name":["ubuntu*","*untu"]}` {
|
|
||||||
t.Errorf("incorrectly marshaled the filters: %s", str1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
"github.com/moby/moby/api/types/volume"
|
"github.com/moby/moby/api/types/volume"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -19,13 +18,6 @@ func (cli *Client) VolumeList(ctx context.Context, options VolumeListOptions) (v
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return volume.ListResponse{}, err
|
return volume.ListResponse{}, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return volume.ListResponse{}, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
resp, err := cli.get(ctx, "/volumes", query, nil)
|
resp, err := cli.get(ctx, "/volumes", query, nil)
|
||||||
|
|||||||
18
vendor/github.com/moby/moby/client/container_list.go
generated
vendored
18
vendor/github.com/moby/moby/client/container_list.go
generated
vendored
@@ -8,7 +8,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/container"
|
"github.com/moby/moby/api/types/container"
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ContainerListOptions holds parameters to list containers with.
|
// ContainerListOptions holds parameters to list containers with.
|
||||||
@@ -47,27 +46,10 @@ func (cli *Client) ContainerList(ctx context.Context, options ContainerListOptio
|
|||||||
}
|
}
|
||||||
|
|
||||||
if options.Filters.Len() > 0 {
|
if options.Filters.Len() > 0 {
|
||||||
// Make sure we negotiated (if the client is configured to do so),
|
|
||||||
// as code below contains API-version specific handling of options.
|
|
||||||
//
|
|
||||||
// Normally, version-negotiation (if enabled) would not happen until
|
|
||||||
// the API request is made.
|
|
||||||
if err := cli.checkVersion(ctx); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
filterJSON, err := filters.ToJSON(options.Filters)
|
filterJSON, err := filters.ToJSON(options.Filters)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
7
vendor/github.com/moby/moby/client/image_list.go
generated
vendored
7
vendor/github.com/moby/moby/client/image_list.go
generated
vendored
@@ -43,13 +43,6 @@ func (cli *Client) ImageList(ctx context.Context, options ImageListOptions) ([]i
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return images, err
|
return images, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
if options.All {
|
if options.All {
|
||||||
|
|||||||
9
vendor/github.com/moby/moby/client/network_list.go
generated
vendored
9
vendor/github.com/moby/moby/client/network_list.go
generated
vendored
@@ -7,7 +7,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/network"
|
"github.com/moby/moby/api/types/network"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// NetworkList returns the list of networks configured in the docker host.
|
// NetworkList returns the list of networks configured in the docker host.
|
||||||
@@ -18,14 +17,6 @@ func (cli *Client) NetworkList(ctx context.Context, options NetworkListOptions)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
var networkResources []network.Summary
|
var networkResources []network.Summary
|
||||||
|
|||||||
8
vendor/github.com/moby/moby/client/plugin_list.go
generated
vendored
8
vendor/github.com/moby/moby/client/plugin_list.go
generated
vendored
@@ -7,7 +7,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/plugin"
|
"github.com/moby/moby/api/types/plugin"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// PluginList returns the installed plugins
|
// PluginList returns the installed plugins
|
||||||
@@ -20,13 +19,6 @@ func (cli *Client) PluginList(ctx context.Context, filter filters.Args) (plugin.
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return plugins, err
|
return plugins, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return plugins, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
resp, err := cli.get(ctx, "/plugins", query, nil)
|
resp, err := cli.get(ctx, "/plugins", query, nil)
|
||||||
|
|||||||
22
vendor/github.com/moby/moby/client/system_events.go
generated
vendored
22
vendor/github.com/moby/moby/client/system_events.go
generated
vendored
@@ -8,7 +8,6 @@ import (
|
|||||||
|
|
||||||
"github.com/moby/moby/api/types/events"
|
"github.com/moby/moby/api/types/events"
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
"github.com/moby/moby/client/internal/timestamp"
|
"github.com/moby/moby/client/internal/timestamp"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,17 +30,7 @@ func (cli *Client) Events(ctx context.Context, options EventsListOptions) (<-cha
|
|||||||
go func() {
|
go func() {
|
||||||
defer close(errs)
|
defer close(errs)
|
||||||
|
|
||||||
// Make sure we negotiated (if the client is configured to do so),
|
query, err := buildEventsQueryParams(options)
|
||||||
// as code below contains API-version specific handling of options.
|
|
||||||
//
|
|
||||||
// Normally, version-negotiation (if enabled) would not happen until
|
|
||||||
// the API request is made.
|
|
||||||
if err := cli.checkVersion(ctx); err != nil {
|
|
||||||
close(started)
|
|
||||||
errs <- err
|
|
||||||
return
|
|
||||||
}
|
|
||||||
query, err := buildEventsQueryParams(cli.version, options)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
close(started)
|
close(started)
|
||||||
errs <- err
|
errs <- err
|
||||||
@@ -85,7 +74,7 @@ func (cli *Client) Events(ctx context.Context, options EventsListOptions) (<-cha
|
|||||||
return messages, errs
|
return messages, errs
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildEventsQueryParams(cliVersion string, options EventsListOptions) (url.Values, error) {
|
func buildEventsQueryParams(options EventsListOptions) (url.Values, error) {
|
||||||
query := url.Values{}
|
query := url.Values{}
|
||||||
ref := time.Now()
|
ref := time.Now()
|
||||||
|
|
||||||
@@ -110,13 +99,6 @@ func buildEventsQueryParams(cliVersion string, options EventsListOptions) (url.V
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if cliVersion != "" && versions.LessThan(cliVersion, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
38
vendor/github.com/moby/moby/client/utils.go
generated
vendored
38
vendor/github.com/moby/moby/client/utils.go
generated
vendored
@@ -81,41 +81,3 @@ func encodePlatform(platform *ocispec.Platform) (string, error) {
|
|||||||
}
|
}
|
||||||
return string(p), nil
|
return string(p), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// encodeLegacyFilters encodes Args in the legacy format as used in API v1.21 and older.
|
|
||||||
// where values are a list of strings, instead of a set.
|
|
||||||
//
|
|
||||||
// Don't use in any new code; use [filters.ToJSON]] instead.
|
|
||||||
func encodeLegacyFilters(currentFormat string) (string, error) {
|
|
||||||
// The Args.fields field is not exported, but used to marshal JSON,
|
|
||||||
// so we'll marshal to the new format, then unmarshal to get the
|
|
||||||
// fields, and marshal again.
|
|
||||||
//
|
|
||||||
// This is far from optimal, but this code is only used for deprecated
|
|
||||||
// API versions, so should not be hit commonly.
|
|
||||||
var argsFields map[string]map[string]bool
|
|
||||||
err := json.Unmarshal([]byte(currentFormat), &argsFields)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
buf, err := json.Marshal(convertArgsToSlice(argsFields))
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return string(buf), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func convertArgsToSlice(f map[string]map[string]bool) map[string][]string {
|
|
||||||
m := map[string][]string{}
|
|
||||||
for k, v := range f {
|
|
||||||
values := []string{}
|
|
||||||
for kk := range v {
|
|
||||||
if v[kk] {
|
|
||||||
values = append(values, kk)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m[k] = values
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
8
vendor/github.com/moby/moby/client/volume_list.go
generated
vendored
8
vendor/github.com/moby/moby/client/volume_list.go
generated
vendored
@@ -6,7 +6,6 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/moby/moby/api/types/filters"
|
"github.com/moby/moby/api/types/filters"
|
||||||
"github.com/moby/moby/api/types/versions"
|
|
||||||
"github.com/moby/moby/api/types/volume"
|
"github.com/moby/moby/api/types/volume"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -19,13 +18,6 @@ func (cli *Client) VolumeList(ctx context.Context, options VolumeListOptions) (v
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return volume.ListResponse{}, err
|
return volume.ListResponse{}, err
|
||||||
}
|
}
|
||||||
if cli.version != "" && versions.LessThan(cli.version, "1.22") {
|
|
||||||
legacyFormat, err := encodeLegacyFilters(filterJSON)
|
|
||||||
if err != nil {
|
|
||||||
return volume.ListResponse{}, err
|
|
||||||
}
|
|
||||||
filterJSON = legacyFormat
|
|
||||||
}
|
|
||||||
query.Set("filters", filterJSON)
|
query.Set("filters", filterJSON)
|
||||||
}
|
}
|
||||||
resp, err := cli.get(ctx, "/volumes", query, nil)
|
resp, err := cli.get(ctx, "/volumes", query, nil)
|
||||||
|
|||||||
Reference in New Issue
Block a user