From 6d4612c8d20eac7acf98aa1f0b1d05519372262a Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 20 Dec 2015 14:36:12 -0500 Subject: [PATCH 1/2] Remove redundant / complex client code --- .../generators/generator-for-type.go | 23 ++----------------- .../testgroup/unversioned/testType.go | 9 +------- .../extensions/unversioned/daemonSet.go | 23 ++----------------- .../extensions/unversioned/deployment.go | 23 ++----------------- .../unversioned/horizontalPodAutoscaler.go | 23 ++----------------- .../extensions/unversioned/ingress.go | 23 ++----------------- .../generated/extensions/unversioned/job.go | 23 ++----------------- .../unversioned/thirdPartyResource.go | 23 ++----------------- .../legacy/unversioned/componentStatus.go | 23 ++----------------- .../generated/legacy/unversioned/endpoints.go | 23 ++----------------- .../generated/legacy/unversioned/event.go | 23 ++----------------- .../legacy/unversioned/limitRange.go | 23 ++----------------- .../generated/legacy/unversioned/namespace.go | 23 ++----------------- .../generated/legacy/unversioned/node.go | 23 ++----------------- .../legacy/unversioned/persistentVolume.go | 23 ++----------------- .../unversioned/persistentVolumeClaim.go | 23 ++----------------- .../typed/generated/legacy/unversioned/pod.go | 23 ++----------------- .../legacy/unversioned/podTemplate.go | 23 ++----------------- .../unversioned/replicationController.go | 23 ++----------------- .../legacy/unversioned/resourceQuota.go | 23 ++----------------- .../generated/legacy/unversioned/secret.go | 23 ++----------------- .../generated/legacy/unversioned/service.go | 23 ++----------------- .../legacy/unversioned/serviceAccount.go | 23 ++----------------- pkg/client/unversioned/deployment.go | 9 +------- pkg/client/unversioned/events.go | 15 +----------- .../unversioned/horizontalpodautoscaler.go | 10 +------- pkg/client/unversioned/ingress.go | 10 +------- pkg/client/unversioned/jobs.go | 11 +-------- pkg/client/unversioned/pod_templates.go | 10 +------- pkg/client/unversioned/pods.go | 10 +------- pkg/client/unversioned/request.go | 8 ++++++- 31 files changed, 59 insertions(+), 539 deletions(-) diff --git a/cmd/libs/go2idl/client-gen/generators/generator-for-type.go b/cmd/libs/go2idl/client-gen/generators/generator-for-type.go index 7a78f22ab5..e0e9cac6cf 100644 --- a/cmd/libs/go2idl/client-gen/generators/generator-for-type.go +++ b/cmd/libs/go2idl/client-gen/generators/generator-for-type.go @@ -144,18 +144,11 @@ func (c *$.type|privatePlural$) Get(name string) (result *$.type|raw$, err error var deleteTemplate = ` // Delete takes name of the $.type|private$ and deletes it. Returns an error if one occurs. func (c *$.type|privatePlural$) Delete(name string, options *$.apiDeleteOptions|raw$) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("$.type|privatePlural$").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("$.type|privatePlural$"). Name(name). - Body(body). + Body(options). Do(). Error() } @@ -164,23 +157,11 @@ func (c *$.type|privatePlural$) Delete(name string, options *$.apiDeleteOptions| var deleteCollectionTemplate = ` // DeleteCollection deletes a collection of objects. func (c *$.type|privatePlural$) DeleteCollection(options *$.apiDeleteOptions|raw$, listOptions $.apiListOptions|raw$) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("$.type|privatePlural$"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("$.type|privatePlural$"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/cmd/libs/go2idl/client-gen/testoutput/testgroup/unversioned/testType.go b/cmd/libs/go2idl/client-gen/testoutput/testgroup/unversioned/testType.go index 23261b3932..155a68c91e 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/testgroup/unversioned/testType.go +++ b/cmd/libs/go2idl/client-gen/testoutput/testgroup/unversioned/testType.go @@ -79,18 +79,11 @@ func (c *testTypes) Update(testType *testgroup.TestType) (result *testgroup.Test // Delete takes name of the testType and deletes it. Returns an error if one occurs. func (c *testTypes) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("testTypes").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("testTypes"). Name(name). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/daemonSet.go b/pkg/client/typed/generated/extensions/unversioned/daemonSet.go index 6a4f5545ac..4855e1168d 100644 --- a/pkg/client/typed/generated/extensions/unversioned/daemonSet.go +++ b/pkg/client/typed/generated/extensions/unversioned/daemonSet.go @@ -79,41 +79,22 @@ func (c *daemonSets) Update(daemonSet *extensions.DaemonSet) (result *extensions // Delete takes name of the daemonSet and deletes it. Returns an error if one occurs. func (c *daemonSets) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("daemonSets").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("daemonSets"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *daemonSets) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("daemonSets"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("daemonSets"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/deployment.go b/pkg/client/typed/generated/extensions/unversioned/deployment.go index 5d1b6cd67d..12c35c9e11 100644 --- a/pkg/client/typed/generated/extensions/unversioned/deployment.go +++ b/pkg/client/typed/generated/extensions/unversioned/deployment.go @@ -79,41 +79,22 @@ func (c *deployments) Update(deployment *extensions.Deployment) (result *extensi // Delete takes name of the deployment and deletes it. Returns an error if one occurs. func (c *deployments) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("deployments").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("deployments"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *deployments) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("deployments"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("deployments"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/horizontalPodAutoscaler.go b/pkg/client/typed/generated/extensions/unversioned/horizontalPodAutoscaler.go index 4e1cb0304b..5633842690 100644 --- a/pkg/client/typed/generated/extensions/unversioned/horizontalPodAutoscaler.go +++ b/pkg/client/typed/generated/extensions/unversioned/horizontalPodAutoscaler.go @@ -79,41 +79,22 @@ func (c *horizontalPodAutoscalers) Update(horizontalPodAutoscaler *extensions.Ho // Delete takes name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs. func (c *horizontalPodAutoscalers) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("horizontalPodAutoscalers").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("horizontalPodAutoscalers"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *horizontalPodAutoscalers) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("horizontalPodAutoscalers"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("horizontalPodAutoscalers"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/ingress.go b/pkg/client/typed/generated/extensions/unversioned/ingress.go index c7cebfaeb0..371b41a173 100644 --- a/pkg/client/typed/generated/extensions/unversioned/ingress.go +++ b/pkg/client/typed/generated/extensions/unversioned/ingress.go @@ -79,41 +79,22 @@ func (c *ingresses) Update(ingress *extensions.Ingress) (result *extensions.Ingr // Delete takes name of the ingress and deletes it. Returns an error if one occurs. func (c *ingresses) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("ingresses").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("ingresses"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *ingresses) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("ingresses"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("ingresses"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/job.go b/pkg/client/typed/generated/extensions/unversioned/job.go index 4fcba1d250..91cd085883 100644 --- a/pkg/client/typed/generated/extensions/unversioned/job.go +++ b/pkg/client/typed/generated/extensions/unversioned/job.go @@ -79,41 +79,22 @@ func (c *jobs) Update(job *extensions.Job) (result *extensions.Job, err error) { // Delete takes name of the job and deletes it. Returns an error if one occurs. func (c *jobs) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("jobs").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("jobs"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *jobs) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("jobs"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("jobs"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/extensions/unversioned/thirdPartyResource.go b/pkg/client/typed/generated/extensions/unversioned/thirdPartyResource.go index d90f446a4a..ff84f7bdbc 100644 --- a/pkg/client/typed/generated/extensions/unversioned/thirdPartyResource.go +++ b/pkg/client/typed/generated/extensions/unversioned/thirdPartyResource.go @@ -79,41 +79,22 @@ func (c *thirdPartyResources) Update(thirdPartyResource *extensions.ThirdPartyRe // Delete takes name of the thirdPartyResource and deletes it. Returns an error if one occurs. func (c *thirdPartyResources) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("thirdPartyResources").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("thirdPartyResources"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *thirdPartyResources) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("thirdPartyResources"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("thirdPartyResources"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/componentStatus.go b/pkg/client/typed/generated/legacy/unversioned/componentStatus.go index 5c2f99ed38..2eac22d62e 100644 --- a/pkg/client/typed/generated/legacy/unversioned/componentStatus.go +++ b/pkg/client/typed/generated/legacy/unversioned/componentStatus.go @@ -78,41 +78,22 @@ func (c *componentStatus) Update(componentStatus *api.ComponentStatus) (result * // Delete takes name of the componentStatus and deletes it. Returns an error if one occurs. func (c *componentStatus) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("componentStatus").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("componentStatus"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *componentStatus) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("componentStatus"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("componentStatus"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/endpoints.go b/pkg/client/typed/generated/legacy/unversioned/endpoints.go index a21c6a82ae..0a1816d240 100644 --- a/pkg/client/typed/generated/legacy/unversioned/endpoints.go +++ b/pkg/client/typed/generated/legacy/unversioned/endpoints.go @@ -78,41 +78,22 @@ func (c *endpoints) Update(endpoints *api.Endpoints) (result *api.Endpoints, err // Delete takes name of the endpoints and deletes it. Returns an error if one occurs. func (c *endpoints) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("endpoints").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("endpoints"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *endpoints) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("endpoints"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("endpoints"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/event.go b/pkg/client/typed/generated/legacy/unversioned/event.go index c946a03f31..3880759cdc 100644 --- a/pkg/client/typed/generated/legacy/unversioned/event.go +++ b/pkg/client/typed/generated/legacy/unversioned/event.go @@ -78,41 +78,22 @@ func (c *events) Update(event *api.Event) (result *api.Event, err error) { // Delete takes name of the event and deletes it. Returns an error if one occurs. func (c *events) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("events").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("events"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *events) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("events"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("events"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/limitRange.go b/pkg/client/typed/generated/legacy/unversioned/limitRange.go index 18bca65470..6f22a5b634 100644 --- a/pkg/client/typed/generated/legacy/unversioned/limitRange.go +++ b/pkg/client/typed/generated/legacy/unversioned/limitRange.go @@ -78,41 +78,22 @@ func (c *limitRanges) Update(limitRange *api.LimitRange) (result *api.LimitRange // Delete takes name of the limitRange and deletes it. Returns an error if one occurs. func (c *limitRanges) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("limitRanges").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("limitRanges"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *limitRanges) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("limitRanges"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("limitRanges"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/namespace.go b/pkg/client/typed/generated/legacy/unversioned/namespace.go index b8c357bd02..a58bc88915 100644 --- a/pkg/client/typed/generated/legacy/unversioned/namespace.go +++ b/pkg/client/typed/generated/legacy/unversioned/namespace.go @@ -78,41 +78,22 @@ func (c *namespaces) Update(namespace *api.Namespace) (result *api.Namespace, er // Delete takes name of the namespace and deletes it. Returns an error if one occurs. func (c *namespaces) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("namespaces").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("namespaces"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *namespaces) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("namespaces"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("namespaces"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/node.go b/pkg/client/typed/generated/legacy/unversioned/node.go index 302aefcb6a..69ab4fa13b 100644 --- a/pkg/client/typed/generated/legacy/unversioned/node.go +++ b/pkg/client/typed/generated/legacy/unversioned/node.go @@ -78,41 +78,22 @@ func (c *nodes) Update(node *api.Node) (result *api.Node, err error) { // Delete takes name of the node and deletes it. Returns an error if one occurs. func (c *nodes) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("nodes").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("nodes"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *nodes) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("nodes"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("nodes"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/persistentVolume.go b/pkg/client/typed/generated/legacy/unversioned/persistentVolume.go index 96ef207caa..ea5a9be652 100644 --- a/pkg/client/typed/generated/legacy/unversioned/persistentVolume.go +++ b/pkg/client/typed/generated/legacy/unversioned/persistentVolume.go @@ -78,41 +78,22 @@ func (c *persistentVolumes) Update(persistentVolume *api.PersistentVolume) (resu // Delete takes name of the persistentVolume and deletes it. Returns an error if one occurs. func (c *persistentVolumes) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("persistentVolumes").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("persistentVolumes"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *persistentVolumes) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("persistentVolumes"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("persistentVolumes"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/persistentVolumeClaim.go b/pkg/client/typed/generated/legacy/unversioned/persistentVolumeClaim.go index de8aab26f2..168e44db4c 100644 --- a/pkg/client/typed/generated/legacy/unversioned/persistentVolumeClaim.go +++ b/pkg/client/typed/generated/legacy/unversioned/persistentVolumeClaim.go @@ -78,41 +78,22 @@ func (c *persistentVolumeClaims) Update(persistentVolumeClaim *api.PersistentVol // Delete takes name of the persistentVolumeClaim and deletes it. Returns an error if one occurs. func (c *persistentVolumeClaims) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("persistentVolumeClaims").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("persistentVolumeClaims"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *persistentVolumeClaims) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("persistentVolumeClaims"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("persistentVolumeClaims"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/pod.go b/pkg/client/typed/generated/legacy/unversioned/pod.go index 1c5e33c510..139ced6322 100644 --- a/pkg/client/typed/generated/legacy/unversioned/pod.go +++ b/pkg/client/typed/generated/legacy/unversioned/pod.go @@ -78,41 +78,22 @@ func (c *pods) Update(pod *api.Pod) (result *api.Pod, err error) { // Delete takes name of the pod and deletes it. Returns an error if one occurs. func (c *pods) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("pods").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("pods"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *pods) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("pods"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("pods"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/podTemplate.go b/pkg/client/typed/generated/legacy/unversioned/podTemplate.go index e7abe8f87e..f5069dcd1d 100644 --- a/pkg/client/typed/generated/legacy/unversioned/podTemplate.go +++ b/pkg/client/typed/generated/legacy/unversioned/podTemplate.go @@ -78,41 +78,22 @@ func (c *podTemplates) Update(podTemplate *api.PodTemplate) (result *api.PodTemp // Delete takes name of the podTemplate and deletes it. Returns an error if one occurs. func (c *podTemplates) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("podTemplates").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("podTemplates"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *podTemplates) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("podTemplates"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("podTemplates"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/replicationController.go b/pkg/client/typed/generated/legacy/unversioned/replicationController.go index 62c8d96e87..60d2df99e1 100644 --- a/pkg/client/typed/generated/legacy/unversioned/replicationController.go +++ b/pkg/client/typed/generated/legacy/unversioned/replicationController.go @@ -78,41 +78,22 @@ func (c *replicationControllers) Update(replicationController *api.ReplicationCo // Delete takes name of the replicationController and deletes it. Returns an error if one occurs. func (c *replicationControllers) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("replicationControllers").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("replicationControllers"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *replicationControllers) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("replicationControllers"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("replicationControllers"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/resourceQuota.go b/pkg/client/typed/generated/legacy/unversioned/resourceQuota.go index 0a799bff31..ded60da743 100644 --- a/pkg/client/typed/generated/legacy/unversioned/resourceQuota.go +++ b/pkg/client/typed/generated/legacy/unversioned/resourceQuota.go @@ -78,41 +78,22 @@ func (c *resourceQuotas) Update(resourceQuota *api.ResourceQuota) (result *api.R // Delete takes name of the resourceQuota and deletes it. Returns an error if one occurs. func (c *resourceQuotas) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("resourceQuotas").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("resourceQuotas"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *resourceQuotas) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("resourceQuotas"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("resourceQuotas"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/secret.go b/pkg/client/typed/generated/legacy/unversioned/secret.go index ebfbdf1fe0..5d7a980f2d 100644 --- a/pkg/client/typed/generated/legacy/unversioned/secret.go +++ b/pkg/client/typed/generated/legacy/unversioned/secret.go @@ -78,41 +78,22 @@ func (c *secrets) Update(secret *api.Secret) (result *api.Secret, err error) { // Delete takes name of the secret and deletes it. Returns an error if one occurs. func (c *secrets) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("secrets").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("secrets"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *secrets) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("secrets"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("secrets"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/service.go b/pkg/client/typed/generated/legacy/unversioned/service.go index f04e7d0188..e8def2d655 100644 --- a/pkg/client/typed/generated/legacy/unversioned/service.go +++ b/pkg/client/typed/generated/legacy/unversioned/service.go @@ -78,41 +78,22 @@ func (c *services) Update(service *api.Service) (result *api.Service, err error) // Delete takes name of the service and deletes it. Returns an error if one occurs. func (c *services) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("services").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("services"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *services) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("services"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("services"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/typed/generated/legacy/unversioned/serviceAccount.go b/pkg/client/typed/generated/legacy/unversioned/serviceAccount.go index efa0a2a647..4490a14c6a 100644 --- a/pkg/client/typed/generated/legacy/unversioned/serviceAccount.go +++ b/pkg/client/typed/generated/legacy/unversioned/serviceAccount.go @@ -78,41 +78,22 @@ func (c *serviceAccounts) Update(serviceAccount *api.ServiceAccount) (result *ap // Delete takes name of the serviceAccount and deletes it. Returns an error if one occurs. func (c *serviceAccounts) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("serviceAccounts").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). Namespace(c.ns). Resource("serviceAccounts"). Name(name). - Body(body). + Body(options). Do(). Error() } // DeleteCollection deletes a collection of objects. func (c *serviceAccounts) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - if options == nil { - return c.client.Delete(). - NamespaceIfScoped(c.ns, len(c.ns) > 0). - Resource("serviceAccounts"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } return c.client.Delete(). NamespaceIfScoped(c.ns, len(c.ns) > 0). Resource("serviceAccounts"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/unversioned/deployment.go b/pkg/client/unversioned/deployment.go index cf84b19fc7..35b9fa6fc6 100644 --- a/pkg/client/unversioned/deployment.go +++ b/pkg/client/unversioned/deployment.go @@ -68,14 +68,7 @@ func (c *deployments) Get(name string) (result *extensions.Deployment, err error // Delete takes name of the deployment and deletes it. Returns an error if one occurs. func (c *deployments) Delete(name string, options *api.DeleteOptions) error { - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("deployments").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } - return c.client.Delete().Namespace(c.ns).Resource("deployments").Name(name).Body(body).Do().Error() + return c.client.Delete().Namespace(c.ns).Resource("deployments").Name(name).Body(options).Do().Error() } // Create takes the representation of a deployment and creates it. Returns the server's representation of the deployment, and an error, if there is any. diff --git a/pkg/client/unversioned/events.go b/pkg/client/unversioned/events.go index 8935efcccf..b668d5f121 100644 --- a/pkg/client/unversioned/events.go +++ b/pkg/client/unversioned/events.go @@ -187,24 +187,11 @@ func (e *events) Delete(name string) error { // DeleteCollection deletes a collection of objects. func (e *events) DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error { - // TODO: to make this reusable in other client libraries - if options == nil { - return e.client.Delete(). - NamespaceIfScoped(e.namespace, len(e.namespace) > 0). - Resource("events"). - VersionedParams(&listOptions, api.Scheme). - Do(). - Error() - } - body, err := api.Scheme.EncodeToVersion(options, e.client.APIVersion().String()) - if err != nil { - return err - } return e.client.Delete(). NamespaceIfScoped(e.namespace, len(e.namespace) > 0). Resource("events"). VersionedParams(&listOptions, api.Scheme). - Body(body). + Body(options). Do(). Error() } diff --git a/pkg/client/unversioned/horizontalpodautoscaler.go b/pkg/client/unversioned/horizontalpodautoscaler.go index f279f3c100..722f13ad46 100644 --- a/pkg/client/unversioned/horizontalpodautoscaler.go +++ b/pkg/client/unversioned/horizontalpodautoscaler.go @@ -68,15 +68,7 @@ func (c *horizontalPodAutoscalers) Get(name string) (result *extensions.Horizont // Delete takes the name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs. func (c *horizontalPodAutoscalers) Delete(name string, options *api.DeleteOptions) error { - // TODO: to make this reusable in other client libraries - if options == nil { - return c.client.Delete().Namespace(c.ns).Resource("horizontalPodAutoscalers").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.client.APIVersion().String()) - if err != nil { - return err - } - return c.client.Delete().Namespace(c.ns).Resource("horizontalPodAutoscalers").Name(name).Body(body).Do().Error() + return c.client.Delete().Namespace(c.ns).Resource("horizontalPodAutoscalers").Name(name).Body(options).Do().Error() } // Create takes the representation of a horizontalPodAutoscaler and creates it. Returns the server's representation of the horizontalPodAutoscaler, and an error, if it occurs. diff --git a/pkg/client/unversioned/ingress.go b/pkg/client/unversioned/ingress.go index a9bfc5a959..c3825b0dae 100644 --- a/pkg/client/unversioned/ingress.go +++ b/pkg/client/unversioned/ingress.go @@ -79,15 +79,7 @@ func (c *ingress) Update(ingress *extensions.Ingress) (result *extensions.Ingres // Delete deletes a ingress, returns error if one occurs. func (c *ingress) Delete(name string, options *api.DeleteOptions) (err error) { - if options == nil { - return c.r.Delete().Namespace(c.ns).Resource("ingresses").Name(name).Do().Error() - } - - body, err := api.Scheme.EncodeToVersion(options, c.r.APIVersion().String()) - if err != nil { - return err - } - return c.r.Delete().Namespace(c.ns).Resource("ingresses").Name(name).Body(body).Do().Error() + return c.r.Delete().Namespace(c.ns).Resource("ingresses").Name(name).Body(options).Do().Error() } // Watch returns a watch.Interface that watches the requested ingress. diff --git a/pkg/client/unversioned/jobs.go b/pkg/client/unversioned/jobs.go index 0f9d99246c..bbc228ea99 100644 --- a/pkg/client/unversioned/jobs.go +++ b/pkg/client/unversioned/jobs.go @@ -18,7 +18,6 @@ package unversioned import ( "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/latest" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/watch" ) @@ -83,15 +82,7 @@ func (c *jobs) Update(job *extensions.Job) (result *extensions.Job, err error) { // Delete deletes a job, returns error if one occurs. func (c *jobs) Delete(name string, options *api.DeleteOptions) (err error) { - if options == nil { - return c.r.Delete().Namespace(c.ns).Resource("jobs").Name(name).Do().Error() - } - - body, err := api.Scheme.EncodeToVersion(options, latest.GroupOrDie(api.GroupName).GroupVersion.String()) - if err != nil { - return err - } - return c.r.Delete().Namespace(c.ns).Resource("jobs").Name(name).Body(body).Do().Error() + return c.r.Delete().Namespace(c.ns).Resource("jobs").Name(name).Body(options).Do().Error() } // Watch returns a watch.Interface that watches the requested jobs. diff --git a/pkg/client/unversioned/pod_templates.go b/pkg/client/unversioned/pod_templates.go index f26d3333ed..aa1f371d47 100644 --- a/pkg/client/unversioned/pod_templates.go +++ b/pkg/client/unversioned/pod_templates.go @@ -66,15 +66,7 @@ func (c *podTemplates) Get(name string) (result *api.PodTemplate, err error) { // Delete takes the name of the podTemplate, and returns an error if one occurs func (c *podTemplates) Delete(name string, options *api.DeleteOptions) error { - // TODO: to make this reusable in other client libraries - if options == nil { - return c.r.Delete().Namespace(c.ns).Resource("podTemplates").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.r.APIVersion().String()) - if err != nil { - return err - } - return c.r.Delete().Namespace(c.ns).Resource("podTemplates").Name(name).Body(body).Do().Error() + return c.r.Delete().Namespace(c.ns).Resource("podTemplates").Name(name).Body(options).Do().Error() } // Create takes the representation of a podTemplate. Returns the server's representation of the podTemplate, and an error, if it occurs. diff --git a/pkg/client/unversioned/pods.go b/pkg/client/unversioned/pods.go index 7d01c1bc0f..566b86269e 100644 --- a/pkg/client/unversioned/pods.go +++ b/pkg/client/unversioned/pods.go @@ -69,15 +69,7 @@ func (c *pods) Get(name string) (result *api.Pod, err error) { // Delete takes the name of the pod, and returns an error if one occurs func (c *pods) Delete(name string, options *api.DeleteOptions) error { - // TODO: to make this reusable in other client libraries - if options == nil { - return c.r.Delete().Namespace(c.ns).Resource("pods").Name(name).Do().Error() - } - body, err := api.Scheme.EncodeToVersion(options, c.r.APIVersion().String()) - if err != nil { - return err - } - return c.r.Delete().Namespace(c.ns).Resource("pods").Name(name).Body(body).Do().Error() + return c.r.Delete().Namespace(c.ns).Resource("pods").Name(name).Body(options).Do().Error() } // Create takes the representation of a pod. Returns the server's representation of the pod, and an error, if it occurs. diff --git a/pkg/client/unversioned/request.go b/pkg/client/unversioned/request.go index 85d29802c1..29cc6f7b49 100644 --- a/pkg/client/unversioned/request.go +++ b/pkg/client/unversioned/request.go @@ -25,6 +25,7 @@ import ( "net/http" "net/url" "path" + "reflect" "strconv" "strings" "time" @@ -512,6 +513,7 @@ func (r *Request) Timeout(d time.Duration) *Request { // If obj is a []byte, send it directly. // If obj is an io.Reader, use it directly. // If obj is a runtime.Object, marshal it correctly, and set Content-Type header. +// If obj is a runtime.Object and nil, do nothing. // Otherwise, set an error. func (r *Request) Body(obj interface{}) *Request { if r.err != nil { @@ -532,7 +534,11 @@ func (r *Request) Body(obj interface{}) *Request { case io.Reader: r.body = t case runtime.Object: - data, err := r.codec.Encode(t) + // callers may pass typed interface pointers, therefore we must check nil with reflection + if reflect.ValueOf(t).IsNil() { + return r + } + data, err := runtime.Encode(r.codec, t) if err != nil { r.err = err return r From 11af69da785c387491b0d9af8a5a8be23bbf64b1 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 20 Dec 2015 16:33:04 -0500 Subject: [PATCH 2/2] Ensure DeleteOptions is registered to other groups The version of DeleteOptions supported by v1beta1 extensions and v1alpha1 metrics is the v1 core group version. --- pkg/apis/extensions/v1beta1/register.go | 2 ++ pkg/apis/metrics/v1alpha1/register.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkg/apis/extensions/v1beta1/register.go b/pkg/apis/extensions/v1beta1/register.go index 4eb7a7f06b..65230ca816 100644 --- a/pkg/apis/extensions/v1beta1/register.go +++ b/pkg/apis/extensions/v1beta1/register.go @@ -19,6 +19,7 @@ package v1beta1 import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" ) @@ -60,6 +61,7 @@ func addKnownTypes() { &ListOptions{}, &ConfigMap{}, &ConfigMapList{}, + &v1.DeleteOptions{}, ) } diff --git a/pkg/apis/metrics/v1alpha1/register.go b/pkg/apis/metrics/v1alpha1/register.go index d87570797b..4d7eb457ec 100644 --- a/pkg/apis/metrics/v1alpha1/register.go +++ b/pkg/apis/metrics/v1alpha1/register.go @@ -19,6 +19,7 @@ package v1alpha1 import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/unversioned" + "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/runtime" ) @@ -40,6 +41,7 @@ func addKnownTypes() { api.Scheme.AddKnownTypes(SchemeGroupVersion, &RawNode{}, &RawPod{}, + &v1.DeleteOptions{}, ) }