summaryrefslogtreecommitdiff
path: root/pkg/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/bindings')
-rw-r--r--pkg/bindings/connection.go2
-rw-r--r--pkg/bindings/containers/archive.go2
-rw-r--r--pkg/bindings/containers/containers.go5
-rw-r--r--pkg/bindings/containers/types_attach_options.go58
-rw-r--r--pkg/bindings/containers/types_checkpoint_options.go58
-rw-r--r--pkg/bindings/containers/types_commit_options.go58
-rw-r--r--pkg/bindings/containers/types_create_options.go58
-rw-r--r--pkg/bindings/containers/types_diff_options.go58
-rw-r--r--pkg/bindings/containers/types_execinspect_options.go58
-rw-r--r--pkg/bindings/containers/types_execstart_options.go58
-rw-r--r--pkg/bindings/containers/types_execstartandattach_options.go58
-rw-r--r--pkg/bindings/containers/types_exists_options.go58
-rw-r--r--pkg/bindings/containers/types_export_options.go58
-rw-r--r--pkg/bindings/containers/types_healthcheck_options.go58
-rw-r--r--pkg/bindings/containers/types_init_options.go58
-rw-r--r--pkg/bindings/containers/types_inspect_options.go58
-rw-r--r--pkg/bindings/containers/types_kill_options.go58
-rw-r--r--pkg/bindings/containers/types_list_options.go58
-rw-r--r--pkg/bindings/containers/types_log_options.go58
-rw-r--r--pkg/bindings/containers/types_mount_options.go58
-rw-r--r--pkg/bindings/containers/types_mountedcontainerpaths_options.go58
-rw-r--r--pkg/bindings/containers/types_pause_options.go58
-rw-r--r--pkg/bindings/containers/types_prune_options.go58
-rw-r--r--pkg/bindings/containers/types_remove_options.go58
-rw-r--r--pkg/bindings/containers/types_rename_options.go58
-rw-r--r--pkg/bindings/containers/types_resizeexectty_options.go58
-rw-r--r--pkg/bindings/containers/types_resizetty_options.go58
-rw-r--r--pkg/bindings/containers/types_restart_options.go58
-rw-r--r--pkg/bindings/containers/types_restore_options.go58
-rw-r--r--pkg/bindings/containers/types_shouldrestart_options.go58
-rw-r--r--pkg/bindings/containers/types_start_options.go58
-rw-r--r--pkg/bindings/containers/types_stats_options.go58
-rw-r--r--pkg/bindings/containers/types_stop_options.go58
-rw-r--r--pkg/bindings/containers/types_top_options.go58
-rw-r--r--pkg/bindings/containers/types_unmount_options.go58
-rw-r--r--pkg/bindings/containers/types_unpause_options.go58
-rw-r--r--pkg/bindings/containers/types_wait_options.go58
-rw-r--r--pkg/bindings/errors.go6
-rw-r--r--pkg/bindings/generate/types_kube_options.go58
-rw-r--r--pkg/bindings/generate/types_systemd_options.go58
-rw-r--r--pkg/bindings/generator/generator.go112
-rw-r--r--pkg/bindings/images/build.go154
-rw-r--r--pkg/bindings/images/pull.go1
-rw-r--r--pkg/bindings/images/types_diff_options.go58
-rw-r--r--pkg/bindings/images/types_exists_options.go58
-rw-r--r--pkg/bindings/images/types_export_options.go58
-rw-r--r--pkg/bindings/images/types_get_options.go58
-rw-r--r--pkg/bindings/images/types_history_options.go58
-rw-r--r--pkg/bindings/images/types_import_options.go58
-rw-r--r--pkg/bindings/images/types_list_options.go58
-rw-r--r--pkg/bindings/images/types_load_options.go58
-rw-r--r--pkg/bindings/images/types_prune_options.go58
-rw-r--r--pkg/bindings/images/types_pull_options.go58
-rw-r--r--pkg/bindings/images/types_push_options.go58
-rw-r--r--pkg/bindings/images/types_remove_options.go58
-rw-r--r--pkg/bindings/images/types_search_options.go58
-rw-r--r--pkg/bindings/images/types_tag_options.go58
-rw-r--r--pkg/bindings/images/types_tree_options.go58
-rw-r--r--pkg/bindings/images/types_untag_options.go58
-rw-r--r--pkg/bindings/manifests/types_add_options.go58
-rw-r--r--pkg/bindings/manifests/types_create_options.go58
-rw-r--r--pkg/bindings/manifests/types_inspect_options.go58
-rw-r--r--pkg/bindings/manifests/types_remove_options.go58
-rw-r--r--pkg/bindings/network/network.go8
-rw-r--r--pkg/bindings/network/types_connect_options.go58
-rw-r--r--pkg/bindings/network/types_create_options.go58
-rw-r--r--pkg/bindings/network/types_disconnect_options.go58
-rw-r--r--pkg/bindings/network/types_inspect_options.go58
-rw-r--r--pkg/bindings/network/types_list_options.go58
-rw-r--r--pkg/bindings/network/types_remove_options.go58
-rw-r--r--pkg/bindings/play/types_kube_options.go58
-rw-r--r--pkg/bindings/pods/types_create_options.go58
-rw-r--r--pkg/bindings/pods/types_exists_options.go58
-rw-r--r--pkg/bindings/pods/types_inspect_options.go58
-rw-r--r--pkg/bindings/pods/types_kill_options.go58
-rw-r--r--pkg/bindings/pods/types_list_options.go58
-rw-r--r--pkg/bindings/pods/types_pause_options.go58
-rw-r--r--pkg/bindings/pods/types_prune_options.go58
-rw-r--r--pkg/bindings/pods/types_remove_options.go58
-rw-r--r--pkg/bindings/pods/types_restart_options.go58
-rw-r--r--pkg/bindings/pods/types_start_options.go58
-rw-r--r--pkg/bindings/pods/types_stats_options.go58
-rw-r--r--pkg/bindings/pods/types_stop_options.go58
-rw-r--r--pkg/bindings/pods/types_top_options.go58
-rw-r--r--pkg/bindings/pods/types_unpause_options.go58
-rw-r--r--pkg/bindings/system/types_disk_options.go58
-rw-r--r--pkg/bindings/system/types_events_options.go58
-rw-r--r--pkg/bindings/system/types_info_options.go58
-rw-r--r--pkg/bindings/system/types_prune_options.go58
-rw-r--r--pkg/bindings/system/types_version_options.go58
-rw-r--r--pkg/bindings/util/util.go72
-rw-r--r--pkg/bindings/volumes/types_create_options.go58
-rw-r--r--pkg/bindings/volumes/types_inspect_options.go58
-rw-r--r--pkg/bindings/volumes/types_list_options.go58
-rw-r--r--pkg/bindings/volumes/types_prune_options.go58
-rw-r--r--pkg/bindings/volumes/types_remove_options.go58
96 files changed, 389 insertions, 5019 deletions
diff --git a/pkg/bindings/connection.go b/pkg/bindings/connection.go
index 7b26037eb..6ff072e75 100644
--- a/pkg/bindings/connection.go
+++ b/pkg/bindings/connection.go
@@ -124,7 +124,7 @@ func NewConnectionWithIdentity(ctx context.Context, uri string, identity string)
ctx = context.WithValue(ctx, clientKey, &connection)
if err := pingNewConnection(ctx); err != nil {
- return nil, err
+ return nil, errors.Wrap(err, "cannot connect to the Podman socket, please verify that Podman REST API service is running")
}
return ctx, nil
}
diff --git a/pkg/bindings/containers/archive.go b/pkg/bindings/containers/archive.go
index d1bbc0b95..18871cfd1 100644
--- a/pkg/bindings/containers/archive.go
+++ b/pkg/bindings/containers/archive.go
@@ -30,7 +30,7 @@ func Stat(ctx context.Context, nameOrID string, path string) (*entities.Containe
var finalErr error
if response.StatusCode == http.StatusNotFound {
- finalErr = copy.ENOENT
+ finalErr = copy.ErrENOENT
} else if response.StatusCode != http.StatusOK {
finalErr = errors.New(response.Status)
}
diff --git a/pkg/bindings/containers/containers.go b/pkg/bindings/containers/containers.go
index 8e644b712..c84595011 100644
--- a/pkg/bindings/containers/containers.go
+++ b/pkg/bindings/containers/containers.go
@@ -137,7 +137,6 @@ func Kill(ctx context.Context, nameOrID string, options *KillOptions) error {
return err
}
return response.Process(nil)
-
}
// Pause pauses a given container. The nameOrID can be a container name
@@ -270,8 +269,8 @@ func Top(ctx context.Context, nameOrID string, options *TopOptions) ([]string, e
}
params := url.Values{}
if options.Changed("Descriptors") {
- ps_args := strings.Join(options.GetDescriptors(), ",")
- params.Add("ps_args", ps_args)
+ psArgs := strings.Join(options.GetDescriptors(), ",")
+ params.Add("ps_args", psArgs)
}
response, err := conn.DoRequest(nil, http.MethodGet, "/containers/%s/top", params, nil, nameOrID)
if err != nil {
diff --git a/pkg/bindings/containers/types_attach_options.go b/pkg/bindings/containers/types_attach_options.go
index ab5a1615c..e806d161b 100644
--- a/pkg/bindings/containers/types_attach_options.go
+++ b/pkg/bindings/containers/types_attach_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *AttachOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *AttachOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithDetachKeys
diff --git a/pkg/bindings/containers/types_checkpoint_options.go b/pkg/bindings/containers/types_checkpoint_options.go
index d239c476f..edac04ec4 100644
--- a/pkg/bindings/containers/types_checkpoint_options.go
+++ b/pkg/bindings/containers/types_checkpoint_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CheckpointOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CheckpointOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithExport
diff --git a/pkg/bindings/containers/types_commit_options.go b/pkg/bindings/containers/types_commit_options.go
index 061f16e25..f3e0a16fc 100644
--- a/pkg/bindings/containers/types_commit_options.go
+++ b/pkg/bindings/containers/types_commit_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CommitOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CommitOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAuthor
diff --git a/pkg/bindings/containers/types_create_options.go b/pkg/bindings/containers/types_create_options.go
index 8cde11335..4ef3be2b4 100644
--- a/pkg/bindings/containers/types_create_options.go
+++ b/pkg/bindings/containers/types_create_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CreateOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CreateOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_diff_options.go b/pkg/bindings/containers/types_diff_options.go
index e912bf041..952e149e9 100644
--- a/pkg/bindings/containers/types_diff_options.go
+++ b/pkg/bindings/containers/types_diff_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *DiffOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *DiffOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_execinspect_options.go b/pkg/bindings/containers/types_execinspect_options.go
index b870db46b..2ceb41878 100644
--- a/pkg/bindings/containers/types_execinspect_options.go
+++ b/pkg/bindings/containers/types_execinspect_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExecInspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExecInspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_execstart_options.go b/pkg/bindings/containers/types_execstart_options.go
index 95f97b1d7..e5b73bc7b 100644
--- a/pkg/bindings/containers/types_execstart_options.go
+++ b/pkg/bindings/containers/types_execstart_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExecStartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExecStartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_execstartandattach_options.go b/pkg/bindings/containers/types_execstartandattach_options.go
index 1981c319a..1b9276c8c 100644
--- a/pkg/bindings/containers/types_execstartandattach_options.go
+++ b/pkg/bindings/containers/types_execstartandattach_options.go
@@ -4,12 +4,8 @@ import (
"bufio"
"io"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -18,62 +14,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExecStartAndAttachOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExecStartAndAttachOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithOutputStream
diff --git a/pkg/bindings/containers/types_exists_options.go b/pkg/bindings/containers/types_exists_options.go
index a52777600..ee822ab88 100644
--- a/pkg/bindings/containers/types_exists_options.go
+++ b/pkg/bindings/containers/types_exists_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExistsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExistsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithExternal
diff --git a/pkg/bindings/containers/types_export_options.go b/pkg/bindings/containers/types_export_options.go
index 3943a5a3b..03eac2bad 100644
--- a/pkg/bindings/containers/types_export_options.go
+++ b/pkg/bindings/containers/types_export_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExportOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExportOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_healthcheck_options.go b/pkg/bindings/containers/types_healthcheck_options.go
index a548232cd..ac6d67f63 100644
--- a/pkg/bindings/containers/types_healthcheck_options.go
+++ b/pkg/bindings/containers/types_healthcheck_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *HealthCheckOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *HealthCheckOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_init_options.go b/pkg/bindings/containers/types_init_options.go
index 92e8a6c17..7365bcd25 100644
--- a/pkg/bindings/containers/types_init_options.go
+++ b/pkg/bindings/containers/types_init_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InitOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InitOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_inspect_options.go b/pkg/bindings/containers/types_inspect_options.go
index fdb84bda8..fb3e70a9d 100644
--- a/pkg/bindings/containers/types_inspect_options.go
+++ b/pkg/bindings/containers/types_inspect_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithSize
diff --git a/pkg/bindings/containers/types_kill_options.go b/pkg/bindings/containers/types_kill_options.go
index 45bd790a4..5acb0c67d 100644
--- a/pkg/bindings/containers/types_kill_options.go
+++ b/pkg/bindings/containers/types_kill_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *KillOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *KillOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithSignal
diff --git a/pkg/bindings/containers/types_list_options.go b/pkg/bindings/containers/types_list_options.go
index 3293320ec..8e872c99e 100644
--- a/pkg/bindings/containers/types_list_options.go
+++ b/pkg/bindings/containers/types_list_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ListOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ListOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/containers/types_log_options.go b/pkg/bindings/containers/types_log_options.go
index e78eb7bd0..a69570d0e 100644
--- a/pkg/bindings/containers/types_log_options.go
+++ b/pkg/bindings/containers/types_log_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *LogOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *LogOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFollow
diff --git a/pkg/bindings/containers/types_mount_options.go b/pkg/bindings/containers/types_mount_options.go
index cc8df1255..e5cc35307 100644
--- a/pkg/bindings/containers/types_mount_options.go
+++ b/pkg/bindings/containers/types_mount_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *MountOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *MountOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_mountedcontainerpaths_options.go b/pkg/bindings/containers/types_mountedcontainerpaths_options.go
index 78fa2fca0..f0536abaa 100644
--- a/pkg/bindings/containers/types_mountedcontainerpaths_options.go
+++ b/pkg/bindings/containers/types_mountedcontainerpaths_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *MountedContainerPathsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *MountedContainerPathsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_pause_options.go b/pkg/bindings/containers/types_pause_options.go
index 55f14bef0..8497a24a8 100644
--- a/pkg/bindings/containers/types_pause_options.go
+++ b/pkg/bindings/containers/types_pause_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PauseOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PauseOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_prune_options.go b/pkg/bindings/containers/types_prune_options.go
index 000c7c0bd..2ea963c97 100644
--- a/pkg/bindings/containers/types_prune_options.go
+++ b/pkg/bindings/containers/types_prune_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PruneOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PruneOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/containers/types_remove_options.go b/pkg/bindings/containers/types_remove_options.go
index dfb5367eb..b9dea71a1 100644
--- a/pkg/bindings/containers/types_remove_options.go
+++ b/pkg/bindings/containers/types_remove_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithIgnore
diff --git a/pkg/bindings/containers/types_rename_options.go b/pkg/bindings/containers/types_rename_options.go
index f4f5d1426..c148f6730 100644
--- a/pkg/bindings/containers/types_rename_options.go
+++ b/pkg/bindings/containers/types_rename_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RenameOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RenameOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithName
diff --git a/pkg/bindings/containers/types_resizeexectty_options.go b/pkg/bindings/containers/types_resizeexectty_options.go
index e63d965eb..256e5299b 100644
--- a/pkg/bindings/containers/types_resizeexectty_options.go
+++ b/pkg/bindings/containers/types_resizeexectty_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ResizeExecTTYOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ResizeExecTTYOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithHeight
diff --git a/pkg/bindings/containers/types_resizetty_options.go b/pkg/bindings/containers/types_resizetty_options.go
index 3170f4053..4f2958ba0 100644
--- a/pkg/bindings/containers/types_resizetty_options.go
+++ b/pkg/bindings/containers/types_resizetty_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ResizeTTYOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ResizeTTYOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithHeight
diff --git a/pkg/bindings/containers/types_restart_options.go b/pkg/bindings/containers/types_restart_options.go
index d59176e67..8c791ae67 100644
--- a/pkg/bindings/containers/types_restart_options.go
+++ b/pkg/bindings/containers/types_restart_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RestartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RestartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithTimeout
diff --git a/pkg/bindings/containers/types_restore_options.go b/pkg/bindings/containers/types_restore_options.go
index e9f14fc47..e0204a677 100644
--- a/pkg/bindings/containers/types_restore_options.go
+++ b/pkg/bindings/containers/types_restore_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RestoreOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RestoreOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithIgnoreRootfs
diff --git a/pkg/bindings/containers/types_shouldrestart_options.go b/pkg/bindings/containers/types_shouldrestart_options.go
index 49f943460..b0aeff09c 100644
--- a/pkg/bindings/containers/types_shouldrestart_options.go
+++ b/pkg/bindings/containers/types_shouldrestart_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ShouldRestartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ShouldRestartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_start_options.go b/pkg/bindings/containers/types_start_options.go
index a0f0b3077..60e061c79 100644
--- a/pkg/bindings/containers/types_start_options.go
+++ b/pkg/bindings/containers/types_start_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithDetachKeys
diff --git a/pkg/bindings/containers/types_stats_options.go b/pkg/bindings/containers/types_stats_options.go
index 79e35ba62..ce0fdfe87 100644
--- a/pkg/bindings/containers/types_stats_options.go
+++ b/pkg/bindings/containers/types_stats_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StatsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StatsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithStream
diff --git a/pkg/bindings/containers/types_stop_options.go b/pkg/bindings/containers/types_stop_options.go
index f221b16e8..14ece3a43 100644
--- a/pkg/bindings/containers/types_stop_options.go
+++ b/pkg/bindings/containers/types_stop_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StopOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StopOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithIgnore
diff --git a/pkg/bindings/containers/types_top_options.go b/pkg/bindings/containers/types_top_options.go
index 570dd4e90..0481abe9a 100644
--- a/pkg/bindings/containers/types_top_options.go
+++ b/pkg/bindings/containers/types_top_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *TopOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *TopOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithDescriptors
diff --git a/pkg/bindings/containers/types_unmount_options.go b/pkg/bindings/containers/types_unmount_options.go
index 24249073e..c32747e3a 100644
--- a/pkg/bindings/containers/types_unmount_options.go
+++ b/pkg/bindings/containers/types_unmount_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *UnmountOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *UnmountOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_unpause_options.go b/pkg/bindings/containers/types_unpause_options.go
index 3b1d75001..5f17067af 100644
--- a/pkg/bindings/containers/types_unpause_options.go
+++ b/pkg/bindings/containers/types_unpause_options.go
@@ -2,12 +2,8 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *UnpauseOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *UnpauseOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/containers/types_wait_options.go b/pkg/bindings/containers/types_wait_options.go
index a3f1e3b8c..42ee0c316 100644
--- a/pkg/bindings/containers/types_wait_options.go
+++ b/pkg/bindings/containers/types_wait_options.go
@@ -2,13 +2,9 @@ package containers
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/libpod/define"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -17,62 +13,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *WaitOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *WaitOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithCondition
diff --git a/pkg/bindings/errors.go b/pkg/bindings/errors.go
index e75ce898d..51ea487be 100644
--- a/pkg/bindings/errors.go
+++ b/pkg/bindings/errors.go
@@ -20,12 +20,12 @@ func handleError(data []byte) error {
return e
}
-func (a APIResponse) Process(unmarshalInto interface{}) error {
- data, err := ioutil.ReadAll(a.Response.Body)
+func (h APIResponse) Process(unmarshalInto interface{}) error {
+ data, err := ioutil.ReadAll(h.Response.Body)
if err != nil {
return errors.Wrap(err, "unable to process API response")
}
- if a.IsSuccess() || a.IsRedirection() {
+ if h.IsSuccess() || h.IsRedirection() {
if unmarshalInto != nil {
return json.Unmarshal(data, unmarshalInto)
}
diff --git a/pkg/bindings/generate/types_kube_options.go b/pkg/bindings/generate/types_kube_options.go
index 218d308e1..5d34f4bee 100644
--- a/pkg/bindings/generate/types_kube_options.go
+++ b/pkg/bindings/generate/types_kube_options.go
@@ -1,13 +1,9 @@
package generate
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *KubeOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *KubeOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithService
diff --git a/pkg/bindings/generate/types_systemd_options.go b/pkg/bindings/generate/types_systemd_options.go
index faf981d1b..dc7378888 100644
--- a/pkg/bindings/generate/types_systemd_options.go
+++ b/pkg/bindings/generate/types_systemd_options.go
@@ -1,13 +1,9 @@
package generate
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *SystemdOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *SystemdOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithUseName
diff --git a/pkg/bindings/generator/generator.go b/pkg/bindings/generator/generator.go
index dad154166..fc06fedd9 100644
--- a/pkg/bindings/generator/generator.go
+++ b/pkg/bindings/generator/generator.go
@@ -27,81 +27,31 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *{{.StructName}}) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *{{.StructName}}) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
-`
-var fieldTmpl = `
+{{range $field := .Fields}}
// With{{.Name}}
-func(o *{{.StructName}}) With{{.Name}}(value {{.Type}}) *{{.StructName}} {
- v := {{.TypedValue}}
- o.{{.Name}} = v
+func(o *{{$field.StructName}}) With{{$field.Name}}(value {{$field.Type}}) *{{$field.StructName}} {
+ v := {{$field.TypedValue}}
+ o.{{$field.Name}} = v
return o
}
// Get{{.Name}}
-func(o *{{.StructName}}) Get{{.Name}}() {{.Type}} {
- var {{.ZeroName}} {{.Type}}
- if o.{{.Name}} == nil {
- return {{.ZeroName}}
+func(o *{{$field.StructName}}) Get{{$field.Name}}() {{$field.Type}} {
+ var {{$field.ZeroName}} {{$field.Type}}
+ if o.{{$field.Name}} == nil {
+ return {{$field.ZeroName}}
}
- return {{.TypedName}}
+ return {{$field.TypedName}}
}
+{{end}}
`
type fieldStruct struct {
@@ -145,20 +95,7 @@ func main() {
out.Close()
}
}()
- bodyStruct := struct {
- PackageName string
- Imports []string
- Date string
- StructName string
- }{
- PackageName: pkg,
- Imports: imports,
- Date: time.Now().String(),
- StructName: inputStructName,
- }
- body := template.Must(template.New("body").Parse(bodyTmpl))
- fields := template.Must(template.New("fields").Parse(fieldTmpl))
ast.Inspect(f, func(n ast.Node) bool {
ref, refOK := n.(*ast.TypeSpec)
if refOK {
@@ -202,20 +139,28 @@ func main() {
fieldStructs = append(fieldStructs, fStruct)
} // for
+ bodyStruct := struct {
+ PackageName string
+ Imports []string
+ Date string
+ StructName string
+ Fields []fieldStruct
+ }{
+ PackageName: pkg,
+ Imports: imports,
+ Date: time.Now().String(),
+ StructName: inputStructName,
+ Fields: fieldStructs,
+ }
+
+ body := template.Must(template.New("body").Parse(bodyTmpl))
+
// create the body
if err := body.Execute(out, bodyStruct); err != nil {
fmt.Println(err)
os.Exit(1)
}
- // create with func from the struct fields
- for _, fs := range fieldStructs {
- if err := fields.Execute(out, fs); err != nil {
- fmt.Println(err)
- os.Exit(1)
- }
- }
-
// close out file
if err := out.Close(); err != nil {
fmt.Println(err)
@@ -239,7 +184,6 @@ func main() {
os.Exit(1)
}
}
-
}
return true
})
diff --git a/pkg/bindings/images/build.go b/pkg/bindings/images/build.go
index 02765816f..8ea09b881 100644
--- a/pkg/bindings/images/build.go
+++ b/pkg/bindings/images/build.go
@@ -31,36 +31,31 @@ import (
func Build(ctx context.Context, containerFiles []string, options entities.BuildOptions) (*entities.BuildReport, error) {
params := url.Values{}
- if t := options.Output; len(t) > 0 {
- params.Set("t", t)
+ if caps := options.AddCapabilities; len(caps) > 0 {
+ c, err := jsoniter.MarshalToString(caps)
+ if err != nil {
+ return nil, err
+ }
+ params.Add("addcaps", c)
}
+
+ if annotations := options.Annotations; len(annotations) > 0 {
+ l, err := jsoniter.MarshalToString(annotations)
+ if err != nil {
+ return nil, err
+ }
+ params.Set("annotations", l)
+ }
+ params.Add("t", options.Output)
for _, tag := range options.AdditionalTags {
params.Add("t", tag)
}
- if options.Quiet {
- params.Set("q", "1")
- }
- if options.NoCache {
- params.Set("nocache", "1")
- }
- if options.Layers {
- params.Set("layers", "1")
- }
- // TODO cachefrom
- if options.PullPolicy == buildah.PullAlways {
- params.Set("pull", "1")
- }
- if options.RemoveIntermediateCtrs {
- params.Set("rm", "1")
- }
- if options.ForceRmIntermediateCtrs {
- params.Set("forcerm", "1")
- }
- if mem := options.CommonBuildOpts.Memory; mem > 0 {
- params.Set("memory", strconv.Itoa(int(mem)))
- }
- if memSwap := options.CommonBuildOpts.MemorySwap; memSwap > 0 {
- params.Set("memswap", strconv.Itoa(int(memSwap)))
+ if buildArgs := options.Args; len(buildArgs) > 0 {
+ bArgs, err := jsoniter.MarshalToString(buildArgs)
+ if err != nil {
+ return nil, err
+ }
+ params.Set("buildargs", bArgs)
}
if cpuShares := options.CommonBuildOpts.CPUShares; cpuShares > 0 {
params.Set("cpushares", strconv.Itoa(int(cpuShares)))
@@ -74,22 +69,38 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO
if cpuQuota := options.CommonBuildOpts.CPUQuota; cpuQuota > 0 {
params.Set("cpuquota", strconv.Itoa(int(cpuQuota)))
}
- if buildArgs := options.Args; len(buildArgs) > 0 {
- bArgs, err := jsoniter.MarshalToString(buildArgs)
+ params.Set("networkmode", strconv.Itoa(int(options.ConfigureNetwork)))
+ params.Set("outputformat", options.OutputFormat)
+
+ if devices := options.Devices; len(devices) > 0 {
+ d, err := jsoniter.MarshalToString(devices)
if err != nil {
return nil, err
}
- params.Set("buildargs", bArgs)
+ params.Add("devices", d)
}
- if shmSize := options.CommonBuildOpts.ShmSize; len(shmSize) > 0 {
- shmBytes, err := units.RAMInBytes(shmSize)
+
+ if caps := options.DropCapabilities; len(caps) > 0 {
+ c, err := jsoniter.MarshalToString(caps)
if err != nil {
return nil, err
}
- params.Set("shmsize", strconv.Itoa(int(shmBytes)))
+ params.Add("dropcaps", c)
}
- if options.Squash {
- params.Set("squash", "1")
+
+ if options.ForceRmIntermediateCtrs {
+ params.Set("forcerm", "1")
+ }
+ if len(options.From) > 0 {
+ params.Set("from", options.From)
+ }
+
+ params.Set("isolation", strconv.Itoa(int(options.Isolation)))
+ if options.CommonBuildOpts.HTTPProxy {
+ params.Set("httpproxy", "1")
+ }
+ if options.Jobs != nil {
+ params.Set("jobs", strconv.FormatUint(uint64(*options.Jobs), 10))
}
if labels := options.Labels; len(labels) > 0 {
l, err := jsoniter.MarshalToString(labels)
@@ -98,10 +109,66 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO
}
params.Set("labels", l)
}
- if options.CommonBuildOpts.HTTPProxy {
- params.Set("httpproxy", "1")
+ if options.Layers {
+ params.Set("layers", "1")
+ }
+ if options.LogRusage {
+ params.Set("rusage", "1")
+ }
+ if len(options.Manifest) > 0 {
+ params.Set("manifest", options.Manifest)
+ }
+ if memSwap := options.CommonBuildOpts.MemorySwap; memSwap > 0 {
+ params.Set("memswap", strconv.Itoa(int(memSwap)))
+ }
+ if mem := options.CommonBuildOpts.Memory; mem > 0 {
+ params.Set("memory", strconv.Itoa(int(mem)))
+ }
+ if options.NoCache {
+ params.Set("nocache", "1")
+ }
+ if t := options.Output; len(t) > 0 {
+ params.Set("output", t)
+ }
+ var platform string
+ if len(options.OS) > 0 {
+ platform = options.OS
+ }
+ if len(options.Architecture) > 0 {
+ if len(platform) == 0 {
+ platform = "linux"
+ }
+ platform += "/" + options.Architecture
+ }
+ if len(platform) > 0 {
+ params.Set("platform", platform)
+ }
+ if options.PullPolicy == buildah.PullAlways {
+ params.Set("pull", "1")
+ }
+ if options.Quiet {
+ params.Set("q", "1")
+ }
+ if options.RemoveIntermediateCtrs {
+ params.Set("rm", "1")
+ }
+ if hosts := options.CommonBuildOpts.AddHost; len(hosts) > 0 {
+ h, err := jsoniter.MarshalToString(hosts)
+ if err != nil {
+ return nil, err
+ }
+ params.Set("extrahosts", h)
+ }
+ if shmSize := options.CommonBuildOpts.ShmSize; len(shmSize) > 0 {
+ shmBytes, err := units.RAMInBytes(shmSize)
+ if err != nil {
+ return nil, err
+ }
+ params.Set("shmsize", strconv.Itoa(int(shmBytes)))
+ }
+ if options.Squash {
+ params.Set("squash", "1")
}
-
var (
headers map[string]string
err error
@@ -124,19 +191,6 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO
stdout = options.Out
}
- // TODO network?
-
- var platform string
- if OS := options.OS; len(OS) > 0 {
- platform += OS
- }
- if arch := options.Architecture; len(arch) > 0 {
- platform += "/" + arch
- }
- if len(platform) > 0 {
- params.Set("platform", platform)
- }
-
entries := make([]string, len(containerFiles))
copy(entries, containerFiles)
entries = append(entries, options.ContextDirectory)
diff --git a/pkg/bindings/images/pull.go b/pkg/bindings/images/pull.go
index 5669c704e..9149b7445 100644
--- a/pkg/bindings/images/pull.go
+++ b/pkg/bindings/images/pull.go
@@ -93,7 +93,6 @@ func Pull(ctx context.Context, rawImage string, options *PullOptions) ([]string,
default:
return images, errors.New("failed to parse pull results stream, unexpected input")
}
-
}
return images, mErr
}
diff --git a/pkg/bindings/images/types_diff_options.go b/pkg/bindings/images/types_diff_options.go
index edfc7bfa2..ae4b4655b 100644
--- a/pkg/bindings/images/types_diff_options.go
+++ b/pkg/bindings/images/types_diff_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *DiffOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *DiffOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/images/types_exists_options.go b/pkg/bindings/images/types_exists_options.go
index 649be4862..9de1b9878 100644
--- a/pkg/bindings/images/types_exists_options.go
+++ b/pkg/bindings/images/types_exists_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExistsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExistsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/images/types_export_options.go b/pkg/bindings/images/types_export_options.go
index ebd053165..dcce565f6 100644
--- a/pkg/bindings/images/types_export_options.go
+++ b/pkg/bindings/images/types_export_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExportOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExportOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithCompress
diff --git a/pkg/bindings/images/types_get_options.go b/pkg/bindings/images/types_get_options.go
index 33ebe2611..b9d00d82c 100644
--- a/pkg/bindings/images/types_get_options.go
+++ b/pkg/bindings/images/types_get_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *GetOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *GetOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithSize
diff --git a/pkg/bindings/images/types_history_options.go b/pkg/bindings/images/types_history_options.go
index b2c37acea..e2cd43852 100644
--- a/pkg/bindings/images/types_history_options.go
+++ b/pkg/bindings/images/types_history_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *HistoryOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *HistoryOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/images/types_import_options.go b/pkg/bindings/images/types_import_options.go
index e2aed0866..ff409cc7c 100644
--- a/pkg/bindings/images/types_import_options.go
+++ b/pkg/bindings/images/types_import_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ImportOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ImportOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithChanges
diff --git a/pkg/bindings/images/types_list_options.go b/pkg/bindings/images/types_list_options.go
index e194474b9..38d1bde70 100644
--- a/pkg/bindings/images/types_list_options.go
+++ b/pkg/bindings/images/types_list_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ListOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ListOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/images/types_load_options.go b/pkg/bindings/images/types_load_options.go
index 7e15d4e03..d17e7cc10 100644
--- a/pkg/bindings/images/types_load_options.go
+++ b/pkg/bindings/images/types_load_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *LoadOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *LoadOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithReference
diff --git a/pkg/bindings/images/types_prune_options.go b/pkg/bindings/images/types_prune_options.go
index f86676d53..deef211c1 100644
--- a/pkg/bindings/images/types_prune_options.go
+++ b/pkg/bindings/images/types_prune_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PruneOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PruneOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/images/types_pull_options.go b/pkg/bindings/images/types_pull_options.go
index 59e2b6354..2220ade26 100644
--- a/pkg/bindings/images/types_pull_options.go
+++ b/pkg/bindings/images/types_pull_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PullOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PullOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAllTags
diff --git a/pkg/bindings/images/types_push_options.go b/pkg/bindings/images/types_push_options.go
index ae946fcde..966bb11fe 100644
--- a/pkg/bindings/images/types_push_options.go
+++ b/pkg/bindings/images/types_push_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PushOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PushOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/images/types_remove_options.go b/pkg/bindings/images/types_remove_options.go
index d79186565..964fca265 100644
--- a/pkg/bindings/images/types_remove_options.go
+++ b/pkg/bindings/images/types_remove_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/images/types_search_options.go b/pkg/bindings/images/types_search_options.go
index a55c9ac89..1321d1910 100644
--- a/pkg/bindings/images/types_search_options.go
+++ b/pkg/bindings/images/types_search_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *SearchOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *SearchOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAuthfile
diff --git a/pkg/bindings/images/types_tag_options.go b/pkg/bindings/images/types_tag_options.go
index b323ea41c..74977e10a 100644
--- a/pkg/bindings/images/types_tag_options.go
+++ b/pkg/bindings/images/types_tag_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *TagOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *TagOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/images/types_tree_options.go b/pkg/bindings/images/types_tree_options.go
index 8e1b16c5c..a07a3a647 100644
--- a/pkg/bindings/images/types_tree_options.go
+++ b/pkg/bindings/images/types_tree_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *TreeOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *TreeOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithWhatRequires
diff --git a/pkg/bindings/images/types_untag_options.go b/pkg/bindings/images/types_untag_options.go
index b28670134..3f7ac4a5a 100644
--- a/pkg/bindings/images/types_untag_options.go
+++ b/pkg/bindings/images/types_untag_options.go
@@ -2,12 +2,8 @@ package images
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *UntagOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *UntagOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/manifests/types_add_options.go b/pkg/bindings/manifests/types_add_options.go
index 61314c479..ae7e914b2 100644
--- a/pkg/bindings/manifests/types_add_options.go
+++ b/pkg/bindings/manifests/types_add_options.go
@@ -1,13 +1,9 @@
package manifests
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *AddOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *AddOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/manifests/types_create_options.go b/pkg/bindings/manifests/types_create_options.go
index 4c7c1397a..a8e11b828 100644
--- a/pkg/bindings/manifests/types_create_options.go
+++ b/pkg/bindings/manifests/types_create_options.go
@@ -1,13 +1,9 @@
package manifests
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CreateOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CreateOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/manifests/types_inspect_options.go b/pkg/bindings/manifests/types_inspect_options.go
index 0b82fc3cf..90be7ebe3 100644
--- a/pkg/bindings/manifests/types_inspect_options.go
+++ b/pkg/bindings/manifests/types_inspect_options.go
@@ -1,13 +1,9 @@
package manifests
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/manifests/types_remove_options.go b/pkg/bindings/manifests/types_remove_options.go
index 6ed0fd329..612d72dac 100644
--- a/pkg/bindings/manifests/types_remove_options.go
+++ b/pkg/bindings/manifests/types_remove_options.go
@@ -1,13 +1,9 @@
package manifests
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/network/network.go b/pkg/bindings/network/network.go
index 7cd251b0e..d747f9bd7 100644
--- a/pkg/bindings/network/network.go
+++ b/pkg/bindings/network/network.go
@@ -102,7 +102,7 @@ func List(ctx context.Context, options *ListOptions) ([]*entities.NetworkListRep
}
// Disconnect removes a container from a given network
-func Disconnect(ctx context.Context, networkName string, ContainerNameOrId string, options *DisconnectOptions) error {
+func Disconnect(ctx context.Context, networkName string, ContainerNameOrID string, options *DisconnectOptions) error {
if options == nil {
options = new(DisconnectOptions)
}
@@ -117,7 +117,7 @@ func Disconnect(ctx context.Context, networkName string, ContainerNameOrId strin
Container string
Force bool
}{
- Container: ContainerNameOrId,
+ Container: ContainerNameOrID,
}
if force := options.GetForce(); options.Changed("Force") {
disconnect.Force = force
@@ -136,7 +136,7 @@ func Disconnect(ctx context.Context, networkName string, ContainerNameOrId strin
}
// Connect adds a container to a network
-func Connect(ctx context.Context, networkName string, ContainerNameOrId string, options *ConnectOptions) error {
+func Connect(ctx context.Context, networkName string, ContainerNameOrID string, options *ConnectOptions) error {
if options == nil {
options = new(ConnectOptions)
}
@@ -151,7 +151,7 @@ func Connect(ctx context.Context, networkName string, ContainerNameOrId string,
Container string
Aliases []string
}{
- Container: ContainerNameOrId,
+ Container: ContainerNameOrID,
}
if aliases := options.GetAliases(); options.Changed("Aliases") {
connect.Aliases = aliases
diff --git a/pkg/bindings/network/types_connect_options.go b/pkg/bindings/network/types_connect_options.go
index 4440bbed4..b3cad6164 100644
--- a/pkg/bindings/network/types_connect_options.go
+++ b/pkg/bindings/network/types_connect_options.go
@@ -2,12 +2,8 @@ package network
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ConnectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ConnectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAliases
diff --git a/pkg/bindings/network/types_create_options.go b/pkg/bindings/network/types_create_options.go
index 5fbdce93a..553c94ee5 100644
--- a/pkg/bindings/network/types_create_options.go
+++ b/pkg/bindings/network/types_create_options.go
@@ -3,12 +3,8 @@ package network
import (
"net"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -17,62 +13,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CreateOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CreateOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithDisableDNS
diff --git a/pkg/bindings/network/types_disconnect_options.go b/pkg/bindings/network/types_disconnect_options.go
index 947f2f114..667da0d99 100644
--- a/pkg/bindings/network/types_disconnect_options.go
+++ b/pkg/bindings/network/types_disconnect_options.go
@@ -2,12 +2,8 @@ package network
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *DisconnectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *DisconnectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithForce
diff --git a/pkg/bindings/network/types_inspect_options.go b/pkg/bindings/network/types_inspect_options.go
index 144ccbfae..ce8f58e2e 100644
--- a/pkg/bindings/network/types_inspect_options.go
+++ b/pkg/bindings/network/types_inspect_options.go
@@ -2,12 +2,8 @@ package network
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/network/types_list_options.go b/pkg/bindings/network/types_list_options.go
index 60632ce33..c16e4c05e 100644
--- a/pkg/bindings/network/types_list_options.go
+++ b/pkg/bindings/network/types_list_options.go
@@ -2,12 +2,8 @@ package network
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ListOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ListOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/network/types_remove_options.go b/pkg/bindings/network/types_remove_options.go
index 4ad4a2301..8e4dca819 100644
--- a/pkg/bindings/network/types_remove_options.go
+++ b/pkg/bindings/network/types_remove_options.go
@@ -2,12 +2,8 @@ package network
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithForce
diff --git a/pkg/bindings/play/types_kube_options.go b/pkg/bindings/play/types_kube_options.go
index ea3872aae..946c19b28 100644
--- a/pkg/bindings/play/types_kube_options.go
+++ b/pkg/bindings/play/types_kube_options.go
@@ -1,13 +1,9 @@
package play
import (
- "errors"
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *KubeOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *KubeOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAuthfile
diff --git a/pkg/bindings/pods/types_create_options.go b/pkg/bindings/pods/types_create_options.go
index cfa29c6be..942f25629 100644
--- a/pkg/bindings/pods/types_create_options.go
+++ b/pkg/bindings/pods/types_create_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CreateOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CreateOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_exists_options.go b/pkg/bindings/pods/types_exists_options.go
index 6149ab1cc..11c6f9c05 100644
--- a/pkg/bindings/pods/types_exists_options.go
+++ b/pkg/bindings/pods/types_exists_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ExistsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ExistsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_inspect_options.go b/pkg/bindings/pods/types_inspect_options.go
index 281717ff1..172b1303c 100644
--- a/pkg/bindings/pods/types_inspect_options.go
+++ b/pkg/bindings/pods/types_inspect_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_kill_options.go b/pkg/bindings/pods/types_kill_options.go
index 4c310d50c..e350746db 100644
--- a/pkg/bindings/pods/types_kill_options.go
+++ b/pkg/bindings/pods/types_kill_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *KillOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *KillOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithSignal
diff --git a/pkg/bindings/pods/types_list_options.go b/pkg/bindings/pods/types_list_options.go
index 20f3229e5..fcaeb7c1c 100644
--- a/pkg/bindings/pods/types_list_options.go
+++ b/pkg/bindings/pods/types_list_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ListOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ListOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/pods/types_pause_options.go b/pkg/bindings/pods/types_pause_options.go
index 0f0f5bd97..b5aee3984 100644
--- a/pkg/bindings/pods/types_pause_options.go
+++ b/pkg/bindings/pods/types_pause_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PauseOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PauseOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_prune_options.go b/pkg/bindings/pods/types_prune_options.go
index ef8aae17f..80019a2fd 100644
--- a/pkg/bindings/pods/types_prune_options.go
+++ b/pkg/bindings/pods/types_prune_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PruneOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PruneOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_remove_options.go b/pkg/bindings/pods/types_remove_options.go
index f51f67129..e129d1e29 100644
--- a/pkg/bindings/pods/types_remove_options.go
+++ b/pkg/bindings/pods/types_remove_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithForce
diff --git a/pkg/bindings/pods/types_restart_options.go b/pkg/bindings/pods/types_restart_options.go
index ec05e9fc9..7b95b91a1 100644
--- a/pkg/bindings/pods/types_restart_options.go
+++ b/pkg/bindings/pods/types_restart_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RestartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RestartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_start_options.go b/pkg/bindings/pods/types_start_options.go
index ec9f5b1de..b0d574020 100644
--- a/pkg/bindings/pods/types_start_options.go
+++ b/pkg/bindings/pods/types_start_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StartOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StartOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/pods/types_stats_options.go b/pkg/bindings/pods/types_stats_options.go
index 8be7d175d..50a18bc6a 100644
--- a/pkg/bindings/pods/types_stats_options.go
+++ b/pkg/bindings/pods/types_stats_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StatsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StatsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/pods/types_stop_options.go b/pkg/bindings/pods/types_stop_options.go
index fa3577e72..f80d391c6 100644
--- a/pkg/bindings/pods/types_stop_options.go
+++ b/pkg/bindings/pods/types_stop_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *StopOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *StopOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithTimeout
diff --git a/pkg/bindings/pods/types_top_options.go b/pkg/bindings/pods/types_top_options.go
index c3c701dad..7e05a7937 100644
--- a/pkg/bindings/pods/types_top_options.go
+++ b/pkg/bindings/pods/types_top_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *TopOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *TopOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithDescriptors
diff --git a/pkg/bindings/pods/types_unpause_options.go b/pkg/bindings/pods/types_unpause_options.go
index 281f0ea8d..9575e3949 100644
--- a/pkg/bindings/pods/types_unpause_options.go
+++ b/pkg/bindings/pods/types_unpause_options.go
@@ -2,12 +2,8 @@ package pods
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *UnpauseOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *UnpauseOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/system/types_disk_options.go b/pkg/bindings/system/types_disk_options.go
index 6f0c3735a..118d2e8d2 100644
--- a/pkg/bindings/system/types_disk_options.go
+++ b/pkg/bindings/system/types_disk_options.go
@@ -2,12 +2,8 @@ package system
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *DiskOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *DiskOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/system/types_events_options.go b/pkg/bindings/system/types_events_options.go
index 401a9807e..f6717f38d 100644
--- a/pkg/bindings/system/types_events_options.go
+++ b/pkg/bindings/system/types_events_options.go
@@ -2,12 +2,8 @@ package system
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *EventsOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *EventsOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/system/types_info_options.go b/pkg/bindings/system/types_info_options.go
index 7c07b5081..bc6c67282 100644
--- a/pkg/bindings/system/types_info_options.go
+++ b/pkg/bindings/system/types_info_options.go
@@ -2,12 +2,8 @@ package system
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InfoOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InfoOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/system/types_prune_options.go b/pkg/bindings/system/types_prune_options.go
index c677ccca6..c08a9baf3 100644
--- a/pkg/bindings/system/types_prune_options.go
+++ b/pkg/bindings/system/types_prune_options.go
@@ -2,12 +2,8 @@ package system
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PruneOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PruneOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithAll
diff --git a/pkg/bindings/system/types_version_options.go b/pkg/bindings/system/types_version_options.go
index 60ebfced9..fa6956677 100644
--- a/pkg/bindings/system/types_version_options.go
+++ b/pkg/bindings/system/types_version_options.go
@@ -2,12 +2,8 @@ package system
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *VersionOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *VersionOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/util/util.go b/pkg/bindings/util/util.go
index 403846355..c1961308e 100644
--- a/pkg/bindings/util/util.go
+++ b/pkg/bindings/util/util.go
@@ -1,19 +1,34 @@
package util
import (
+ "errors"
+ "fmt"
+ "net/url"
"reflect"
"strconv"
+ "strings"
+
+ jsoniter "github.com/json-iterator/go"
)
func IsSimpleType(f reflect.Value) bool {
+ if _, ok := f.Interface().(fmt.Stringer); ok {
+ return true
+ }
+
switch f.Kind() {
case reflect.Bool, reflect.Int, reflect.Int64, reflect.Uint, reflect.Uint64, reflect.String:
return true
}
+
return false
}
func SimpleTypeToParam(f reflect.Value) string {
+ if s, ok := f.Interface().(fmt.Stringer); ok {
+ return s.String()
+ }
+
switch f.Kind() {
case reflect.Bool:
return strconv.FormatBool(f.Bool())
@@ -26,5 +41,62 @@ func SimpleTypeToParam(f reflect.Value) string {
case reflect.String:
return f.String()
}
+
panic("the input parameter is not a simple type")
}
+
+func Changed(o interface{}, fieldName string) bool {
+ r := reflect.ValueOf(o)
+ value := reflect.Indirect(r).FieldByName(fieldName)
+ return !value.IsNil()
+}
+
+func ToParams(o interface{}) (url.Values, error) {
+ params := url.Values{}
+ if o == nil || reflect.ValueOf(o).IsNil() {
+ return params, nil
+ }
+ json := jsoniter.ConfigCompatibleWithStandardLibrary
+ s := reflect.ValueOf(o)
+ if reflect.Ptr == s.Kind() {
+ s = s.Elem()
+ }
+ sType := s.Type()
+ for i := 0; i < s.NumField(); i++ {
+ fieldName := sType.Field(i).Name
+ if !Changed(o, fieldName) {
+ continue
+ }
+ fieldName = strings.ToLower(fieldName)
+ f := s.Field(i)
+ if reflect.Ptr == f.Kind() {
+ f = f.Elem()
+ }
+ switch {
+ case IsSimpleType(f):
+ params.Set(fieldName, SimpleTypeToParam(f))
+ case f.Kind() == reflect.Slice:
+ for i := 0; i < f.Len(); i++ {
+ elem := f.Index(i)
+ if IsSimpleType(elem) {
+ params.Add(fieldName, SimpleTypeToParam(elem))
+ } else {
+ return nil, errors.New("slices must contain only simple types")
+ }
+ }
+ case f.Kind() == reflect.Map:
+ lowerCaseKeys := make(map[string][]string)
+ iter := f.MapRange()
+ for iter.Next() {
+ lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
+ }
+ s, err := json.MarshalToString(lowerCaseKeys)
+ if err != nil {
+ return nil, err
+ }
+
+ params.Set(fieldName, s)
+ }
+ }
+ return params, nil
+}
diff --git a/pkg/bindings/volumes/types_create_options.go b/pkg/bindings/volumes/types_create_options.go
index 2254f8c13..45053e261 100644
--- a/pkg/bindings/volumes/types_create_options.go
+++ b/pkg/bindings/volumes/types_create_options.go
@@ -2,12 +2,8 @@ package volumes
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *CreateOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *CreateOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/volumes/types_inspect_options.go b/pkg/bindings/volumes/types_inspect_options.go
index 51ac2d348..e6397a0d2 100644
--- a/pkg/bindings/volumes/types_inspect_options.go
+++ b/pkg/bindings/volumes/types_inspect_options.go
@@ -2,12 +2,8 @@ package volumes
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,60 +12,10 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *InspectOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *InspectOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
diff --git a/pkg/bindings/volumes/types_list_options.go b/pkg/bindings/volumes/types_list_options.go
index c96e647b0..103515e99 100644
--- a/pkg/bindings/volumes/types_list_options.go
+++ b/pkg/bindings/volumes/types_list_options.go
@@ -2,12 +2,8 @@ package volumes
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *ListOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *ListOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/volumes/types_prune_options.go b/pkg/bindings/volumes/types_prune_options.go
index 06d16b659..eb910e05d 100644
--- a/pkg/bindings/volumes/types_prune_options.go
+++ b/pkg/bindings/volumes/types_prune_options.go
@@ -2,12 +2,8 @@ package volumes
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *PruneOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *PruneOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithFilters
diff --git a/pkg/bindings/volumes/types_remove_options.go b/pkg/bindings/volumes/types_remove_options.go
index 4b0037234..30cb923c7 100644
--- a/pkg/bindings/volumes/types_remove_options.go
+++ b/pkg/bindings/volumes/types_remove_options.go
@@ -2,12 +2,8 @@ package volumes
import (
"net/url"
- "reflect"
- "strings"
"github.com/containers/podman/v2/pkg/bindings/util"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
)
/*
@@ -16,62 +12,12 @@ This file is generated automatically by go generate. Do not edit.
// Changed
func (o *RemoveOptions) Changed(fieldName string) bool {
- r := reflect.ValueOf(o)
- value := reflect.Indirect(r).FieldByName(fieldName)
- return !value.IsNil()
+ return util.Changed(o, fieldName)
}
// ToParams
func (o *RemoveOptions) ToParams() (url.Values, error) {
- params := url.Values{}
- if o == nil {
- return params, nil
- }
- json := jsoniter.ConfigCompatibleWithStandardLibrary
- s := reflect.ValueOf(o)
- if reflect.Ptr == s.Kind() {
- s = s.Elem()
- }
- sType := s.Type()
- for i := 0; i < s.NumField(); i++ {
- fieldName := sType.Field(i).Name
- if !o.Changed(fieldName) {
- continue
- }
- fieldName = strings.ToLower(fieldName)
- f := s.Field(i)
- if reflect.Ptr == f.Kind() {
- f = f.Elem()
- }
- switch {
- case util.IsSimpleType(f):
- params.Set(fieldName, util.SimpleTypeToParam(f))
- case f.Kind() == reflect.Slice:
- for i := 0; i < f.Len(); i++ {
- elem := f.Index(i)
- if util.IsSimpleType(elem) {
- params.Add(fieldName, util.SimpleTypeToParam(elem))
- } else {
- return nil, errors.New("slices must contain only simple types")
- }
- }
- case f.Kind() == reflect.Map:
- lowerCaseKeys := make(map[string][]string)
- iter := f.MapRange()
- for iter.Next() {
- lowerCaseKeys[iter.Key().Interface().(string)] = iter.Value().Interface().([]string)
-
- }
- s, err := json.MarshalToString(lowerCaseKeys)
- if err != nil {
- return nil, err
- }
-
- params.Set(fieldName, s)
- }
-
- }
- return params, nil
+ return util.ToParams(o)
}
// WithForce