From c4339c22693bae5d0f2e9ab31206ed320d6ec32b Mon Sep 17 00:00:00 2001 From: Daishan Peng Date: Thu, 4 Jan 2018 14:06:02 -0700 Subject: [PATCH] go generate changes --- apis/core/v1/zz_generated_deepcopy.go | 38 +++ apis/core/v1/zz_generated_k8s_client.go | 16 ++ apis/core/v1/zz_generated_scheme.go | 1 + .../core/v1/zz_generated_secret_controller.go | 223 ++++++++++++++++++ .../zz_generated_secret_lifecycle_adapter.go | 52 ++++ 5 files changed, 330 insertions(+) create mode 100644 apis/core/v1/zz_generated_secret_controller.go create mode 100644 apis/core/v1/zz_generated_secret_lifecycle_adapter.go diff --git a/apis/core/v1/zz_generated_deepcopy.go b/apis/core/v1/zz_generated_deepcopy.go index 07bbfbea..80e22a46 100644 --- a/apis/core/v1/zz_generated_deepcopy.go +++ b/apis/core/v1/zz_generated_deepcopy.go @@ -38,6 +38,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error { in.(*PodList).DeepCopyInto(out.(*PodList)) return nil }, InType: reflect.TypeOf(&PodList{})}, + conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { + in.(*SecretList).DeepCopyInto(out.(*SecretList)) + return nil + }, InType: reflect.TypeOf(&SecretList{})}, conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { in.(*ServiceList).DeepCopyInto(out.(*ServiceList)) return nil @@ -215,6 +219,40 @@ func (in *PodList) DeepCopyObject() runtime.Object { } } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SecretList) DeepCopyInto(out *SecretList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]core_v1.Secret, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretList. +func (in *SecretList) DeepCopy() *SecretList { + if in == nil { + return nil + } + out := new(SecretList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SecretList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } else { + return nil + } +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServiceList) DeepCopyInto(out *ServiceList) { *out = *in diff --git a/apis/core/v1/zz_generated_k8s_client.go b/apis/core/v1/zz_generated_k8s_client.go index 784676a5..d938c173 100644 --- a/apis/core/v1/zz_generated_k8s_client.go +++ b/apis/core/v1/zz_generated_k8s_client.go @@ -20,6 +20,7 @@ type Interface interface { EventsGetter PodsGetter ServicesGetter + SecretsGetter } type Client struct { @@ -33,6 +34,7 @@ type Client struct { eventControllers map[string]EventController podControllers map[string]PodController serviceControllers map[string]ServiceController + secretControllers map[string]SecretController } func NewForConfig(config rest.Config) (Interface, error) { @@ -55,6 +57,7 @@ func NewForConfig(config rest.Config) (Interface, error) { eventControllers: map[string]EventController{}, podControllers: map[string]PodController{}, serviceControllers: map[string]ServiceController{}, + secretControllers: map[string]SecretController{}, }, nil } @@ -147,3 +150,16 @@ func (c *Client) Services(namespace string) ServiceInterface { objectClient: objectClient, } } + +type SecretsGetter interface { + Secrets(namespace string) SecretInterface +} + +func (c *Client) Secrets(namespace string) SecretInterface { + objectClient := clientbase.NewObjectClient(namespace, c.restClient, &SecretResource, SecretGroupVersionKind, secretFactory{}) + return &secretClient{ + ns: namespace, + client: c, + objectClient: objectClient, + } +} diff --git a/apis/core/v1/zz_generated_scheme.go b/apis/core/v1/zz_generated_scheme.go index 1f91efe6..7cff4b16 100644 --- a/apis/core/v1/zz_generated_scheme.go +++ b/apis/core/v1/zz_generated_scheme.go @@ -39,6 +39,7 @@ func addKnownTypes(scheme *runtime.Scheme) error { &EventList{}, &PodList{}, &ServiceList{}, + &SecretList{}, ) return nil } diff --git a/apis/core/v1/zz_generated_secret_controller.go b/apis/core/v1/zz_generated_secret_controller.go new file mode 100644 index 00000000..5cc08226 --- /dev/null +++ b/apis/core/v1/zz_generated_secret_controller.go @@ -0,0 +1,223 @@ +package v1 + +import ( + "context" + + "github.com/rancher/norman/clientbase" + "github.com/rancher/norman/controller" + "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/watch" + "k8s.io/client-go/tools/cache" +) + +var ( + SecretGroupVersionKind = schema.GroupVersionKind{ + Version: Version, + Group: GroupName, + Kind: "Secret", + } + SecretResource = metav1.APIResource{ + Name: "secrets", + SingularName: "secret", + Namespaced: true, + + Kind: SecretGroupVersionKind.Kind, + } +) + +type SecretList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []v1.Secret +} + +type SecretHandlerFunc func(key string, obj *v1.Secret) error + +type SecretLister interface { + List(namespace string, selector labels.Selector) (ret []*v1.Secret, err error) + Get(namespace, name string) (*v1.Secret, error) +} + +type SecretController interface { + Informer() cache.SharedIndexInformer + Lister() SecretLister + AddHandler(handler SecretHandlerFunc) + Enqueue(namespace, name string) + Sync(ctx context.Context) error + Start(ctx context.Context, threadiness int) error +} + +type SecretInterface interface { + ObjectClient() *clientbase.ObjectClient + Create(*v1.Secret) (*v1.Secret, error) + GetNamespace(name, namespace string, opts metav1.GetOptions) (*v1.Secret, error) + Get(name string, opts metav1.GetOptions) (*v1.Secret, error) + Update(*v1.Secret) (*v1.Secret, error) + Delete(name string, options *metav1.DeleteOptions) error + DeleteNamespace(name, namespace string, options *metav1.DeleteOptions) error + List(opts metav1.ListOptions) (*SecretList, error) + Watch(opts metav1.ListOptions) (watch.Interface, error) + DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error + Controller() SecretController + AddSyncHandler(sync SecretHandlerFunc) + AddLifecycle(name string, lifecycle SecretLifecycle) +} + +type secretLister struct { + controller *secretController +} + +func (l *secretLister) List(namespace string, selector labels.Selector) (ret []*v1.Secret, err error) { + err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) { + ret = append(ret, obj.(*v1.Secret)) + }) + return +} + +func (l *secretLister) Get(namespace, name string) (*v1.Secret, error) { + var key string + if namespace != "" { + key = namespace + "/" + name + } else { + key = name + } + obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(key) + if err != nil { + return nil, err + } + if !exists { + return nil, errors.NewNotFound(schema.GroupResource{ + Group: SecretGroupVersionKind.Group, + Resource: "secret", + }, name) + } + return obj.(*v1.Secret), nil +} + +type secretController struct { + controller.GenericController +} + +func (c *secretController) Lister() SecretLister { + return &secretLister{ + controller: c, + } +} + +func (c *secretController) AddHandler(handler SecretHandlerFunc) { + c.GenericController.AddHandler(func(key string) error { + obj, exists, err := c.Informer().GetStore().GetByKey(key) + if err != nil { + return err + } + if !exists { + return handler(key, nil) + } + return handler(key, obj.(*v1.Secret)) + }) +} + +type secretFactory struct { +} + +func (c secretFactory) Object() runtime.Object { + return &v1.Secret{} +} + +func (c secretFactory) List() runtime.Object { + return &SecretList{} +} + +func (s *secretClient) Controller() SecretController { + s.client.Lock() + defer s.client.Unlock() + + c, ok := s.client.secretControllers[s.ns] + if ok { + return c + } + + genericController := controller.NewGenericController(SecretGroupVersionKind.Kind+"Controller", + s.objectClient) + + c = &secretController{ + GenericController: genericController, + } + + s.client.secretControllers[s.ns] = c + s.client.starters = append(s.client.starters, c) + + return c +} + +type secretClient struct { + client *Client + ns string + objectClient *clientbase.ObjectClient + controller SecretController +} + +func (s *secretClient) ObjectClient() *clientbase.ObjectClient { + return s.objectClient +} + +func (s *secretClient) Create(o *v1.Secret) (*v1.Secret, error) { + obj, err := s.objectClient.Create(o) + return obj.(*v1.Secret), err +} + +func (s *secretClient) Get(name string, opts metav1.GetOptions) (*v1.Secret, error) { + obj, err := s.objectClient.Get(name, opts) + return obj.(*v1.Secret), err +} + +func (s *secretClient) GetNamespace(name, namespace string, opts metav1.GetOptions) (*v1.Secret, error) { + obj, err := s.objectClient.GetNamespace(name, namespace, opts) + return obj.(*v1.Secret), err +} + +func (s *secretClient) Update(o *v1.Secret) (*v1.Secret, error) { + obj, err := s.objectClient.Update(o.Name, o) + return obj.(*v1.Secret), err +} + +func (s *secretClient) Delete(name string, options *metav1.DeleteOptions) error { + return s.objectClient.Delete(name, options) +} + +func (s *secretClient) DeleteNamespace(name, namespace string, options *metav1.DeleteOptions) error { + return s.objectClient.DeleteNamespace(name, namespace, options) +} + +func (s *secretClient) List(opts metav1.ListOptions) (*SecretList, error) { + obj, err := s.objectClient.List(opts) + return obj.(*SecretList), err +} + +func (s *secretClient) Watch(opts metav1.ListOptions) (watch.Interface, error) { + return s.objectClient.Watch(opts) +} + +// Patch applies the patch and returns the patched deployment. +func (s *secretClient) Patch(o *v1.Secret, data []byte, subresources ...string) (*v1.Secret, error) { + obj, err := s.objectClient.Patch(o.Name, o, data, subresources...) + return obj.(*v1.Secret), err +} + +func (s *secretClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error { + return s.objectClient.DeleteCollection(deleteOpts, listOpts) +} + +func (s *secretClient) AddSyncHandler(sync SecretHandlerFunc) { + s.Controller().AddHandler(sync) +} + +func (s *secretClient) AddLifecycle(name string, lifecycle SecretLifecycle) { + sync := NewSecretLifecycleAdapter(name, s, lifecycle) + s.AddSyncHandler(sync) +} diff --git a/apis/core/v1/zz_generated_secret_lifecycle_adapter.go b/apis/core/v1/zz_generated_secret_lifecycle_adapter.go new file mode 100644 index 00000000..e5e01b03 --- /dev/null +++ b/apis/core/v1/zz_generated_secret_lifecycle_adapter.go @@ -0,0 +1,52 @@ +package v1 + +import ( + "github.com/rancher/norman/lifecycle" + "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +type SecretLifecycle interface { + Create(obj *v1.Secret) (*v1.Secret, error) + Remove(obj *v1.Secret) (*v1.Secret, error) + Updated(obj *v1.Secret) (*v1.Secret, error) +} + +type secretLifecycleAdapter struct { + lifecycle SecretLifecycle +} + +func (w *secretLifecycleAdapter) Create(obj runtime.Object) (runtime.Object, error) { + o, err := w.lifecycle.Create(obj.(*v1.Secret)) + if o == nil { + return nil, err + } + return o, err +} + +func (w *secretLifecycleAdapter) Finalize(obj runtime.Object) (runtime.Object, error) { + o, err := w.lifecycle.Remove(obj.(*v1.Secret)) + if o == nil { + return nil, err + } + return o, err +} + +func (w *secretLifecycleAdapter) Updated(obj runtime.Object) (runtime.Object, error) { + o, err := w.lifecycle.Updated(obj.(*v1.Secret)) + if o == nil { + return nil, err + } + return o, err +} + +func NewSecretLifecycleAdapter(name string, client SecretInterface, l SecretLifecycle) SecretHandlerFunc { + adapter := &secretLifecycleAdapter{lifecycle: l} + syncFn := lifecycle.NewObjectLifecycleAdapter(name, adapter, client.ObjectClient()) + return func(key string, obj *v1.Secret) error { + if obj == nil { + return syncFn(key, nil) + } + return syncFn(key, obj) + } +}