In file `api/types/client.go`, some of the "*Options{}" structs own a
`Filters` field while some else have the name of `Filter`, this commit
will rename all `Filter` to `Filters` for consistency. Also `Filters`
is consistent with API with format `/xxx?filters=xxx`, that's why
`Filters` is the right name.
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
| ... | ... |
@@ -32,11 +32,11 @@ func (s *containerRouter) getContainersJSON(ctx context.Context, w http.Response |
| 32 | 32 |
} |
| 33 | 33 |
|
| 34 | 34 |
config := &types.ContainerListOptions{
|
| 35 |
- All: httputils.BoolValue(r, "all"), |
|
| 36 |
- Size: httputils.BoolValue(r, "size"), |
|
| 37 |
- Since: r.Form.Get("since"),
|
|
| 38 |
- Before: r.Form.Get("before"),
|
|
| 39 |
- Filter: filter, |
|
| 35 |
+ All: httputils.BoolValue(r, "all"), |
|
| 36 |
+ Size: httputils.BoolValue(r, "size"), |
|
| 37 |
+ Since: r.Form.Get("since"),
|
|
| 38 |
+ Before: r.Form.Get("before"),
|
|
| 39 |
+ Filters: filter, |
|
| 40 | 40 |
} |
| 41 | 41 |
|
| 42 | 42 |
if tmpLimit := r.Form.Get("limit"); tmpLimit != "" {
|
| ... | ... |
@@ -102,7 +102,7 @@ func (sr *swarmRouter) getServices(ctx context.Context, w http.ResponseWriter, r |
| 102 | 102 |
return err |
| 103 | 103 |
} |
| 104 | 104 |
|
| 105 |
- services, err := sr.backend.GetServices(basictypes.ServiceListOptions{Filter: filter})
|
|
| 105 |
+ services, err := sr.backend.GetServices(basictypes.ServiceListOptions{Filters: filter})
|
|
| 106 | 106 |
if err != nil {
|
| 107 | 107 |
logrus.Errorf("Error getting services: %v", err)
|
| 108 | 108 |
return err |
| ... | ... |
@@ -182,7 +182,7 @@ func (sr *swarmRouter) getNodes(ctx context.Context, w http.ResponseWriter, r *h |
| 182 | 182 |
return err |
| 183 | 183 |
} |
| 184 | 184 |
|
| 185 |
- nodes, err := sr.backend.GetNodes(basictypes.NodeListOptions{Filter: filter})
|
|
| 185 |
+ nodes, err := sr.backend.GetNodes(basictypes.NodeListOptions{Filters: filter})
|
|
| 186 | 186 |
if err != nil {
|
| 187 | 187 |
logrus.Errorf("Error getting nodes: %v", err)
|
| 188 | 188 |
return err |
| ... | ... |
@@ -243,7 +243,7 @@ func (sr *swarmRouter) getTasks(ctx context.Context, w http.ResponseWriter, r *h |
| 243 | 243 |
return err |
| 244 | 244 |
} |
| 245 | 245 |
|
| 246 |
- tasks, err := sr.backend.GetTasks(basictypes.TaskListOptions{Filter: filter})
|
|
| 246 |
+ tasks, err := sr.backend.GetTasks(basictypes.TaskListOptions{Filters: filter})
|
|
| 247 | 247 |
if err != nil {
|
| 248 | 248 |
logrus.Errorf("Error getting tasks: %v", err)
|
| 249 | 249 |
return err |
| ... | ... |
@@ -59,14 +59,14 @@ type ContainerExecInspect struct {
|
| 59 | 59 |
|
| 60 | 60 |
// ContainerListOptions holds parameters to list containers with. |
| 61 | 61 |
type ContainerListOptions struct {
|
| 62 |
- Quiet bool |
|
| 63 |
- Size bool |
|
| 64 |
- All bool |
|
| 65 |
- Latest bool |
|
| 66 |
- Since string |
|
| 67 |
- Before string |
|
| 68 |
- Limit int |
|
| 69 |
- Filter filters.Args |
|
| 62 |
+ Quiet bool |
|
| 63 |
+ Size bool |
|
| 64 |
+ All bool |
|
| 65 |
+ Latest bool |
|
| 66 |
+ Since string |
|
| 67 |
+ Before string |
|
| 68 |
+ Limit int |
|
| 69 |
+ Filters filters.Args |
|
| 70 | 70 |
} |
| 71 | 71 |
|
| 72 | 72 |
// ContainerLogsOptions holds parameters to filter logs with. |
| ... | ... |
@@ -267,7 +267,7 @@ func (v VersionResponse) ServerOK() bool {
|
| 267 | 267 |
|
| 268 | 268 |
// NodeListOptions holds parameters to list nodes with. |
| 269 | 269 |
type NodeListOptions struct {
|
| 270 |
- Filter filters.Args |
|
| 270 |
+ Filters filters.Args |
|
| 271 | 271 |
} |
| 272 | 272 |
|
| 273 | 273 |
// NodeRemoveOptions holds parameters to remove nodes with. |
| ... | ... |
@@ -317,12 +317,12 @@ type ServiceUpdateOptions struct {
|
| 317 | 317 |
|
| 318 | 318 |
// ServiceListOptions holds parameters to list services with. |
| 319 | 319 |
type ServiceListOptions struct {
|
| 320 |
- Filter filters.Args |
|
| 320 |
+ Filters filters.Args |
|
| 321 | 321 |
} |
| 322 | 322 |
|
| 323 | 323 |
// TaskListOptions holds parameters to list tasks with. |
| 324 | 324 |
type TaskListOptions struct {
|
| 325 |
- Filter filters.Args |
|
| 325 |
+ Filters filters.Args |
|
| 326 | 326 |
} |
| 327 | 327 |
|
| 328 | 328 |
// PluginRemoveOptions holds parameters to remove plugins. |
| ... | ... |
@@ -79,10 +79,10 @@ func (p *preProcessor) Networks() bool {
|
| 79 | 79 |
|
| 80 | 80 |
func buildContainerListOptions(opts *psOptions) (*types.ContainerListOptions, error) {
|
| 81 | 81 |
options := &types.ContainerListOptions{
|
| 82 |
- All: opts.all, |
|
| 83 |
- Limit: opts.last, |
|
| 84 |
- Size: opts.size, |
|
| 85 |
- Filter: opts.filter.Value(), |
|
| 82 |
+ All: opts.all, |
|
| 83 |
+ Limit: opts.last, |
|
| 84 |
+ Size: opts.size, |
|
| 85 |
+ Filters: opts.filter.Value(), |
|
| 86 | 86 |
} |
| 87 | 87 |
|
| 88 | 88 |
if opts.nLatest && opts.last == -1 {
|
| ... | ... |
@@ -55,10 +55,10 @@ func TestBuildContainerListOptions(t *testing.T) {
|
| 55 | 55 |
assert.Equal(t, c.expectedAll, options.All) |
| 56 | 56 |
assert.Equal(t, c.expectedSize, options.Size) |
| 57 | 57 |
assert.Equal(t, c.expectedLimit, options.Limit) |
| 58 |
- assert.Equal(t, options.Filter.Len(), len(c.expectedFilters)) |
|
| 58 |
+ assert.Equal(t, options.Filters.Len(), len(c.expectedFilters)) |
|
| 59 | 59 |
|
| 60 | 60 |
for k, v := range c.expectedFilters {
|
| 61 |
- f := options.Filter |
|
| 61 |
+ f := options.Filters |
|
| 62 | 62 |
if !f.ExactMatch(k, v) {
|
| 63 | 63 |
t.Fatalf("Expected filter with key %s to be %s but got %s", k, v, f.Get(k))
|
| 64 | 64 |
} |
| ... | ... |
@@ -50,7 +50,7 @@ func runList(dockerCli *command.DockerCli, opts listOptions) error {
|
| 50 | 50 |
|
| 51 | 51 |
nodes, err := client.NodeList( |
| 52 | 52 |
ctx, |
| 53 |
- types.NodeListOptions{Filter: opts.filter.Value()})
|
|
| 53 |
+ types.NodeListOptions{Filters: opts.filter.Value()})
|
|
| 54 | 54 |
if err != nil {
|
| 55 | 55 |
return err |
| 56 | 56 |
} |
| ... | ... |
@@ -72,7 +72,7 @@ func runPs(dockerCli *command.DockerCli, opts psOptions) error {
|
| 72 | 72 |
filter := opts.filter.Value() |
| 73 | 73 |
filter.Add("node", node.ID)
|
| 74 | 74 |
|
| 75 |
- nodeTasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: filter})
|
|
| 75 |
+ nodeTasks, err := client.TaskList(ctx, types.TaskListOptions{Filters: filter})
|
|
| 76 | 76 |
if err != nil {
|
| 77 | 77 |
errs = append(errs, err.Error()) |
| 78 | 78 |
continue |
| ... | ... |
@@ -51,7 +51,7 @@ func runList(dockerCli *command.DockerCli, opts listOptions) error {
|
| 51 | 51 |
client := dockerCli.Client() |
| 52 | 52 |
out := dockerCli.Out() |
| 53 | 53 |
|
| 54 |
- services, err := client.ServiceList(ctx, types.ServiceListOptions{Filter: opts.filter.Value()})
|
|
| 54 |
+ services, err := client.ServiceList(ctx, types.ServiceListOptions{Filters: opts.filter.Value()})
|
|
| 55 | 55 |
if err != nil {
|
| 56 | 56 |
return err |
| 57 | 57 |
} |
| ... | ... |
@@ -63,7 +63,7 @@ func runList(dockerCli *command.DockerCli, opts listOptions) error {
|
| 63 | 63 |
taskFilter.Add("service", service.ID)
|
| 64 | 64 |
} |
| 65 | 65 |
|
| 66 |
- tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: taskFilter})
|
|
| 66 |
+ tasks, err := client.TaskList(ctx, types.TaskListOptions{Filters: taskFilter})
|
|
| 67 | 67 |
if err != nil {
|
| 68 | 68 |
return err |
| 69 | 69 |
} |
| ... | ... |
@@ -64,7 +64,7 @@ func runPS(dockerCli *command.DockerCli, opts psOptions) error {
|
| 64 | 64 |
} |
| 65 | 65 |
} |
| 66 | 66 |
|
| 67 |
- tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: filter})
|
|
| 67 |
+ tasks, err := client.TaskList(ctx, types.TaskListOptions{Filters: filter})
|
|
| 68 | 68 |
if err != nil {
|
| 69 | 69 |
return err |
| 70 | 70 |
} |
| ... | ... |
@@ -56,7 +56,7 @@ func runPS(dockerCli *command.DockerCli, opts psOptions) error {
|
| 56 | 56 |
filter.Add("desired-state", string(swarm.TaskStateAccepted))
|
| 57 | 57 |
} |
| 58 | 58 |
|
| 59 |
- tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: filter})
|
|
| 59 |
+ tasks, err := client.TaskList(ctx, types.TaskListOptions{Filters: filter})
|
|
| 60 | 60 |
if err != nil {
|
| 61 | 61 |
return err |
| 62 | 62 |
} |
| ... | ... |
@@ -46,7 +46,7 @@ func runServices(dockerCli *command.DockerCli, opts servicesOptions) error {
|
| 46 | 46 |
filter := opts.filter.Value() |
| 47 | 47 |
filter.Add("label", labelNamespace+"="+opts.namespace)
|
| 48 | 48 |
|
| 49 |
- services, err := client.ServiceList(ctx, types.ServiceListOptions{Filter: filter})
|
|
| 49 |
+ services, err := client.ServiceList(ctx, types.ServiceListOptions{Filters: filter})
|
|
| 50 | 50 |
if err != nil {
|
| 51 | 51 |
return err |
| 52 | 52 |
} |
| ... | ... |
@@ -67,7 +67,7 @@ func runServices(dockerCli *command.DockerCli, opts servicesOptions) error {
|
| 67 | 67 |
taskFilter.Add("service", service.ID)
|
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
- tasks, err := client.TaskList(ctx, types.TaskListOptions{Filter: taskFilter})
|
|
| 70 |
+ tasks, err := client.TaskList(ctx, types.TaskListOptions{Filters: taskFilter})
|
|
| 71 | 71 |
if err != nil {
|
| 72 | 72 |
return err |
| 73 | 73 |
} |
| ... | ... |
@@ -34,8 +34,8 @@ func (cli *Client) ContainerList(ctx context.Context, options types.ContainerLis |
| 34 | 34 |
query.Set("size", "1")
|
| 35 | 35 |
} |
| 36 | 36 |
|
| 37 |
- if options.Filter.Len() > 0 {
|
|
| 38 |
- filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filter) |
|
| 37 |
+ if options.Filters.Len() > 0 {
|
|
| 38 |
+ filterJSON, err := filters.ToParamWithVersion(cli.version, options.Filters) |
|
| 39 | 39 |
|
| 40 | 40 |
if err != nil {
|
| 41 | 41 |
return nil, err |
| ... | ... |
@@ -82,10 +82,10 @@ func TestContainerList(t *testing.T) {
|
| 82 | 82 |
filters.Add("label", "label2")
|
| 83 | 83 |
filters.Add("before", "container")
|
| 84 | 84 |
containers, err := client.ContainerList(context.Background(), types.ContainerListOptions{
|
| 85 |
- Size: true, |
|
| 86 |
- All: true, |
|
| 87 |
- Since: "container", |
|
| 88 |
- Filter: filters, |
|
| 85 |
+ Size: true, |
|
| 86 |
+ All: true, |
|
| 87 |
+ Since: "container", |
|
| 88 |
+ Filters: filters, |
|
| 89 | 89 |
}) |
| 90 | 90 |
if err != nil {
|
| 91 | 91 |
t.Fatal(err) |
| ... | ... |
@@ -14,8 +14,8 @@ import ( |
| 14 | 14 |
func (cli *Client) NodeList(ctx context.Context, options types.NodeListOptions) ([]swarm.Node, error) {
|
| 15 | 15 |
query := url.Values{}
|
| 16 | 16 |
|
| 17 |
- if options.Filter.Len() > 0 {
|
|
| 18 |
- filterJSON, err := filters.ToParam(options.Filter) |
|
| 17 |
+ if options.Filters.Len() > 0 {
|
|
| 18 |
+ filterJSON, err := filters.ToParam(options.Filters) |
|
| 19 | 19 |
|
| 20 | 20 |
if err != nil {
|
| 21 | 21 |
return nil, err |
| ... | ... |
@@ -14,8 +14,8 @@ import ( |
| 14 | 14 |
func (cli *Client) ServiceList(ctx context.Context, options types.ServiceListOptions) ([]swarm.Service, error) {
|
| 15 | 15 |
query := url.Values{}
|
| 16 | 16 |
|
| 17 |
- if options.Filter.Len() > 0 {
|
|
| 18 |
- filterJSON, err := filters.ToParam(options.Filter) |
|
| 17 |
+ if options.Filters.Len() > 0 {
|
|
| 18 |
+ filterJSON, err := filters.ToParam(options.Filters) |
|
| 19 | 19 |
if err != nil {
|
| 20 | 20 |
return nil, err |
| 21 | 21 |
} |
| ... | ... |
@@ -14,8 +14,8 @@ import ( |
| 14 | 14 |
func (cli *Client) TaskList(ctx context.Context, options types.TaskListOptions) ([]swarm.Task, error) {
|
| 15 | 15 |
query := url.Values{}
|
| 16 | 16 |
|
| 17 |
- if options.Filter.Len() > 0 {
|
|
| 18 |
- filterJSON, err := filters.ToParam(options.Filter) |
|
| 17 |
+ if options.Filters.Len() > 0 {
|
|
| 18 |
+ filterJSON, err := filters.ToParam(options.Filters) |
|
| 19 | 19 |
if err != nil {
|
| 20 | 20 |
return nil, err |
| 21 | 21 |
} |
| ... | ... |
@@ -597,7 +597,7 @@ func (c *Cluster) listContainerForNode(nodeID string) ([]string, error) {
|
| 597 | 597 |
filters := filters.NewArgs() |
| 598 | 598 |
filters.Add("label", fmt.Sprintf("com.docker.swarm.node.id=%s", nodeID))
|
| 599 | 599 |
containers, err := c.config.Backend.Containers(&apitypes.ContainerListOptions{
|
| 600 |
- Filter: filters, |
|
| 600 |
+ Filters: filters, |
|
| 601 | 601 |
}) |
| 602 | 602 |
if err != nil {
|
| 603 | 603 |
return []string{}, err
|
| ... | ... |
@@ -840,7 +840,7 @@ func (c *Cluster) GetServices(options apitypes.ServiceListOptions) ([]types.Serv |
| 840 | 840 |
return nil, c.errNoManager() |
| 841 | 841 |
} |
| 842 | 842 |
|
| 843 |
- filters, err := newListServicesFilters(options.Filter) |
|
| 843 |
+ filters, err := newListServicesFilters(options.Filters) |
|
| 844 | 844 |
if err != nil {
|
| 845 | 845 |
return nil, err |
| 846 | 846 |
} |
| ... | ... |
@@ -1019,7 +1019,7 @@ func (c *Cluster) GetNodes(options apitypes.NodeListOptions) ([]types.Node, erro |
| 1019 | 1019 |
return nil, c.errNoManager() |
| 1020 | 1020 |
} |
| 1021 | 1021 |
|
| 1022 |
- filters, err := newListNodesFilters(options.Filter) |
|
| 1022 |
+ filters, err := newListNodesFilters(options.Filters) |
|
| 1023 | 1023 |
if err != nil {
|
| 1024 | 1024 |
return nil, err |
| 1025 | 1025 |
} |
| ... | ... |
@@ -1149,7 +1149,7 @@ func (c *Cluster) GetTasks(options apitypes.TaskListOptions) ([]types.Task, erro |
| 1149 | 1149 |
return nil |
| 1150 | 1150 |
} |
| 1151 | 1151 |
|
| 1152 |
- filters, err := newListTasksFilters(options.Filter, byName) |
|
| 1152 |
+ filters, err := newListTasksFilters(options.Filters, byName) |
|
| 1153 | 1153 |
if err != nil {
|
| 1154 | 1154 |
return nil, err |
| 1155 | 1155 |
} |
| ... | ... |
@@ -217,7 +217,7 @@ func (daemon *Daemon) reducePsContainer(container *container.Container, ctx *lis |
| 217 | 217 |
|
| 218 | 218 |
// foldFilter generates the container filter based on the user's filtering options. |
| 219 | 219 |
func (daemon *Daemon) foldFilter(config *types.ContainerListOptions) (*listContext, error) {
|
| 220 |
- psFilters := config.Filter |
|
| 220 |
+ psFilters := config.Filters |
|
| 221 | 221 |
|
| 222 | 222 |
if err := psFilters.Validate(acceptedPsFilterTags); err != nil {
|
| 223 | 223 |
return nil, err |