From 89245a742d6a4fb118df18516349987563796688 Mon Sep 17 00:00:00 2001 From: Michal Fojtik Date: Tue, 29 Aug 2017 16:14:45 +0200 Subject: [PATCH] WIP: image: add image stream secrets client --- pkg/image/apis/image/types.go | 1 + pkg/image/apis/image/v1/types.go | 1 + .../typed/image/v1/fake/fake_imagestream.go | 11 ++++++ .../clientset/typed/image/v1/imagestream.go | 13 +++++++ .../internalversion/fake/fake_imagestream.go | 38 ++++++++++++------- .../image/internalversion/imagestream.go | 14 +++++++ 6 files changed, 65 insertions(+), 13 deletions(-) diff --git a/pkg/image/apis/image/types.go b/pkg/image/apis/image/types.go index 4fdcff5fbf58..2aae668f3ff9 100644 --- a/pkg/image/apis/image/types.go +++ b/pkg/image/apis/image/types.go @@ -197,6 +197,7 @@ type ImageStreamList struct { } // +genclient +// +genclient:method=Secrets,verb=list,subresource=secrets,result=k8s.io/kubernetes/pkg/api.Secret // ImageStream stores a mapping of tags to images, metadata overrides that are applied // when images are tagged in a stream, and an optional reference to a Docker image diff --git a/pkg/image/apis/image/v1/types.go b/pkg/image/apis/image/v1/types.go index d96167b03323..52c337649f37 100644 --- a/pkg/image/apis/image/v1/types.go +++ b/pkg/image/apis/image/v1/types.go @@ -152,6 +152,7 @@ type ImageStreamList struct { } // +genclient +// +genclient:method=Secrets,verb=list,subresource=secrets,result=k8s.io/kubernetes/pkg/api/v1.Secret // ImageStream stores a mapping of tags to images, metadata overrides that are applied // when images are tagged in a stream, and an optional reference to a Docker image diff --git a/pkg/image/generated/clientset/typed/image/v1/fake/fake_imagestream.go b/pkg/image/generated/clientset/typed/image/v1/fake/fake_imagestream.go index de8800665415..10c63f77c1ec 100644 --- a/pkg/image/generated/clientset/typed/image/v1/fake/fake_imagestream.go +++ b/pkg/image/generated/clientset/typed/image/v1/fake/fake_imagestream.go @@ -120,3 +120,14 @@ func (c *FakeImageStreams) Patch(name string, pt types.PatchType, data []byte, s } return obj.(*image_v1.ImageStream), err } + +// Secrets takes label and field selectors, and returns the list of ImageStreams that match those selectors. +func (c *FakeImageStreams) Secrets(opts v1.ListOptions) (result *image_v1.SecretListList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(imagestreamsResource, imagestreamsKind, c.ns, opts), &image_v1.SecretListList{}) + + if obj == nil { + return nil, err + } + return obj.(*image_v1.ImageStreamList), err +} diff --git a/pkg/image/generated/clientset/typed/image/v1/imagestream.go b/pkg/image/generated/clientset/typed/image/v1/imagestream.go index 069c3289b97f..7e3299fd3330 100644 --- a/pkg/image/generated/clientset/typed/image/v1/imagestream.go +++ b/pkg/image/generated/clientset/typed/image/v1/imagestream.go @@ -26,6 +26,7 @@ type ImageStreamInterface interface { List(opts meta_v1.ListOptions) (*v1.ImageStreamList, error) Watch(opts meta_v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ImageStream, err error) + Secrets(opts meta_v1.ListOptions) (*v1.SecretListList, error) ImageStreamExpansion } @@ -154,3 +155,15 @@ func (c *imageStreams) Patch(name string, pt types.PatchType, data []byte, subre Into(result) return } + +// Secrets takes label and field selectors, and returns the list of SecretLists that match those selectors. +func (c *imageStreams) Secrets(opts meta_v1.ListOptions) (result *v1.SecretListList, err error) { + result = &v1.SecretListList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams").Name(imageStream.Name).SubResource("secrets"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +} diff --git a/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestream.go b/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestream.go index 19f28073c39f..38ee938347a2 100644 --- a/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestream.go +++ b/pkg/image/generated/internalclientset/typed/image/internalversion/fake/fake_imagestream.go @@ -1,19 +1,20 @@ package fake import ( - image "github.com/openshift/origin/pkg/image/apis/image" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" + image "github.com/openshift/origin/pkg/image/apis/image" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) + // FakeImageStreams implements ImageStreamInterface type FakeImageStreams struct { Fake *FakeImage - ns string + ns string } var imagestreamsResource = schema.GroupVersionResource{Group: "image.openshift.io", Version: "", Resource: "imagestreams"} @@ -24,7 +25,7 @@ var imagestreamsKind = schema.GroupVersionKind{Group: "image.openshift.io", Vers func (c *FakeImageStreams) Get(name string, options v1.GetOptions) (result *image.ImageStream, err error) { obj, err := c.Fake. Invokes(testing.NewGetAction(imagestreamsResource, c.ns, name), &image.ImageStream{}) - + if obj == nil { return nil, err } @@ -35,7 +36,7 @@ func (c *FakeImageStreams) Get(name string, options v1.GetOptions) (result *imag func (c *FakeImageStreams) List(opts v1.ListOptions) (result *image.ImageStreamList, err error) { obj, err := c.Fake. Invokes(testing.NewListAction(imagestreamsResource, imagestreamsKind, c.ns, opts), &image.ImageStreamList{}) - + if obj == nil { return nil, err } @@ -57,14 +58,14 @@ func (c *FakeImageStreams) List(opts v1.ListOptions) (result *image.ImageStreamL func (c *FakeImageStreams) Watch(opts v1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(imagestreamsResource, c.ns, opts)) - + } // Create takes the representation of a imageStream and creates it. Returns the server's representation of the imageStream, and an error, if there is any. func (c *FakeImageStreams) Create(imageStream *image.ImageStream) (result *image.ImageStream, err error) { obj, err := c.Fake. Invokes(testing.NewCreateAction(imagestreamsResource, c.ns, imageStream), &image.ImageStream{}) - + if obj == nil { return nil, err } @@ -75,7 +76,7 @@ func (c *FakeImageStreams) Create(imageStream *image.ImageStream) (result *image func (c *FakeImageStreams) Update(imageStream *image.ImageStream) (result *image.ImageStream, err error) { obj, err := c.Fake. Invokes(testing.NewUpdateAction(imagestreamsResource, c.ns, imageStream), &image.ImageStream{}) - + if obj == nil { return nil, err } @@ -87,7 +88,7 @@ func (c *FakeImageStreams) Update(imageStream *image.ImageStream) (result *image func (c *FakeImageStreams) UpdateStatus(imageStream *image.ImageStream) (*image.ImageStream, error) { obj, err := c.Fake. Invokes(testing.NewUpdateSubresourceAction(imagestreamsResource, "status", c.ns, imageStream), &image.ImageStream{}) - + if obj == nil { return nil, err } @@ -98,14 +99,14 @@ func (c *FakeImageStreams) UpdateStatus(imageStream *image.ImageStream) (*image. func (c *FakeImageStreams) Delete(name string, options *v1.DeleteOptions) error { _, err := c.Fake. Invokes(testing.NewDeleteAction(imagestreamsResource, c.ns, name), &image.ImageStream{}) - + return err } // DeleteCollection deletes a collection of objects. func (c *FakeImageStreams) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error { action := testing.NewDeleteCollectionAction(imagestreamsResource, c.ns, listOptions) - + _, err := c.Fake.Invokes(action, &image.ImageStreamList{}) return err } @@ -113,10 +114,21 @@ func (c *FakeImageStreams) DeleteCollection(options *v1.DeleteOptions, listOptio // Patch applies the patch and returns the patched imageStream. func (c *FakeImageStreams) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *image.ImageStream, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(imagestreamsResource, c.ns, name, data, subresources...), &image.ImageStream{}) - + Invokes(testing.NewPatchSubresourceAction(imagestreamsResource, c.ns, name, data, subresources... ), &image.ImageStream{}) + if obj == nil { return nil, err } return obj.(*image.ImageStream), err } + +// Secrets takes label and field selectors, and returns the list of ImageStreams that match those selectors. +func (c *FakeImageStreams) Secrets(opts v1.ListOptions) (result *image.k8s.io/kubernetes/pkg/api.SecretList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(imagestreamsResource, imagestreamsKind, c.ns, opts), &image.k8s.io/kubernetes/pkg/api.SecretList{}) + + if obj == nil { + return nil, err + } + return obj.(*image.ImageStreamList), err +} diff --git a/pkg/image/generated/internalclientset/typed/image/internalversion/imagestream.go b/pkg/image/generated/internalclientset/typed/image/internalversion/imagestream.go index 945dcb6a32bf..d255d443ad76 100644 --- a/pkg/image/generated/internalclientset/typed/image/internalversion/imagestream.go +++ b/pkg/image/generated/internalclientset/typed/image/internalversion/imagestream.go @@ -7,6 +7,7 @@ import ( types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" rest "k8s.io/client-go/rest" + api "k8s.io/kubernetes/pkg/api" ) // ImageStreamsGetter has a method to return a ImageStreamInterface. @@ -26,6 +27,7 @@ type ImageStreamInterface interface { List(opts v1.ListOptions) (*image.ImageStreamList, error) Watch(opts v1.ListOptions) (watch.Interface, error) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *image.ImageStream, err error) + Secrets(opts v1.ListOptions) (*api.SecretList, error) ImageStreamExpansion } @@ -154,3 +156,15 @@ func (c *imageStreams) Patch(name string, pt types.PatchType, data []byte, subre Into(result) return } + +// Secrets takes label and field selectors, and returns the list of Secrets that match those selectors. +func (c *imageStreams) Secrets(opts v1.ListOptions) (result *api.SecretList, err error) { + result = &api.SecretList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("imagestreams").Name(imageStream.Name).SubResource("secrets"). + VersionedParams(&opts, scheme.ParameterCodec). + Do(). + Into(result) + return +}