mirror of
https://github.com/niusmallnan/steve.git
synced 2025-09-09 00:50:05 +00:00
Update vendor
This commit is contained in:
177
vendor/github.com/rancher/wrangler-api/LICENSE
generated
vendored
Normal file
177
vendor/github.com/rancher/wrangler-api/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,177 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/factory.go
generated
vendored
Normal file
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/factory.go
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package apiextensions
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
"github.com/rancher/wrangler/pkg/schemes"
|
||||
clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
scheme "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme"
|
||||
informers "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func init() {
|
||||
scheme.AddToScheme(schemes.All)
|
||||
}
|
||||
|
||||
type Factory struct {
|
||||
synced bool
|
||||
informerFactory informers.SharedInformerFactory
|
||||
clientset clientset.Interface
|
||||
controllerManager *generic.ControllerManager
|
||||
threadiness map[schema.GroupVersionKind]int
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigOrDie(config *rest.Config) *Factory {
|
||||
f, err := NewFactoryFromConfig(config)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func NewFactoryFromConfig(config *rest.Config) (*Factory, error) {
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactory(cs, 2*time.Hour)
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigWithNamespace(config *rest.Config, namespace string) (*Factory, error) {
|
||||
if namespace == "" {
|
||||
return NewFactoryFromConfig(config)
|
||||
}
|
||||
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactoryWithOptions(cs, 2*time.Hour, informers.WithNamespace(namespace))
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactory(clientset clientset.Interface, informerFactory informers.SharedInformerFactory) *Factory {
|
||||
return &Factory{
|
||||
threadiness: map[schema.GroupVersionKind]int{},
|
||||
controllerManager: &generic.ControllerManager{},
|
||||
clientset: clientset,
|
||||
informerFactory: informerFactory,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
|
||||
return c.controllerManager.Controllers()
|
||||
}
|
||||
|
||||
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
|
||||
c.threadiness[gvk] = threadiness
|
||||
}
|
||||
|
||||
func (c *Factory) Sync(ctx context.Context) error {
|
||||
c.informerFactory.Start(ctx.Done())
|
||||
c.informerFactory.WaitForCacheSync(ctx.Done())
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Factory) Start(ctx context.Context, defaultThreadiness int) error {
|
||||
if err := c.Sync(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.controllerManager.Start(ctx, defaultThreadiness, c.threadiness)
|
||||
}
|
||||
|
||||
func (c *Factory) Apiextensions() Interface {
|
||||
return New(c.controllerManager, c.informerFactory.Apiextensions(), c.clientset)
|
||||
}
|
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/interface.go
generated
vendored
Normal file
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/interface.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package apiextensions
|
||||
|
||||
import (
|
||||
v1beta1 "github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/v1beta1"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
informers "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
V1beta1() v1beta1.Interface
|
||||
}
|
||||
|
||||
type group struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.Interface
|
||||
}
|
||||
|
||||
// New returns a new Interface.
|
||||
func New(controllerManager *generic.ControllerManager, informers informers.Interface,
|
||||
client clientset.Interface) Interface {
|
||||
return &group{
|
||||
controllerManager: controllerManager,
|
||||
informers: informers,
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *group) V1beta1() v1beta1.Interface {
|
||||
return v1beta1.New(g.controllerManager, g.client.ApiextensionsV1beta1(), g.informers.V1beta1())
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/v1beta1/customresourcedefinition.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/v1beta1/customresourcedefinition.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1beta1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||
clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
|
||||
informers "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1"
|
||||
listers "k8s.io/apiextensions-apiserver/pkg/client/listers/apiextensions/v1beta1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type CustomResourceDefinitionHandler func(string, *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
|
||||
|
||||
type CustomResourceDefinitionController interface {
|
||||
generic.ControllerMeta
|
||||
CustomResourceDefinitionClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync CustomResourceDefinitionHandler)
|
||||
OnRemove(ctx context.Context, name string, sync CustomResourceDefinitionHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() CustomResourceDefinitionCache
|
||||
}
|
||||
|
||||
type CustomResourceDefinitionClient interface {
|
||||
Create(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
|
||||
Update(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
|
||||
UpdateStatus(*v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1beta1.CustomResourceDefinition, error)
|
||||
List(opts metav1.ListOptions) (*v1beta1.CustomResourceDefinitionList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error)
|
||||
}
|
||||
|
||||
type CustomResourceDefinitionCache interface {
|
||||
Get(name string) (*v1beta1.CustomResourceDefinition, error)
|
||||
List(selector labels.Selector) ([]*v1beta1.CustomResourceDefinition, error)
|
||||
|
||||
AddIndexer(indexName string, indexer CustomResourceDefinitionIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1beta1.CustomResourceDefinition, error)
|
||||
}
|
||||
|
||||
type CustomResourceDefinitionIndexer func(obj *v1beta1.CustomResourceDefinition) ([]string, error)
|
||||
|
||||
type customResourceDefinitionController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.CustomResourceDefinitionsGetter
|
||||
informer informers.CustomResourceDefinitionInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewCustomResourceDefinitionController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.CustomResourceDefinitionsGetter, informer informers.CustomResourceDefinitionInformer) CustomResourceDefinitionController {
|
||||
return &customResourceDefinitionController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromCustomResourceDefinitionHandlerToHandler(sync CustomResourceDefinitionHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1beta1.CustomResourceDefinition
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1beta1.CustomResourceDefinition))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1beta1.CustomResourceDefinition))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateCustomResourceDefinitionDeepCopyOnChange(client CustomResourceDefinitionClient, obj *v1beta1.CustomResourceDefinition, handler func(obj *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error)) (*v1beta1.CustomResourceDefinition, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) OnChange(ctx context.Context, name string, sync CustomResourceDefinitionHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromCustomResourceDefinitionHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) OnRemove(ctx context.Context, name string, sync CustomResourceDefinitionHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromCustomResourceDefinitionHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Cache() CustomResourceDefinitionCache {
|
||||
return &customResourceDefinitionCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Create(obj *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().Create(obj)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Update(obj *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().Update(obj)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) UpdateStatus(obj *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.CustomResourceDefinitions().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Get(name string, options metav1.GetOptions) (*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) List(opts metav1.ListOptions) (*v1beta1.CustomResourceDefinitionList, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().List(opts)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.CustomResourceDefinition, err error) {
|
||||
return c.clientGetter.CustomResourceDefinitions().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type customResourceDefinitionCache struct {
|
||||
lister listers.CustomResourceDefinitionLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionCache) Get(name string) (*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionCache) List(selector labels.Selector) ([]*v1beta1.CustomResourceDefinition, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionCache) AddIndexer(indexName string, indexer CustomResourceDefinitionIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1beta1.CustomResourceDefinition))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *customResourceDefinitionCache) GetByIndex(indexName, key string) (result []*v1beta1.CustomResourceDefinition, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1beta1.CustomResourceDefinition))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type CustomResourceDefinitionStatusHandler func(obj *v1beta1.CustomResourceDefinition, status v1beta1.CustomResourceDefinitionStatus) (v1beta1.CustomResourceDefinitionStatus, error)
|
||||
|
||||
type CustomResourceDefinitionGeneratingHandler func(obj *v1beta1.CustomResourceDefinition, status v1beta1.CustomResourceDefinitionStatus) ([]runtime.Object, v1beta1.CustomResourceDefinitionStatus, error)
|
||||
|
||||
func RegisterCustomResourceDefinitionStatusHandler(ctx context.Context, controller CustomResourceDefinitionController, condition condition.Cond, name string, handler CustomResourceDefinitionStatusHandler) {
|
||||
statusHandler := &customResourceDefinitionStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromCustomResourceDefinitionHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterCustomResourceDefinitionGeneratingHandler(ctx context.Context, controller CustomResourceDefinitionController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler CustomResourceDefinitionGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &customResourceDefinitionGeneratingHandler{
|
||||
CustomResourceDefinitionGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterCustomResourceDefinitionStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type customResourceDefinitionStatusHandler struct {
|
||||
client CustomResourceDefinitionClient
|
||||
condition condition.Cond
|
||||
handler CustomResourceDefinitionStatusHandler
|
||||
}
|
||||
|
||||
func (a *customResourceDefinitionStatusHandler) sync(key string, obj *v1beta1.CustomResourceDefinition) (*v1beta1.CustomResourceDefinition, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type customResourceDefinitionGeneratingHandler struct {
|
||||
CustomResourceDefinitionGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *customResourceDefinitionGeneratingHandler) Handle(obj *v1beta1.CustomResourceDefinition, status v1beta1.CustomResourceDefinitionStatus) (v1beta1.CustomResourceDefinitionStatus, error) {
|
||||
objs, newStatus, err := a.CustomResourceDefinitionGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
49
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/v1beta1/interface.go
generated
vendored
Normal file
49
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiextensions.k8s.io/v1beta1/interface.go
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1beta1
|
||||
|
||||
import (
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||
clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
|
||||
informers "k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/v1beta1"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
CustomResourceDefinition() CustomResourceDefinitionController
|
||||
}
|
||||
|
||||
func New(controllerManager *generic.ControllerManager, client clientset.ApiextensionsV1beta1Interface,
|
||||
informers informers.Interface) Interface {
|
||||
return &version{
|
||||
controllerManager: controllerManager,
|
||||
client: client,
|
||||
informers: informers,
|
||||
}
|
||||
}
|
||||
|
||||
type version struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.ApiextensionsV1beta1Interface
|
||||
}
|
||||
|
||||
func (c *version) CustomResourceDefinition() CustomResourceDefinitionController {
|
||||
return NewCustomResourceDefinitionController(v1beta1.SchemeGroupVersion.WithKind("CustomResourceDefinition"), c.controllerManager, c.client, c.informers.CustomResourceDefinitions())
|
||||
}
|
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/factory.go
generated
vendored
Normal file
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/factory.go
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package apiregistration
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
"github.com/rancher/wrangler/pkg/schemes"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/client-go/rest"
|
||||
clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
scheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
|
||||
informers "k8s.io/kube-aggregator/pkg/client/informers/externalversions"
|
||||
)
|
||||
|
||||
func init() {
|
||||
scheme.AddToScheme(schemes.All)
|
||||
}
|
||||
|
||||
type Factory struct {
|
||||
synced bool
|
||||
informerFactory informers.SharedInformerFactory
|
||||
clientset clientset.Interface
|
||||
controllerManager *generic.ControllerManager
|
||||
threadiness map[schema.GroupVersionKind]int
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigOrDie(config *rest.Config) *Factory {
|
||||
f, err := NewFactoryFromConfig(config)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func NewFactoryFromConfig(config *rest.Config) (*Factory, error) {
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactory(cs, 2*time.Hour)
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigWithNamespace(config *rest.Config, namespace string) (*Factory, error) {
|
||||
if namespace == "" {
|
||||
return NewFactoryFromConfig(config)
|
||||
}
|
||||
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactoryWithOptions(cs, 2*time.Hour, informers.WithNamespace(namespace))
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactory(clientset clientset.Interface, informerFactory informers.SharedInformerFactory) *Factory {
|
||||
return &Factory{
|
||||
threadiness: map[schema.GroupVersionKind]int{},
|
||||
controllerManager: &generic.ControllerManager{},
|
||||
clientset: clientset,
|
||||
informerFactory: informerFactory,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
|
||||
return c.controllerManager.Controllers()
|
||||
}
|
||||
|
||||
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
|
||||
c.threadiness[gvk] = threadiness
|
||||
}
|
||||
|
||||
func (c *Factory) Sync(ctx context.Context) error {
|
||||
c.informerFactory.Start(ctx.Done())
|
||||
c.informerFactory.WaitForCacheSync(ctx.Done())
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Factory) Start(ctx context.Context, defaultThreadiness int) error {
|
||||
if err := c.Sync(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.controllerManager.Start(ctx, defaultThreadiness, c.threadiness)
|
||||
}
|
||||
|
||||
func (c *Factory) Apiregistration() Interface {
|
||||
return New(c.controllerManager, c.informerFactory.Apiregistration(), c.clientset)
|
||||
}
|
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/interface.go
generated
vendored
Normal file
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/interface.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package apiregistration
|
||||
|
||||
import (
|
||||
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/v1"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
informers "k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
V1() v1.Interface
|
||||
}
|
||||
|
||||
type group struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.Interface
|
||||
}
|
||||
|
||||
// New returns a new Interface.
|
||||
func New(controllerManager *generic.ControllerManager, informers informers.Interface,
|
||||
client clientset.Interface) Interface {
|
||||
return &group{
|
||||
controllerManager: controllerManager,
|
||||
informers: informers,
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *group) V1() v1.Interface {
|
||||
return v1.New(g.controllerManager, g.client.ApiregistrationV1(), g.informers.V1())
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/v1/apiservice.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/v1/apiservice.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
|
||||
clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1"
|
||||
informers "k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration/v1"
|
||||
listers "k8s.io/kube-aggregator/pkg/client/listers/apiregistration/v1"
|
||||
)
|
||||
|
||||
type APIServiceHandler func(string, *v1.APIService) (*v1.APIService, error)
|
||||
|
||||
type APIServiceController interface {
|
||||
generic.ControllerMeta
|
||||
APIServiceClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync APIServiceHandler)
|
||||
OnRemove(ctx context.Context, name string, sync APIServiceHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() APIServiceCache
|
||||
}
|
||||
|
||||
type APIServiceClient interface {
|
||||
Create(*v1.APIService) (*v1.APIService, error)
|
||||
Update(*v1.APIService) (*v1.APIService, error)
|
||||
UpdateStatus(*v1.APIService) (*v1.APIService, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1.APIService, error)
|
||||
List(opts metav1.ListOptions) (*v1.APIServiceList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error)
|
||||
}
|
||||
|
||||
type APIServiceCache interface {
|
||||
Get(name string) (*v1.APIService, error)
|
||||
List(selector labels.Selector) ([]*v1.APIService, error)
|
||||
|
||||
AddIndexer(indexName string, indexer APIServiceIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.APIService, error)
|
||||
}
|
||||
|
||||
type APIServiceIndexer func(obj *v1.APIService) ([]string, error)
|
||||
|
||||
type aPIServiceController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.APIServicesGetter
|
||||
informer informers.APIServiceInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewAPIServiceController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.APIServicesGetter, informer informers.APIServiceInformer) APIServiceController {
|
||||
return &aPIServiceController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromAPIServiceHandlerToHandler(sync APIServiceHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.APIService
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.APIService))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.APIService))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateAPIServiceDeepCopyOnChange(client APIServiceClient, obj *v1.APIService, handler func(obj *v1.APIService) (*v1.APIService, error)) (*v1.APIService, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) OnChange(ctx context.Context, name string, sync APIServiceHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromAPIServiceHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) OnRemove(ctx context.Context, name string, sync APIServiceHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromAPIServiceHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Cache() APIServiceCache {
|
||||
return &aPIServiceCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Create(obj *v1.APIService) (*v1.APIService, error) {
|
||||
return c.clientGetter.APIServices().Create(obj)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Update(obj *v1.APIService) (*v1.APIService, error) {
|
||||
return c.clientGetter.APIServices().Update(obj)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) UpdateStatus(obj *v1.APIService) (*v1.APIService, error) {
|
||||
return c.clientGetter.APIServices().UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.APIServices().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Get(name string, options metav1.GetOptions) (*v1.APIService, error) {
|
||||
return c.clientGetter.APIServices().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) List(opts metav1.ListOptions) (*v1.APIServiceList, error) {
|
||||
return c.clientGetter.APIServices().List(opts)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.APIServices().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *aPIServiceController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.APIService, err error) {
|
||||
return c.clientGetter.APIServices().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type aPIServiceCache struct {
|
||||
lister listers.APIServiceLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *aPIServiceCache) Get(name string) (*v1.APIService, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *aPIServiceCache) List(selector labels.Selector) ([]*v1.APIService, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *aPIServiceCache) AddIndexer(indexName string, indexer APIServiceIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.APIService))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *aPIServiceCache) GetByIndex(indexName, key string) (result []*v1.APIService, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.APIService))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type APIServiceStatusHandler func(obj *v1.APIService, status v1.APIServiceStatus) (v1.APIServiceStatus, error)
|
||||
|
||||
type APIServiceGeneratingHandler func(obj *v1.APIService, status v1.APIServiceStatus) ([]runtime.Object, v1.APIServiceStatus, error)
|
||||
|
||||
func RegisterAPIServiceStatusHandler(ctx context.Context, controller APIServiceController, condition condition.Cond, name string, handler APIServiceStatusHandler) {
|
||||
statusHandler := &aPIServiceStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromAPIServiceHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterAPIServiceGeneratingHandler(ctx context.Context, controller APIServiceController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler APIServiceGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &aPIServiceGeneratingHandler{
|
||||
APIServiceGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterAPIServiceStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type aPIServiceStatusHandler struct {
|
||||
client APIServiceClient
|
||||
condition condition.Cond
|
||||
handler APIServiceStatusHandler
|
||||
}
|
||||
|
||||
func (a *aPIServiceStatusHandler) sync(key string, obj *v1.APIService) (*v1.APIService, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type aPIServiceGeneratingHandler struct {
|
||||
APIServiceGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *aPIServiceGeneratingHandler) Handle(obj *v1.APIService, status v1.APIServiceStatus) (v1.APIServiceStatus, error) {
|
||||
objs, newStatus, err := a.APIServiceGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
49
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/v1/interface.go
generated
vendored
Normal file
49
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/apiregistration.k8s.io/v1/interface.go
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
|
||||
clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1"
|
||||
informers "k8s.io/kube-aggregator/pkg/client/informers/externalversions/apiregistration/v1"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
APIService() APIServiceController
|
||||
}
|
||||
|
||||
func New(controllerManager *generic.ControllerManager, client clientset.ApiregistrationV1Interface,
|
||||
informers informers.Interface) Interface {
|
||||
return &version{
|
||||
controllerManager: controllerManager,
|
||||
client: client,
|
||||
informers: informers,
|
||||
}
|
||||
}
|
||||
|
||||
type version struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.ApiregistrationV1Interface
|
||||
}
|
||||
|
||||
func (c *version) APIService() APIServiceController {
|
||||
return NewAPIServiceController(v1.SchemeGroupVersion.WithKind("APIService"), c.controllerManager, c.client, c.informers.APIServices())
|
||||
}
|
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/factory.go
generated
vendored
Normal file
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/factory.go
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
"github.com/rancher/wrangler/pkg/schemes"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
informers "k8s.io/client-go/informers"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
scheme "k8s.io/client-go/kubernetes/scheme"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func init() {
|
||||
scheme.AddToScheme(schemes.All)
|
||||
}
|
||||
|
||||
type Factory struct {
|
||||
synced bool
|
||||
informerFactory informers.SharedInformerFactory
|
||||
clientset clientset.Interface
|
||||
controllerManager *generic.ControllerManager
|
||||
threadiness map[schema.GroupVersionKind]int
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigOrDie(config *rest.Config) *Factory {
|
||||
f, err := NewFactoryFromConfig(config)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func NewFactoryFromConfig(config *rest.Config) (*Factory, error) {
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactory(cs, 2*time.Hour)
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigWithNamespace(config *rest.Config, namespace string) (*Factory, error) {
|
||||
if namespace == "" {
|
||||
return NewFactoryFromConfig(config)
|
||||
}
|
||||
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactoryWithOptions(cs, 2*time.Hour, informers.WithNamespace(namespace))
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactory(clientset clientset.Interface, informerFactory informers.SharedInformerFactory) *Factory {
|
||||
return &Factory{
|
||||
threadiness: map[schema.GroupVersionKind]int{},
|
||||
controllerManager: &generic.ControllerManager{},
|
||||
clientset: clientset,
|
||||
informerFactory: informerFactory,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
|
||||
return c.controllerManager.Controllers()
|
||||
}
|
||||
|
||||
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
|
||||
c.threadiness[gvk] = threadiness
|
||||
}
|
||||
|
||||
func (c *Factory) Sync(ctx context.Context) error {
|
||||
c.informerFactory.Start(ctx.Done())
|
||||
c.informerFactory.WaitForCacheSync(ctx.Done())
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Factory) Start(ctx context.Context, defaultThreadiness int) error {
|
||||
if err := c.Sync(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.controllerManager.Start(ctx, defaultThreadiness, c.threadiness)
|
||||
}
|
||||
|
||||
func (c *Factory) Core() Interface {
|
||||
return New(c.controllerManager, c.informerFactory.Core(), c.clientset)
|
||||
}
|
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/interface.go
generated
vendored
Normal file
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/interface.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package core
|
||||
|
||||
import (
|
||||
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
informers "k8s.io/client-go/informers/core"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
V1() v1.Interface
|
||||
}
|
||||
|
||||
type group struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.Interface
|
||||
}
|
||||
|
||||
// New returns a new Interface.
|
||||
func New(controllerManager *generic.ControllerManager, informers informers.Interface,
|
||||
client clientset.Interface) Interface {
|
||||
return &group{
|
||||
controllerManager: controllerManager,
|
||||
informers: informers,
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *group) V1() v1.Interface {
|
||||
return v1.New(g.controllerManager, g.client.CoreV1(), g.informers.V1())
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/configmap.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/configmap.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type ConfigMapHandler func(string, *v1.ConfigMap) (*v1.ConfigMap, error)
|
||||
|
||||
type ConfigMapController interface {
|
||||
generic.ControllerMeta
|
||||
ConfigMapClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync ConfigMapHandler)
|
||||
OnRemove(ctx context.Context, name string, sync ConfigMapHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() ConfigMapCache
|
||||
}
|
||||
|
||||
type ConfigMapClient interface {
|
||||
Create(*v1.ConfigMap) (*v1.ConfigMap, error)
|
||||
Update(*v1.ConfigMap) (*v1.ConfigMap, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.ConfigMap, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.ConfigMapList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ConfigMap, err error)
|
||||
}
|
||||
|
||||
type ConfigMapCache interface {
|
||||
Get(namespace, name string) (*v1.ConfigMap, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.ConfigMap, error)
|
||||
|
||||
AddIndexer(indexName string, indexer ConfigMapIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.ConfigMap, error)
|
||||
}
|
||||
|
||||
type ConfigMapIndexer func(obj *v1.ConfigMap) ([]string, error)
|
||||
|
||||
type configMapController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.ConfigMapsGetter
|
||||
informer informers.ConfigMapInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewConfigMapController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ConfigMapsGetter, informer informers.ConfigMapInformer) ConfigMapController {
|
||||
return &configMapController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromConfigMapHandlerToHandler(sync ConfigMapHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.ConfigMap
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.ConfigMap))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *configMapController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.ConfigMap))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateConfigMapDeepCopyOnChange(client ConfigMapClient, obj *v1.ConfigMap, handler func(obj *v1.ConfigMap) (*v1.ConfigMap, error)) (*v1.ConfigMap, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *configMapController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *configMapController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *configMapController) OnChange(ctx context.Context, name string, sync ConfigMapHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromConfigMapHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *configMapController) OnRemove(ctx context.Context, name string, sync ConfigMapHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromConfigMapHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *configMapController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *configMapController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *configMapController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *configMapController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *configMapController) Cache() ConfigMapCache {
|
||||
return &configMapCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *configMapController) Create(obj *v1.ConfigMap) (*v1.ConfigMap, error) {
|
||||
return c.clientGetter.ConfigMaps(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *configMapController) Update(obj *v1.ConfigMap) (*v1.ConfigMap, error) {
|
||||
return c.clientGetter.ConfigMaps(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *configMapController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.ConfigMaps(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *configMapController) Get(namespace, name string, options metav1.GetOptions) (*v1.ConfigMap, error) {
|
||||
return c.clientGetter.ConfigMaps(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *configMapController) List(namespace string, opts metav1.ListOptions) (*v1.ConfigMapList, error) {
|
||||
return c.clientGetter.ConfigMaps(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *configMapController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.ConfigMaps(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *configMapController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ConfigMap, err error) {
|
||||
return c.clientGetter.ConfigMaps(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type configMapCache struct {
|
||||
lister listers.ConfigMapLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *configMapCache) Get(namespace, name string) (*v1.ConfigMap, error) {
|
||||
return c.lister.ConfigMaps(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *configMapCache) List(namespace string, selector labels.Selector) ([]*v1.ConfigMap, error) {
|
||||
return c.lister.ConfigMaps(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *configMapCache) AddIndexer(indexName string, indexer ConfigMapIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.ConfigMap))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *configMapCache) GetByIndex(indexName, key string) (result []*v1.ConfigMap, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.ConfigMap))
|
||||
}
|
||||
return result, nil
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/endpoints.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/endpoints.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type EndpointsHandler func(string, *v1.Endpoints) (*v1.Endpoints, error)
|
||||
|
||||
type EndpointsController interface {
|
||||
generic.ControllerMeta
|
||||
EndpointsClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync EndpointsHandler)
|
||||
OnRemove(ctx context.Context, name string, sync EndpointsHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() EndpointsCache
|
||||
}
|
||||
|
||||
type EndpointsClient interface {
|
||||
Create(*v1.Endpoints) (*v1.Endpoints, error)
|
||||
Update(*v1.Endpoints) (*v1.Endpoints, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Endpoints, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.EndpointsList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Endpoints, err error)
|
||||
}
|
||||
|
||||
type EndpointsCache interface {
|
||||
Get(namespace, name string) (*v1.Endpoints, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Endpoints, error)
|
||||
|
||||
AddIndexer(indexName string, indexer EndpointsIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Endpoints, error)
|
||||
}
|
||||
|
||||
type EndpointsIndexer func(obj *v1.Endpoints) ([]string, error)
|
||||
|
||||
type endpointsController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.EndpointsGetter
|
||||
informer informers.EndpointsInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewEndpointsController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.EndpointsGetter, informer informers.EndpointsInformer) EndpointsController {
|
||||
return &endpointsController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromEndpointsHandlerToHandler(sync EndpointsHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Endpoints
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Endpoints))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *endpointsController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Endpoints))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateEndpointsDeepCopyOnChange(client EndpointsClient, obj *v1.Endpoints, handler func(obj *v1.Endpoints) (*v1.Endpoints, error)) (*v1.Endpoints, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *endpointsController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *endpointsController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *endpointsController) OnChange(ctx context.Context, name string, sync EndpointsHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromEndpointsHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *endpointsController) OnRemove(ctx context.Context, name string, sync EndpointsHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromEndpointsHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *endpointsController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *endpointsController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *endpointsController) Cache() EndpointsCache {
|
||||
return &endpointsCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *endpointsController) Create(obj *v1.Endpoints) (*v1.Endpoints, error) {
|
||||
return c.clientGetter.Endpoints(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Update(obj *v1.Endpoints) (*v1.Endpoints, error) {
|
||||
return c.clientGetter.Endpoints(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Endpoints(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Get(namespace, name string, options metav1.GetOptions) (*v1.Endpoints, error) {
|
||||
return c.clientGetter.Endpoints(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *endpointsController) List(namespace string, opts metav1.ListOptions) (*v1.EndpointsList, error) {
|
||||
return c.clientGetter.Endpoints(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Endpoints(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *endpointsController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Endpoints, err error) {
|
||||
return c.clientGetter.Endpoints(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type endpointsCache struct {
|
||||
lister listers.EndpointsLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *endpointsCache) Get(namespace, name string) (*v1.Endpoints, error) {
|
||||
return c.lister.Endpoints(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *endpointsCache) List(namespace string, selector labels.Selector) ([]*v1.Endpoints, error) {
|
||||
return c.lister.Endpoints(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *endpointsCache) AddIndexer(indexName string, indexer EndpointsIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Endpoints))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *endpointsCache) GetByIndex(indexName, key string) (result []*v1.Endpoints, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Endpoints))
|
||||
}
|
||||
return result, nil
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/event.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/event.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type EventHandler func(string, *v1.Event) (*v1.Event, error)
|
||||
|
||||
type EventController interface {
|
||||
generic.ControllerMeta
|
||||
EventClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync EventHandler)
|
||||
OnRemove(ctx context.Context, name string, sync EventHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() EventCache
|
||||
}
|
||||
|
||||
type EventClient interface {
|
||||
Create(*v1.Event) (*v1.Event, error)
|
||||
Update(*v1.Event) (*v1.Event, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Event, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.EventList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Event, err error)
|
||||
}
|
||||
|
||||
type EventCache interface {
|
||||
Get(namespace, name string) (*v1.Event, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Event, error)
|
||||
|
||||
AddIndexer(indexName string, indexer EventIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Event, error)
|
||||
}
|
||||
|
||||
type EventIndexer func(obj *v1.Event) ([]string, error)
|
||||
|
||||
type eventController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.EventsGetter
|
||||
informer informers.EventInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewEventController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.EventsGetter, informer informers.EventInformer) EventController {
|
||||
return &eventController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromEventHandlerToHandler(sync EventHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Event
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Event))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *eventController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Event))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateEventDeepCopyOnChange(client EventClient, obj *v1.Event, handler func(obj *v1.Event) (*v1.Event, error)) (*v1.Event, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *eventController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *eventController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *eventController) OnChange(ctx context.Context, name string, sync EventHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromEventHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *eventController) OnRemove(ctx context.Context, name string, sync EventHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromEventHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *eventController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *eventController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *eventController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *eventController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *eventController) Cache() EventCache {
|
||||
return &eventCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *eventController) Create(obj *v1.Event) (*v1.Event, error) {
|
||||
return c.clientGetter.Events(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *eventController) Update(obj *v1.Event) (*v1.Event, error) {
|
||||
return c.clientGetter.Events(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *eventController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Events(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *eventController) Get(namespace, name string, options metav1.GetOptions) (*v1.Event, error) {
|
||||
return c.clientGetter.Events(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *eventController) List(namespace string, opts metav1.ListOptions) (*v1.EventList, error) {
|
||||
return c.clientGetter.Events(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *eventController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Events(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *eventController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Event, err error) {
|
||||
return c.clientGetter.Events(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type eventCache struct {
|
||||
lister listers.EventLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *eventCache) Get(namespace, name string) (*v1.Event, error) {
|
||||
return c.lister.Events(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *eventCache) List(namespace string, selector labels.Selector) ([]*v1.Event, error) {
|
||||
return c.lister.Events(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *eventCache) AddIndexer(indexName string, indexer EventIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Event))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *eventCache) GetByIndex(indexName, key string) (result []*v1.Event, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Event))
|
||||
}
|
||||
return result, nil
|
||||
}
|
85
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/interface.go
generated
vendored
Normal file
85
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/interface.go
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
ConfigMap() ConfigMapController
|
||||
Endpoints() EndpointsController
|
||||
Event() EventController
|
||||
Namespace() NamespaceController
|
||||
Node() NodeController
|
||||
PersistentVolumeClaim() PersistentVolumeClaimController
|
||||
Pod() PodController
|
||||
Secret() SecretController
|
||||
Service() ServiceController
|
||||
ServiceAccount() ServiceAccountController
|
||||
}
|
||||
|
||||
func New(controllerManager *generic.ControllerManager, client clientset.CoreV1Interface,
|
||||
informers informers.Interface) Interface {
|
||||
return &version{
|
||||
controllerManager: controllerManager,
|
||||
client: client,
|
||||
informers: informers,
|
||||
}
|
||||
}
|
||||
|
||||
type version struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.CoreV1Interface
|
||||
}
|
||||
|
||||
func (c *version) ConfigMap() ConfigMapController {
|
||||
return NewConfigMapController(v1.SchemeGroupVersion.WithKind("ConfigMap"), c.controllerManager, c.client, c.informers.ConfigMaps())
|
||||
}
|
||||
func (c *version) Endpoints() EndpointsController {
|
||||
return NewEndpointsController(v1.SchemeGroupVersion.WithKind("Endpoints"), c.controllerManager, c.client, c.informers.Endpoints())
|
||||
}
|
||||
func (c *version) Event() EventController {
|
||||
return NewEventController(v1.SchemeGroupVersion.WithKind("Event"), c.controllerManager, c.client, c.informers.Events())
|
||||
}
|
||||
func (c *version) Namespace() NamespaceController {
|
||||
return NewNamespaceController(v1.SchemeGroupVersion.WithKind("Namespace"), c.controllerManager, c.client, c.informers.Namespaces())
|
||||
}
|
||||
func (c *version) Node() NodeController {
|
||||
return NewNodeController(v1.SchemeGroupVersion.WithKind("Node"), c.controllerManager, c.client, c.informers.Nodes())
|
||||
}
|
||||
func (c *version) PersistentVolumeClaim() PersistentVolumeClaimController {
|
||||
return NewPersistentVolumeClaimController(v1.SchemeGroupVersion.WithKind("PersistentVolumeClaim"), c.controllerManager, c.client, c.informers.PersistentVolumeClaims())
|
||||
}
|
||||
func (c *version) Pod() PodController {
|
||||
return NewPodController(v1.SchemeGroupVersion.WithKind("Pod"), c.controllerManager, c.client, c.informers.Pods())
|
||||
}
|
||||
func (c *version) Secret() SecretController {
|
||||
return NewSecretController(v1.SchemeGroupVersion.WithKind("Secret"), c.controllerManager, c.client, c.informers.Secrets())
|
||||
}
|
||||
func (c *version) Service() ServiceController {
|
||||
return NewServiceController(v1.SchemeGroupVersion.WithKind("Service"), c.controllerManager, c.client, c.informers.Services())
|
||||
}
|
||||
func (c *version) ServiceAccount() ServiceAccountController {
|
||||
return NewServiceAccountController(v1.SchemeGroupVersion.WithKind("ServiceAccount"), c.controllerManager, c.client, c.informers.ServiceAccounts())
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/namespace.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/namespace.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type NamespaceHandler func(string, *v1.Namespace) (*v1.Namespace, error)
|
||||
|
||||
type NamespaceController interface {
|
||||
generic.ControllerMeta
|
||||
NamespaceClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync NamespaceHandler)
|
||||
OnRemove(ctx context.Context, name string, sync NamespaceHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() NamespaceCache
|
||||
}
|
||||
|
||||
type NamespaceClient interface {
|
||||
Create(*v1.Namespace) (*v1.Namespace, error)
|
||||
Update(*v1.Namespace) (*v1.Namespace, error)
|
||||
UpdateStatus(*v1.Namespace) (*v1.Namespace, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1.Namespace, error)
|
||||
List(opts metav1.ListOptions) (*v1.NamespaceList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Namespace, err error)
|
||||
}
|
||||
|
||||
type NamespaceCache interface {
|
||||
Get(name string) (*v1.Namespace, error)
|
||||
List(selector labels.Selector) ([]*v1.Namespace, error)
|
||||
|
||||
AddIndexer(indexName string, indexer NamespaceIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Namespace, error)
|
||||
}
|
||||
|
||||
type NamespaceIndexer func(obj *v1.Namespace) ([]string, error)
|
||||
|
||||
type namespaceController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.NamespacesGetter
|
||||
informer informers.NamespaceInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewNamespaceController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.NamespacesGetter, informer informers.NamespaceInformer) NamespaceController {
|
||||
return &namespaceController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromNamespaceHandlerToHandler(sync NamespaceHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Namespace
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Namespace))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *namespaceController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Namespace))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateNamespaceDeepCopyOnChange(client NamespaceClient, obj *v1.Namespace, handler func(obj *v1.Namespace) (*v1.Namespace, error)) (*v1.Namespace, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *namespaceController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *namespaceController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *namespaceController) OnChange(ctx context.Context, name string, sync NamespaceHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromNamespaceHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *namespaceController) OnRemove(ctx context.Context, name string, sync NamespaceHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromNamespaceHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *namespaceController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *namespaceController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *namespaceController) Cache() NamespaceCache {
|
||||
return &namespaceCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *namespaceController) Create(obj *v1.Namespace) (*v1.Namespace, error) {
|
||||
return c.clientGetter.Namespaces().Create(obj)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Update(obj *v1.Namespace) (*v1.Namespace, error) {
|
||||
return c.clientGetter.Namespaces().Update(obj)
|
||||
}
|
||||
|
||||
func (c *namespaceController) UpdateStatus(obj *v1.Namespace) (*v1.Namespace, error) {
|
||||
return c.clientGetter.Namespaces().UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Namespaces().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Get(name string, options metav1.GetOptions) (*v1.Namespace, error) {
|
||||
return c.clientGetter.Namespaces().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *namespaceController) List(opts metav1.ListOptions) (*v1.NamespaceList, error) {
|
||||
return c.clientGetter.Namespaces().List(opts)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Namespaces().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *namespaceController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Namespace, err error) {
|
||||
return c.clientGetter.Namespaces().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type namespaceCache struct {
|
||||
lister listers.NamespaceLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *namespaceCache) Get(name string) (*v1.Namespace, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *namespaceCache) List(selector labels.Selector) ([]*v1.Namespace, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *namespaceCache) AddIndexer(indexName string, indexer NamespaceIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Namespace))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *namespaceCache) GetByIndex(indexName, key string) (result []*v1.Namespace, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Namespace))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type NamespaceStatusHandler func(obj *v1.Namespace, status v1.NamespaceStatus) (v1.NamespaceStatus, error)
|
||||
|
||||
type NamespaceGeneratingHandler func(obj *v1.Namespace, status v1.NamespaceStatus) ([]runtime.Object, v1.NamespaceStatus, error)
|
||||
|
||||
func RegisterNamespaceStatusHandler(ctx context.Context, controller NamespaceController, condition condition.Cond, name string, handler NamespaceStatusHandler) {
|
||||
statusHandler := &namespaceStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromNamespaceHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterNamespaceGeneratingHandler(ctx context.Context, controller NamespaceController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler NamespaceGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &namespaceGeneratingHandler{
|
||||
NamespaceGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterNamespaceStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type namespaceStatusHandler struct {
|
||||
client NamespaceClient
|
||||
condition condition.Cond
|
||||
handler NamespaceStatusHandler
|
||||
}
|
||||
|
||||
func (a *namespaceStatusHandler) sync(key string, obj *v1.Namespace) (*v1.Namespace, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type namespaceGeneratingHandler struct {
|
||||
NamespaceGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *namespaceGeneratingHandler) Handle(obj *v1.Namespace, status v1.NamespaceStatus) (v1.NamespaceStatus, error) {
|
||||
objs, newStatus, err := a.NamespaceGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/node.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/node.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type NodeHandler func(string, *v1.Node) (*v1.Node, error)
|
||||
|
||||
type NodeController interface {
|
||||
generic.ControllerMeta
|
||||
NodeClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync NodeHandler)
|
||||
OnRemove(ctx context.Context, name string, sync NodeHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() NodeCache
|
||||
}
|
||||
|
||||
type NodeClient interface {
|
||||
Create(*v1.Node) (*v1.Node, error)
|
||||
Update(*v1.Node) (*v1.Node, error)
|
||||
UpdateStatus(*v1.Node) (*v1.Node, error)
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1.Node, error)
|
||||
List(opts metav1.ListOptions) (*v1.NodeList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Node, err error)
|
||||
}
|
||||
|
||||
type NodeCache interface {
|
||||
Get(name string) (*v1.Node, error)
|
||||
List(selector labels.Selector) ([]*v1.Node, error)
|
||||
|
||||
AddIndexer(indexName string, indexer NodeIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Node, error)
|
||||
}
|
||||
|
||||
type NodeIndexer func(obj *v1.Node) ([]string, error)
|
||||
|
||||
type nodeController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.NodesGetter
|
||||
informer informers.NodeInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewNodeController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.NodesGetter, informer informers.NodeInformer) NodeController {
|
||||
return &nodeController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromNodeHandlerToHandler(sync NodeHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Node
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Node))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *nodeController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Node))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateNodeDeepCopyOnChange(client NodeClient, obj *v1.Node, handler func(obj *v1.Node) (*v1.Node, error)) (*v1.Node, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *nodeController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *nodeController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *nodeController) OnChange(ctx context.Context, name string, sync NodeHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromNodeHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *nodeController) OnRemove(ctx context.Context, name string, sync NodeHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromNodeHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *nodeController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *nodeController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *nodeController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *nodeController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *nodeController) Cache() NodeCache {
|
||||
return &nodeCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *nodeController) Create(obj *v1.Node) (*v1.Node, error) {
|
||||
return c.clientGetter.Nodes().Create(obj)
|
||||
}
|
||||
|
||||
func (c *nodeController) Update(obj *v1.Node) (*v1.Node, error) {
|
||||
return c.clientGetter.Nodes().Update(obj)
|
||||
}
|
||||
|
||||
func (c *nodeController) UpdateStatus(obj *v1.Node) (*v1.Node, error) {
|
||||
return c.clientGetter.Nodes().UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *nodeController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Nodes().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *nodeController) Get(name string, options metav1.GetOptions) (*v1.Node, error) {
|
||||
return c.clientGetter.Nodes().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *nodeController) List(opts metav1.ListOptions) (*v1.NodeList, error) {
|
||||
return c.clientGetter.Nodes().List(opts)
|
||||
}
|
||||
|
||||
func (c *nodeController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Nodes().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *nodeController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Node, err error) {
|
||||
return c.clientGetter.Nodes().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type nodeCache struct {
|
||||
lister listers.NodeLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *nodeCache) Get(name string) (*v1.Node, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *nodeCache) List(selector labels.Selector) ([]*v1.Node, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *nodeCache) AddIndexer(indexName string, indexer NodeIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Node))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *nodeCache) GetByIndex(indexName, key string) (result []*v1.Node, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Node))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type NodeStatusHandler func(obj *v1.Node, status v1.NodeStatus) (v1.NodeStatus, error)
|
||||
|
||||
type NodeGeneratingHandler func(obj *v1.Node, status v1.NodeStatus) ([]runtime.Object, v1.NodeStatus, error)
|
||||
|
||||
func RegisterNodeStatusHandler(ctx context.Context, controller NodeController, condition condition.Cond, name string, handler NodeStatusHandler) {
|
||||
statusHandler := &nodeStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromNodeHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterNodeGeneratingHandler(ctx context.Context, controller NodeController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler NodeGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &nodeGeneratingHandler{
|
||||
NodeGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterNodeStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type nodeStatusHandler struct {
|
||||
client NodeClient
|
||||
condition condition.Cond
|
||||
handler NodeStatusHandler
|
||||
}
|
||||
|
||||
func (a *nodeStatusHandler) sync(key string, obj *v1.Node) (*v1.Node, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type nodeGeneratingHandler struct {
|
||||
NodeGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *nodeGeneratingHandler) Handle(obj *v1.Node, status v1.NodeStatus) (v1.NodeStatus, error) {
|
||||
objs, newStatus, err := a.NodeGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/persistentvolumeclaim.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/persistentvolumeclaim.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type PersistentVolumeClaimHandler func(string, *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
|
||||
|
||||
type PersistentVolumeClaimController interface {
|
||||
generic.ControllerMeta
|
||||
PersistentVolumeClaimClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync PersistentVolumeClaimHandler)
|
||||
OnRemove(ctx context.Context, name string, sync PersistentVolumeClaimHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() PersistentVolumeClaimCache
|
||||
}
|
||||
|
||||
type PersistentVolumeClaimClient interface {
|
||||
Create(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
|
||||
Update(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
|
||||
UpdateStatus(*v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.PersistentVolumeClaim, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.PersistentVolumeClaimList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.PersistentVolumeClaim, err error)
|
||||
}
|
||||
|
||||
type PersistentVolumeClaimCache interface {
|
||||
Get(namespace, name string) (*v1.PersistentVolumeClaim, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.PersistentVolumeClaim, error)
|
||||
|
||||
AddIndexer(indexName string, indexer PersistentVolumeClaimIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.PersistentVolumeClaim, error)
|
||||
}
|
||||
|
||||
type PersistentVolumeClaimIndexer func(obj *v1.PersistentVolumeClaim) ([]string, error)
|
||||
|
||||
type persistentVolumeClaimController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.PersistentVolumeClaimsGetter
|
||||
informer informers.PersistentVolumeClaimInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewPersistentVolumeClaimController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.PersistentVolumeClaimsGetter, informer informers.PersistentVolumeClaimInformer) PersistentVolumeClaimController {
|
||||
return &persistentVolumeClaimController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromPersistentVolumeClaimHandlerToHandler(sync PersistentVolumeClaimHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.PersistentVolumeClaim
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.PersistentVolumeClaim))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.PersistentVolumeClaim))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdatePersistentVolumeClaimDeepCopyOnChange(client PersistentVolumeClaimClient, obj *v1.PersistentVolumeClaim, handler func(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)) (*v1.PersistentVolumeClaim, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) OnChange(ctx context.Context, name string, sync PersistentVolumeClaimHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromPersistentVolumeClaimHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) OnRemove(ctx context.Context, name string, sync PersistentVolumeClaimHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromPersistentVolumeClaimHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Cache() PersistentVolumeClaimCache {
|
||||
return &persistentVolumeClaimCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Create(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Update(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) UpdateStatus(obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(obj.Namespace).UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.PersistentVolumeClaims(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Get(namespace, name string, options metav1.GetOptions) (*v1.PersistentVolumeClaim, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) List(namespace string, opts metav1.ListOptions) (*v1.PersistentVolumeClaimList, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.PersistentVolumeClaim, err error) {
|
||||
return c.clientGetter.PersistentVolumeClaims(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type persistentVolumeClaimCache struct {
|
||||
lister listers.PersistentVolumeClaimLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimCache) Get(namespace, name string) (*v1.PersistentVolumeClaim, error) {
|
||||
return c.lister.PersistentVolumeClaims(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimCache) List(namespace string, selector labels.Selector) ([]*v1.PersistentVolumeClaim, error) {
|
||||
return c.lister.PersistentVolumeClaims(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimCache) AddIndexer(indexName string, indexer PersistentVolumeClaimIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.PersistentVolumeClaim))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *persistentVolumeClaimCache) GetByIndex(indexName, key string) (result []*v1.PersistentVolumeClaim, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.PersistentVolumeClaim))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type PersistentVolumeClaimStatusHandler func(obj *v1.PersistentVolumeClaim, status v1.PersistentVolumeClaimStatus) (v1.PersistentVolumeClaimStatus, error)
|
||||
|
||||
type PersistentVolumeClaimGeneratingHandler func(obj *v1.PersistentVolumeClaim, status v1.PersistentVolumeClaimStatus) ([]runtime.Object, v1.PersistentVolumeClaimStatus, error)
|
||||
|
||||
func RegisterPersistentVolumeClaimStatusHandler(ctx context.Context, controller PersistentVolumeClaimController, condition condition.Cond, name string, handler PersistentVolumeClaimStatusHandler) {
|
||||
statusHandler := &persistentVolumeClaimStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromPersistentVolumeClaimHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterPersistentVolumeClaimGeneratingHandler(ctx context.Context, controller PersistentVolumeClaimController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler PersistentVolumeClaimGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &persistentVolumeClaimGeneratingHandler{
|
||||
PersistentVolumeClaimGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterPersistentVolumeClaimStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type persistentVolumeClaimStatusHandler struct {
|
||||
client PersistentVolumeClaimClient
|
||||
condition condition.Cond
|
||||
handler PersistentVolumeClaimStatusHandler
|
||||
}
|
||||
|
||||
func (a *persistentVolumeClaimStatusHandler) sync(key string, obj *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type persistentVolumeClaimGeneratingHandler struct {
|
||||
PersistentVolumeClaimGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *persistentVolumeClaimGeneratingHandler) Handle(obj *v1.PersistentVolumeClaim, status v1.PersistentVolumeClaimStatus) (v1.PersistentVolumeClaimStatus, error) {
|
||||
objs, newStatus, err := a.PersistentVolumeClaimGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/pod.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/pod.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type PodHandler func(string, *v1.Pod) (*v1.Pod, error)
|
||||
|
||||
type PodController interface {
|
||||
generic.ControllerMeta
|
||||
PodClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync PodHandler)
|
||||
OnRemove(ctx context.Context, name string, sync PodHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() PodCache
|
||||
}
|
||||
|
||||
type PodClient interface {
|
||||
Create(*v1.Pod) (*v1.Pod, error)
|
||||
Update(*v1.Pod) (*v1.Pod, error)
|
||||
UpdateStatus(*v1.Pod) (*v1.Pod, error)
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Pod, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.PodList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Pod, err error)
|
||||
}
|
||||
|
||||
type PodCache interface {
|
||||
Get(namespace, name string) (*v1.Pod, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Pod, error)
|
||||
|
||||
AddIndexer(indexName string, indexer PodIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Pod, error)
|
||||
}
|
||||
|
||||
type PodIndexer func(obj *v1.Pod) ([]string, error)
|
||||
|
||||
type podController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.PodsGetter
|
||||
informer informers.PodInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewPodController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.PodsGetter, informer informers.PodInformer) PodController {
|
||||
return &podController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromPodHandlerToHandler(sync PodHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Pod
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Pod))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *podController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Pod))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdatePodDeepCopyOnChange(client PodClient, obj *v1.Pod, handler func(obj *v1.Pod) (*v1.Pod, error)) (*v1.Pod, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *podController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *podController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *podController) OnChange(ctx context.Context, name string, sync PodHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromPodHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *podController) OnRemove(ctx context.Context, name string, sync PodHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromPodHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *podController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *podController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *podController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *podController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *podController) Cache() PodCache {
|
||||
return &podCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *podController) Create(obj *v1.Pod) (*v1.Pod, error) {
|
||||
return c.clientGetter.Pods(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *podController) Update(obj *v1.Pod) (*v1.Pod, error) {
|
||||
return c.clientGetter.Pods(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *podController) UpdateStatus(obj *v1.Pod) (*v1.Pod, error) {
|
||||
return c.clientGetter.Pods(obj.Namespace).UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *podController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Pods(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *podController) Get(namespace, name string, options metav1.GetOptions) (*v1.Pod, error) {
|
||||
return c.clientGetter.Pods(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *podController) List(namespace string, opts metav1.ListOptions) (*v1.PodList, error) {
|
||||
return c.clientGetter.Pods(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *podController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Pods(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *podController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Pod, err error) {
|
||||
return c.clientGetter.Pods(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type podCache struct {
|
||||
lister listers.PodLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *podCache) Get(namespace, name string) (*v1.Pod, error) {
|
||||
return c.lister.Pods(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *podCache) List(namespace string, selector labels.Selector) ([]*v1.Pod, error) {
|
||||
return c.lister.Pods(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *podCache) AddIndexer(indexName string, indexer PodIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Pod))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *podCache) GetByIndex(indexName, key string) (result []*v1.Pod, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Pod))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type PodStatusHandler func(obj *v1.Pod, status v1.PodStatus) (v1.PodStatus, error)
|
||||
|
||||
type PodGeneratingHandler func(obj *v1.Pod, status v1.PodStatus) ([]runtime.Object, v1.PodStatus, error)
|
||||
|
||||
func RegisterPodStatusHandler(ctx context.Context, controller PodController, condition condition.Cond, name string, handler PodStatusHandler) {
|
||||
statusHandler := &podStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromPodHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterPodGeneratingHandler(ctx context.Context, controller PodController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler PodGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &podGeneratingHandler{
|
||||
PodGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterPodStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type podStatusHandler struct {
|
||||
client PodClient
|
||||
condition condition.Cond
|
||||
handler PodStatusHandler
|
||||
}
|
||||
|
||||
func (a *podStatusHandler) sync(key string, obj *v1.Pod) (*v1.Pod, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type podGeneratingHandler struct {
|
||||
PodGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *podGeneratingHandler) Handle(obj *v1.Pod, status v1.PodStatus) (v1.PodStatus, error) {
|
||||
objs, newStatus, err := a.PodGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/secret.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/secret.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type SecretHandler func(string, *v1.Secret) (*v1.Secret, error)
|
||||
|
||||
type SecretController interface {
|
||||
generic.ControllerMeta
|
||||
SecretClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync SecretHandler)
|
||||
OnRemove(ctx context.Context, name string, sync SecretHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() SecretCache
|
||||
}
|
||||
|
||||
type SecretClient interface {
|
||||
Create(*v1.Secret) (*v1.Secret, error)
|
||||
Update(*v1.Secret) (*v1.Secret, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Secret, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.SecretList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Secret, err error)
|
||||
}
|
||||
|
||||
type SecretCache interface {
|
||||
Get(namespace, name string) (*v1.Secret, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Secret, error)
|
||||
|
||||
AddIndexer(indexName string, indexer SecretIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Secret, error)
|
||||
}
|
||||
|
||||
type SecretIndexer func(obj *v1.Secret) ([]string, error)
|
||||
|
||||
type secretController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.SecretsGetter
|
||||
informer informers.SecretInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewSecretController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.SecretsGetter, informer informers.SecretInformer) SecretController {
|
||||
return &secretController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromSecretHandlerToHandler(sync SecretHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Secret
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Secret))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *secretController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Secret))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateSecretDeepCopyOnChange(client SecretClient, obj *v1.Secret, handler func(obj *v1.Secret) (*v1.Secret, error)) (*v1.Secret, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *secretController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *secretController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *secretController) OnChange(ctx context.Context, name string, sync SecretHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromSecretHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *secretController) OnRemove(ctx context.Context, name string, sync SecretHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromSecretHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *secretController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *secretController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *secretController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *secretController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *secretController) Cache() SecretCache {
|
||||
return &secretCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *secretController) Create(obj *v1.Secret) (*v1.Secret, error) {
|
||||
return c.clientGetter.Secrets(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *secretController) Update(obj *v1.Secret) (*v1.Secret, error) {
|
||||
return c.clientGetter.Secrets(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *secretController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Secrets(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *secretController) Get(namespace, name string, options metav1.GetOptions) (*v1.Secret, error) {
|
||||
return c.clientGetter.Secrets(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *secretController) List(namespace string, opts metav1.ListOptions) (*v1.SecretList, error) {
|
||||
return c.clientGetter.Secrets(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *secretController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Secrets(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *secretController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Secret, err error) {
|
||||
return c.clientGetter.Secrets(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type secretCache struct {
|
||||
lister listers.SecretLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *secretCache) Get(namespace, name string) (*v1.Secret, error) {
|
||||
return c.lister.Secrets(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *secretCache) List(namespace string, selector labels.Selector) ([]*v1.Secret, error) {
|
||||
return c.lister.Secrets(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *secretCache) AddIndexer(indexName string, indexer SecretIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Secret))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *secretCache) GetByIndex(indexName, key string) (result []*v1.Secret, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Secret))
|
||||
}
|
||||
return result, nil
|
||||
}
|
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/service.go
generated
vendored
Normal file
340
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/service.go
generated
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/apply"
|
||||
"github.com/rancher/wrangler/pkg/condition"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
"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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type ServiceHandler func(string, *v1.Service) (*v1.Service, error)
|
||||
|
||||
type ServiceController interface {
|
||||
generic.ControllerMeta
|
||||
ServiceClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync ServiceHandler)
|
||||
OnRemove(ctx context.Context, name string, sync ServiceHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() ServiceCache
|
||||
}
|
||||
|
||||
type ServiceClient interface {
|
||||
Create(*v1.Service) (*v1.Service, error)
|
||||
Update(*v1.Service) (*v1.Service, error)
|
||||
UpdateStatus(*v1.Service) (*v1.Service, error)
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Service, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.ServiceList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Service, err error)
|
||||
}
|
||||
|
||||
type ServiceCache interface {
|
||||
Get(namespace, name string) (*v1.Service, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Service, error)
|
||||
|
||||
AddIndexer(indexName string, indexer ServiceIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Service, error)
|
||||
}
|
||||
|
||||
type ServiceIndexer func(obj *v1.Service) ([]string, error)
|
||||
|
||||
type serviceController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.ServicesGetter
|
||||
informer informers.ServiceInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewServiceController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ServicesGetter, informer informers.ServiceInformer) ServiceController {
|
||||
return &serviceController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromServiceHandlerToHandler(sync ServiceHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Service
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Service))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *serviceController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Service))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateServiceDeepCopyOnChange(client ServiceClient, obj *v1.Service, handler func(obj *v1.Service) (*v1.Service, error)) (*v1.Service, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *serviceController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *serviceController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *serviceController) OnChange(ctx context.Context, name string, sync ServiceHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromServiceHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *serviceController) OnRemove(ctx context.Context, name string, sync ServiceHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromServiceHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *serviceController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *serviceController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *serviceController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *serviceController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *serviceController) Cache() ServiceCache {
|
||||
return &serviceCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *serviceController) Create(obj *v1.Service) (*v1.Service, error) {
|
||||
return c.clientGetter.Services(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *serviceController) Update(obj *v1.Service) (*v1.Service, error) {
|
||||
return c.clientGetter.Services(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *serviceController) UpdateStatus(obj *v1.Service) (*v1.Service, error) {
|
||||
return c.clientGetter.Services(obj.Namespace).UpdateStatus(obj)
|
||||
}
|
||||
|
||||
func (c *serviceController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Services(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *serviceController) Get(namespace, name string, options metav1.GetOptions) (*v1.Service, error) {
|
||||
return c.clientGetter.Services(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *serviceController) List(namespace string, opts metav1.ListOptions) (*v1.ServiceList, error) {
|
||||
return c.clientGetter.Services(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *serviceController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Services(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *serviceController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Service, err error) {
|
||||
return c.clientGetter.Services(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type serviceCache struct {
|
||||
lister listers.ServiceLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *serviceCache) Get(namespace, name string) (*v1.Service, error) {
|
||||
return c.lister.Services(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *serviceCache) List(namespace string, selector labels.Selector) ([]*v1.Service, error) {
|
||||
return c.lister.Services(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *serviceCache) AddIndexer(indexName string, indexer ServiceIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Service))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *serviceCache) GetByIndex(indexName, key string) (result []*v1.Service, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Service))
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type ServiceStatusHandler func(obj *v1.Service, status v1.ServiceStatus) (v1.ServiceStatus, error)
|
||||
|
||||
type ServiceGeneratingHandler func(obj *v1.Service, status v1.ServiceStatus) ([]runtime.Object, v1.ServiceStatus, error)
|
||||
|
||||
func RegisterServiceStatusHandler(ctx context.Context, controller ServiceController, condition condition.Cond, name string, handler ServiceStatusHandler) {
|
||||
statusHandler := &serviceStatusHandler{
|
||||
client: controller,
|
||||
condition: condition,
|
||||
handler: handler,
|
||||
}
|
||||
controller.AddGenericHandler(ctx, name, FromServiceHandlerToHandler(statusHandler.sync))
|
||||
}
|
||||
|
||||
func RegisterServiceGeneratingHandler(ctx context.Context, controller ServiceController, apply apply.Apply,
|
||||
condition condition.Cond, name string, handler ServiceGeneratingHandler, opts *generic.GeneratingHandlerOptions) {
|
||||
statusHandler := &serviceGeneratingHandler{
|
||||
ServiceGeneratingHandler: handler,
|
||||
apply: apply,
|
||||
name: name,
|
||||
gvk: controller.GroupVersionKind(),
|
||||
}
|
||||
if opts != nil {
|
||||
statusHandler.opts = *opts
|
||||
}
|
||||
RegisterServiceStatusHandler(ctx, controller, condition, name, statusHandler.Handle)
|
||||
}
|
||||
|
||||
type serviceStatusHandler struct {
|
||||
client ServiceClient
|
||||
condition condition.Cond
|
||||
handler ServiceStatusHandler
|
||||
}
|
||||
|
||||
func (a *serviceStatusHandler) sync(key string, obj *v1.Service) (*v1.Service, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
origStatus := obj.Status
|
||||
obj = obj.DeepCopy()
|
||||
newStatus, err := a.handler(obj, obj.Status)
|
||||
if err != nil {
|
||||
// Revert to old status on error
|
||||
newStatus = *origStatus.DeepCopy()
|
||||
}
|
||||
|
||||
obj.Status = newStatus
|
||||
if a.condition != "" {
|
||||
if errors.IsConflict(err) {
|
||||
a.condition.SetError(obj, "", nil)
|
||||
} else {
|
||||
a.condition.SetError(obj, "", err)
|
||||
}
|
||||
}
|
||||
if !equality.Semantic.DeepEqual(origStatus, obj.Status) {
|
||||
var newErr error
|
||||
obj, newErr = a.client.UpdateStatus(obj)
|
||||
if err == nil {
|
||||
err = newErr
|
||||
}
|
||||
}
|
||||
return obj, err
|
||||
}
|
||||
|
||||
type serviceGeneratingHandler struct {
|
||||
ServiceGeneratingHandler
|
||||
apply apply.Apply
|
||||
opts generic.GeneratingHandlerOptions
|
||||
gvk schema.GroupVersionKind
|
||||
name string
|
||||
}
|
||||
|
||||
func (a *serviceGeneratingHandler) Handle(obj *v1.Service, status v1.ServiceStatus) (v1.ServiceStatus, error) {
|
||||
objs, newStatus, err := a.ServiceGeneratingHandler(obj, status)
|
||||
if err != nil {
|
||||
return newStatus, err
|
||||
}
|
||||
|
||||
apply := a.apply
|
||||
|
||||
if !a.opts.DynamicLookup {
|
||||
apply = apply.WithStrictCaching()
|
||||
}
|
||||
|
||||
if !a.opts.AllowCrossNamespace && !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithSetOwnerReference(true, false).
|
||||
WithDefaultNamespace(obj.GetNamespace()).
|
||||
WithListerNamespace(obj.GetNamespace())
|
||||
}
|
||||
|
||||
if !a.opts.AllowClusterScoped {
|
||||
apply = apply.WithRestrictClusterScoped()
|
||||
}
|
||||
|
||||
return newStatus, apply.
|
||||
WithOwner(obj).
|
||||
WithSetID(a.name).
|
||||
ApplyObjects(objs...)
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/serviceaccount.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/core/v1/serviceaccount.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/core/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/core/v1"
|
||||
listers "k8s.io/client-go/listers/core/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type ServiceAccountHandler func(string, *v1.ServiceAccount) (*v1.ServiceAccount, error)
|
||||
|
||||
type ServiceAccountController interface {
|
||||
generic.ControllerMeta
|
||||
ServiceAccountClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync ServiceAccountHandler)
|
||||
OnRemove(ctx context.Context, name string, sync ServiceAccountHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() ServiceAccountCache
|
||||
}
|
||||
|
||||
type ServiceAccountClient interface {
|
||||
Create(*v1.ServiceAccount) (*v1.ServiceAccount, error)
|
||||
Update(*v1.ServiceAccount) (*v1.ServiceAccount, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.ServiceAccount, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.ServiceAccountList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ServiceAccount, err error)
|
||||
}
|
||||
|
||||
type ServiceAccountCache interface {
|
||||
Get(namespace, name string) (*v1.ServiceAccount, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.ServiceAccount, error)
|
||||
|
||||
AddIndexer(indexName string, indexer ServiceAccountIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.ServiceAccount, error)
|
||||
}
|
||||
|
||||
type ServiceAccountIndexer func(obj *v1.ServiceAccount) ([]string, error)
|
||||
|
||||
type serviceAccountController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.ServiceAccountsGetter
|
||||
informer informers.ServiceAccountInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewServiceAccountController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ServiceAccountsGetter, informer informers.ServiceAccountInformer) ServiceAccountController {
|
||||
return &serviceAccountController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromServiceAccountHandlerToHandler(sync ServiceAccountHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.ServiceAccount
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.ServiceAccount))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.ServiceAccount))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateServiceAccountDeepCopyOnChange(client ServiceAccountClient, obj *v1.ServiceAccount, handler func(obj *v1.ServiceAccount) (*v1.ServiceAccount, error)) (*v1.ServiceAccount, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) OnChange(ctx context.Context, name string, sync ServiceAccountHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromServiceAccountHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) OnRemove(ctx context.Context, name string, sync ServiceAccountHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromServiceAccountHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Cache() ServiceAccountCache {
|
||||
return &serviceAccountCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Create(obj *v1.ServiceAccount) (*v1.ServiceAccount, error) {
|
||||
return c.clientGetter.ServiceAccounts(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Update(obj *v1.ServiceAccount) (*v1.ServiceAccount, error) {
|
||||
return c.clientGetter.ServiceAccounts(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.ServiceAccounts(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Get(namespace, name string, options metav1.GetOptions) (*v1.ServiceAccount, error) {
|
||||
return c.clientGetter.ServiceAccounts(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) List(namespace string, opts metav1.ListOptions) (*v1.ServiceAccountList, error) {
|
||||
return c.clientGetter.ServiceAccounts(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.ServiceAccounts(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *serviceAccountController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ServiceAccount, err error) {
|
||||
return c.clientGetter.ServiceAccounts(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type serviceAccountCache struct {
|
||||
lister listers.ServiceAccountLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *serviceAccountCache) Get(namespace, name string) (*v1.ServiceAccount, error) {
|
||||
return c.lister.ServiceAccounts(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *serviceAccountCache) List(namespace string, selector labels.Selector) ([]*v1.ServiceAccount, error) {
|
||||
return c.lister.ServiceAccounts(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *serviceAccountCache) AddIndexer(indexName string, indexer ServiceAccountIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.ServiceAccount))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *serviceAccountCache) GetByIndex(indexName, key string) (result []*v1.ServiceAccount, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.ServiceAccount))
|
||||
}
|
||||
return result, nil
|
||||
}
|
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/factory.go
generated
vendored
Normal file
111
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/factory.go
generated
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package rbac
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
"github.com/rancher/wrangler/pkg/schemes"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
informers "k8s.io/client-go/informers"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
scheme "k8s.io/client-go/kubernetes/scheme"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func init() {
|
||||
scheme.AddToScheme(schemes.All)
|
||||
}
|
||||
|
||||
type Factory struct {
|
||||
synced bool
|
||||
informerFactory informers.SharedInformerFactory
|
||||
clientset clientset.Interface
|
||||
controllerManager *generic.ControllerManager
|
||||
threadiness map[schema.GroupVersionKind]int
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigOrDie(config *rest.Config) *Factory {
|
||||
f, err := NewFactoryFromConfig(config)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
func NewFactoryFromConfig(config *rest.Config) (*Factory, error) {
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactory(cs, 2*time.Hour)
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactoryFromConfigWithNamespace(config *rest.Config, namespace string) (*Factory, error) {
|
||||
if namespace == "" {
|
||||
return NewFactoryFromConfig(config)
|
||||
}
|
||||
|
||||
cs, err := clientset.NewForConfig(config)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
informerFactory := informers.NewSharedInformerFactoryWithOptions(cs, 2*time.Hour, informers.WithNamespace(namespace))
|
||||
return NewFactory(cs, informerFactory), nil
|
||||
}
|
||||
|
||||
func NewFactory(clientset clientset.Interface, informerFactory informers.SharedInformerFactory) *Factory {
|
||||
return &Factory{
|
||||
threadiness: map[schema.GroupVersionKind]int{},
|
||||
controllerManager: &generic.ControllerManager{},
|
||||
clientset: clientset,
|
||||
informerFactory: informerFactory,
|
||||
}
|
||||
}
|
||||
|
||||
func (c *Factory) Controllers() map[schema.GroupVersionKind]*generic.Controller {
|
||||
return c.controllerManager.Controllers()
|
||||
}
|
||||
|
||||
func (c *Factory) SetThreadiness(gvk schema.GroupVersionKind, threadiness int) {
|
||||
c.threadiness[gvk] = threadiness
|
||||
}
|
||||
|
||||
func (c *Factory) Sync(ctx context.Context) error {
|
||||
c.informerFactory.Start(ctx.Done())
|
||||
c.informerFactory.WaitForCacheSync(ctx.Done())
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Factory) Start(ctx context.Context, defaultThreadiness int) error {
|
||||
if err := c.Sync(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.controllerManager.Start(ctx, defaultThreadiness, c.threadiness)
|
||||
}
|
||||
|
||||
func (c *Factory) Rbac() Interface {
|
||||
return New(c.controllerManager, c.informerFactory.Rbac(), c.clientset)
|
||||
}
|
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/interface.go
generated
vendored
Normal file
50
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/interface.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package rbac
|
||||
|
||||
import (
|
||||
v1 "github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1"
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
informers "k8s.io/client-go/informers/rbac"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
V1() v1.Interface
|
||||
}
|
||||
|
||||
type group struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.Interface
|
||||
}
|
||||
|
||||
// New returns a new Interface.
|
||||
func New(controllerManager *generic.ControllerManager, informers informers.Interface,
|
||||
client clientset.Interface) Interface {
|
||||
return &group{
|
||||
controllerManager: controllerManager,
|
||||
informers: informers,
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
func (g *group) V1() v1.Interface {
|
||||
return v1.New(g.controllerManager, g.client.RbacV1(), g.informers.V1())
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/clusterrole.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/clusterrole.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/rbac/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/rbac/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/rbac/v1"
|
||||
listers "k8s.io/client-go/listers/rbac/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type ClusterRoleHandler func(string, *v1.ClusterRole) (*v1.ClusterRole, error)
|
||||
|
||||
type ClusterRoleController interface {
|
||||
generic.ControllerMeta
|
||||
ClusterRoleClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync ClusterRoleHandler)
|
||||
OnRemove(ctx context.Context, name string, sync ClusterRoleHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() ClusterRoleCache
|
||||
}
|
||||
|
||||
type ClusterRoleClient interface {
|
||||
Create(*v1.ClusterRole) (*v1.ClusterRole, error)
|
||||
Update(*v1.ClusterRole) (*v1.ClusterRole, error)
|
||||
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1.ClusterRole, error)
|
||||
List(opts metav1.ListOptions) (*v1.ClusterRoleList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRole, err error)
|
||||
}
|
||||
|
||||
type ClusterRoleCache interface {
|
||||
Get(name string) (*v1.ClusterRole, error)
|
||||
List(selector labels.Selector) ([]*v1.ClusterRole, error)
|
||||
|
||||
AddIndexer(indexName string, indexer ClusterRoleIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.ClusterRole, error)
|
||||
}
|
||||
|
||||
type ClusterRoleIndexer func(obj *v1.ClusterRole) ([]string, error)
|
||||
|
||||
type clusterRoleController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.ClusterRolesGetter
|
||||
informer informers.ClusterRoleInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewClusterRoleController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ClusterRolesGetter, informer informers.ClusterRoleInformer) ClusterRoleController {
|
||||
return &clusterRoleController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromClusterRoleHandlerToHandler(sync ClusterRoleHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.ClusterRole
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.ClusterRole))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.ClusterRole))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateClusterRoleDeepCopyOnChange(client ClusterRoleClient, obj *v1.ClusterRole, handler func(obj *v1.ClusterRole) (*v1.ClusterRole, error)) (*v1.ClusterRole, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) OnChange(ctx context.Context, name string, sync ClusterRoleHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromClusterRoleHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) OnRemove(ctx context.Context, name string, sync ClusterRoleHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromClusterRoleHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Cache() ClusterRoleCache {
|
||||
return &clusterRoleCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Create(obj *v1.ClusterRole) (*v1.ClusterRole, error) {
|
||||
return c.clientGetter.ClusterRoles().Create(obj)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Update(obj *v1.ClusterRole) (*v1.ClusterRole, error) {
|
||||
return c.clientGetter.ClusterRoles().Update(obj)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.ClusterRoles().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Get(name string, options metav1.GetOptions) (*v1.ClusterRole, error) {
|
||||
return c.clientGetter.ClusterRoles().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) List(opts metav1.ListOptions) (*v1.ClusterRoleList, error) {
|
||||
return c.clientGetter.ClusterRoles().List(opts)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.ClusterRoles().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *clusterRoleController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRole, err error) {
|
||||
return c.clientGetter.ClusterRoles().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type clusterRoleCache struct {
|
||||
lister listers.ClusterRoleLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *clusterRoleCache) Get(name string) (*v1.ClusterRole, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *clusterRoleCache) List(selector labels.Selector) ([]*v1.ClusterRole, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *clusterRoleCache) AddIndexer(indexName string, indexer ClusterRoleIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.ClusterRole))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *clusterRoleCache) GetByIndex(indexName, key string) (result []*v1.ClusterRole, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.ClusterRole))
|
||||
}
|
||||
return result, nil
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/clusterrolebinding.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/clusterrolebinding.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/rbac/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/rbac/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/rbac/v1"
|
||||
listers "k8s.io/client-go/listers/rbac/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type ClusterRoleBindingHandler func(string, *v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error)
|
||||
|
||||
type ClusterRoleBindingController interface {
|
||||
generic.ControllerMeta
|
||||
ClusterRoleBindingClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync ClusterRoleBindingHandler)
|
||||
OnRemove(ctx context.Context, name string, sync ClusterRoleBindingHandler)
|
||||
Enqueue(name string)
|
||||
EnqueueAfter(name string, duration time.Duration)
|
||||
|
||||
Cache() ClusterRoleBindingCache
|
||||
}
|
||||
|
||||
type ClusterRoleBindingClient interface {
|
||||
Create(*v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error)
|
||||
Update(*v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error)
|
||||
|
||||
Delete(name string, options *metav1.DeleteOptions) error
|
||||
Get(name string, options metav1.GetOptions) (*v1.ClusterRoleBinding, error)
|
||||
List(opts metav1.ListOptions) (*v1.ClusterRoleBindingList, error)
|
||||
Watch(opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRoleBinding, err error)
|
||||
}
|
||||
|
||||
type ClusterRoleBindingCache interface {
|
||||
Get(name string) (*v1.ClusterRoleBinding, error)
|
||||
List(selector labels.Selector) ([]*v1.ClusterRoleBinding, error)
|
||||
|
||||
AddIndexer(indexName string, indexer ClusterRoleBindingIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.ClusterRoleBinding, error)
|
||||
}
|
||||
|
||||
type ClusterRoleBindingIndexer func(obj *v1.ClusterRoleBinding) ([]string, error)
|
||||
|
||||
type clusterRoleBindingController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.ClusterRoleBindingsGetter
|
||||
informer informers.ClusterRoleBindingInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewClusterRoleBindingController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.ClusterRoleBindingsGetter, informer informers.ClusterRoleBindingInformer) ClusterRoleBindingController {
|
||||
return &clusterRoleBindingController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromClusterRoleBindingHandlerToHandler(sync ClusterRoleBindingHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.ClusterRoleBinding
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.ClusterRoleBinding))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.ClusterRoleBinding))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateClusterRoleBindingDeepCopyOnChange(client ClusterRoleBindingClient, obj *v1.ClusterRoleBinding, handler func(obj *v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error)) (*v1.ClusterRoleBinding, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) OnChange(ctx context.Context, name string, sync ClusterRoleBindingHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromClusterRoleBindingHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) OnRemove(ctx context.Context, name string, sync ClusterRoleBindingHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromClusterRoleBindingHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Enqueue(name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), "", name)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) EnqueueAfter(name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), "", name, duration)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Cache() ClusterRoleBindingCache {
|
||||
return &clusterRoleBindingCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Create(obj *v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error) {
|
||||
return c.clientGetter.ClusterRoleBindings().Create(obj)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Update(obj *v1.ClusterRoleBinding) (*v1.ClusterRoleBinding, error) {
|
||||
return c.clientGetter.ClusterRoleBindings().Update(obj)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Delete(name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.ClusterRoleBindings().Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Get(name string, options metav1.GetOptions) (*v1.ClusterRoleBinding, error) {
|
||||
return c.clientGetter.ClusterRoleBindings().Get(name, options)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) List(opts metav1.ListOptions) (*v1.ClusterRoleBindingList, error) {
|
||||
return c.clientGetter.ClusterRoleBindings().List(opts)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Watch(opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.ClusterRoleBindings().Watch(opts)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingController) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.ClusterRoleBinding, err error) {
|
||||
return c.clientGetter.ClusterRoleBindings().Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type clusterRoleBindingCache struct {
|
||||
lister listers.ClusterRoleBindingLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingCache) Get(name string) (*v1.ClusterRoleBinding, error) {
|
||||
return c.lister.Get(name)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingCache) List(selector labels.Selector) ([]*v1.ClusterRoleBinding, error) {
|
||||
return c.lister.List(selector)
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingCache) AddIndexer(indexName string, indexer ClusterRoleBindingIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.ClusterRoleBinding))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *clusterRoleBindingCache) GetByIndex(indexName, key string) (result []*v1.ClusterRoleBinding, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.ClusterRoleBinding))
|
||||
}
|
||||
return result, nil
|
||||
}
|
61
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/interface.go
generated
vendored
Normal file
61
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/interface.go
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/rbac/v1"
|
||||
informers "k8s.io/client-go/informers/rbac/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/rbac/v1"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
ClusterRole() ClusterRoleController
|
||||
ClusterRoleBinding() ClusterRoleBindingController
|
||||
Role() RoleController
|
||||
RoleBinding() RoleBindingController
|
||||
}
|
||||
|
||||
func New(controllerManager *generic.ControllerManager, client clientset.RbacV1Interface,
|
||||
informers informers.Interface) Interface {
|
||||
return &version{
|
||||
controllerManager: controllerManager,
|
||||
client: client,
|
||||
informers: informers,
|
||||
}
|
||||
}
|
||||
|
||||
type version struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
informers informers.Interface
|
||||
client clientset.RbacV1Interface
|
||||
}
|
||||
|
||||
func (c *version) ClusterRole() ClusterRoleController {
|
||||
return NewClusterRoleController(v1.SchemeGroupVersion.WithKind("ClusterRole"), c.controllerManager, c.client, c.informers.ClusterRoles())
|
||||
}
|
||||
func (c *version) ClusterRoleBinding() ClusterRoleBindingController {
|
||||
return NewClusterRoleBindingController(v1.SchemeGroupVersion.WithKind("ClusterRoleBinding"), c.controllerManager, c.client, c.informers.ClusterRoleBindings())
|
||||
}
|
||||
func (c *version) Role() RoleController {
|
||||
return NewRoleController(v1.SchemeGroupVersion.WithKind("Role"), c.controllerManager, c.client, c.informers.Roles())
|
||||
}
|
||||
func (c *version) RoleBinding() RoleBindingController {
|
||||
return NewRoleBindingController(v1.SchemeGroupVersion.WithKind("RoleBinding"), c.controllerManager, c.client, c.informers.RoleBindings())
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/role.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/role.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/rbac/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/rbac/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/rbac/v1"
|
||||
listers "k8s.io/client-go/listers/rbac/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type RoleHandler func(string, *v1.Role) (*v1.Role, error)
|
||||
|
||||
type RoleController interface {
|
||||
generic.ControllerMeta
|
||||
RoleClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync RoleHandler)
|
||||
OnRemove(ctx context.Context, name string, sync RoleHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() RoleCache
|
||||
}
|
||||
|
||||
type RoleClient interface {
|
||||
Create(*v1.Role) (*v1.Role, error)
|
||||
Update(*v1.Role) (*v1.Role, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.Role, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.RoleList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Role, err error)
|
||||
}
|
||||
|
||||
type RoleCache interface {
|
||||
Get(namespace, name string) (*v1.Role, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.Role, error)
|
||||
|
||||
AddIndexer(indexName string, indexer RoleIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.Role, error)
|
||||
}
|
||||
|
||||
type RoleIndexer func(obj *v1.Role) ([]string, error)
|
||||
|
||||
type roleController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.RolesGetter
|
||||
informer informers.RoleInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewRoleController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.RolesGetter, informer informers.RoleInformer) RoleController {
|
||||
return &roleController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromRoleHandlerToHandler(sync RoleHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.Role
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.Role))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *roleController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.Role))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateRoleDeepCopyOnChange(client RoleClient, obj *v1.Role, handler func(obj *v1.Role) (*v1.Role, error)) (*v1.Role, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *roleController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *roleController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *roleController) OnChange(ctx context.Context, name string, sync RoleHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromRoleHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *roleController) OnRemove(ctx context.Context, name string, sync RoleHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromRoleHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *roleController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *roleController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *roleController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *roleController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *roleController) Cache() RoleCache {
|
||||
return &roleCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *roleController) Create(obj *v1.Role) (*v1.Role, error) {
|
||||
return c.clientGetter.Roles(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *roleController) Update(obj *v1.Role) (*v1.Role, error) {
|
||||
return c.clientGetter.Roles(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *roleController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.Roles(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *roleController) Get(namespace, name string, options metav1.GetOptions) (*v1.Role, error) {
|
||||
return c.clientGetter.Roles(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *roleController) List(namespace string, opts metav1.ListOptions) (*v1.RoleList, error) {
|
||||
return c.clientGetter.Roles(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *roleController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.Roles(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *roleController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.Role, err error) {
|
||||
return c.clientGetter.Roles(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type roleCache struct {
|
||||
lister listers.RoleLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *roleCache) Get(namespace, name string) (*v1.Role, error) {
|
||||
return c.lister.Roles(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *roleCache) List(namespace string, selector labels.Selector) ([]*v1.Role, error) {
|
||||
return c.lister.Roles(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *roleCache) AddIndexer(indexName string, indexer RoleIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.Role))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *roleCache) GetByIndex(indexName, key string) (result []*v1.Role, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.Role))
|
||||
}
|
||||
return result, nil
|
||||
}
|
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/rolebinding.go
generated
vendored
Normal file
233
vendor/github.com/rancher/wrangler-api/pkg/generated/controllers/rbac/v1/rolebinding.go
generated
vendored
Normal file
@@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Code generated by main. DO NOT EDIT.
|
||||
|
||||
package v1
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rancher/wrangler/pkg/generic"
|
||||
v1 "k8s.io/api/rbac/v1"
|
||||
"k8s.io/apimachinery/pkg/api/equality"
|
||||
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/types"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/watch"
|
||||
informers "k8s.io/client-go/informers/rbac/v1"
|
||||
clientset "k8s.io/client-go/kubernetes/typed/rbac/v1"
|
||||
listers "k8s.io/client-go/listers/rbac/v1"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
)
|
||||
|
||||
type RoleBindingHandler func(string, *v1.RoleBinding) (*v1.RoleBinding, error)
|
||||
|
||||
type RoleBindingController interface {
|
||||
generic.ControllerMeta
|
||||
RoleBindingClient
|
||||
|
||||
OnChange(ctx context.Context, name string, sync RoleBindingHandler)
|
||||
OnRemove(ctx context.Context, name string, sync RoleBindingHandler)
|
||||
Enqueue(namespace, name string)
|
||||
EnqueueAfter(namespace, name string, duration time.Duration)
|
||||
|
||||
Cache() RoleBindingCache
|
||||
}
|
||||
|
||||
type RoleBindingClient interface {
|
||||
Create(*v1.RoleBinding) (*v1.RoleBinding, error)
|
||||
Update(*v1.RoleBinding) (*v1.RoleBinding, error)
|
||||
|
||||
Delete(namespace, name string, options *metav1.DeleteOptions) error
|
||||
Get(namespace, name string, options metav1.GetOptions) (*v1.RoleBinding, error)
|
||||
List(namespace string, opts metav1.ListOptions) (*v1.RoleBindingList, error)
|
||||
Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error)
|
||||
Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error)
|
||||
}
|
||||
|
||||
type RoleBindingCache interface {
|
||||
Get(namespace, name string) (*v1.RoleBinding, error)
|
||||
List(namespace string, selector labels.Selector) ([]*v1.RoleBinding, error)
|
||||
|
||||
AddIndexer(indexName string, indexer RoleBindingIndexer)
|
||||
GetByIndex(indexName, key string) ([]*v1.RoleBinding, error)
|
||||
}
|
||||
|
||||
type RoleBindingIndexer func(obj *v1.RoleBinding) ([]string, error)
|
||||
|
||||
type roleBindingController struct {
|
||||
controllerManager *generic.ControllerManager
|
||||
clientGetter clientset.RoleBindingsGetter
|
||||
informer informers.RoleBindingInformer
|
||||
gvk schema.GroupVersionKind
|
||||
}
|
||||
|
||||
func NewRoleBindingController(gvk schema.GroupVersionKind, controllerManager *generic.ControllerManager, clientGetter clientset.RoleBindingsGetter, informer informers.RoleBindingInformer) RoleBindingController {
|
||||
return &roleBindingController{
|
||||
controllerManager: controllerManager,
|
||||
clientGetter: clientGetter,
|
||||
informer: informer,
|
||||
gvk: gvk,
|
||||
}
|
||||
}
|
||||
|
||||
func FromRoleBindingHandlerToHandler(sync RoleBindingHandler) generic.Handler {
|
||||
return func(key string, obj runtime.Object) (ret runtime.Object, err error) {
|
||||
var v *v1.RoleBinding
|
||||
if obj == nil {
|
||||
v, err = sync(key, nil)
|
||||
} else {
|
||||
v, err = sync(key, obj.(*v1.RoleBinding))
|
||||
}
|
||||
if v == nil {
|
||||
return nil, err
|
||||
}
|
||||
return v, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Updater() generic.Updater {
|
||||
return func(obj runtime.Object) (runtime.Object, error) {
|
||||
newObj, err := c.Update(obj.(*v1.RoleBinding))
|
||||
if newObj == nil {
|
||||
return nil, err
|
||||
}
|
||||
return newObj, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateRoleBindingDeepCopyOnChange(client RoleBindingClient, obj *v1.RoleBinding, handler func(obj *v1.RoleBinding) (*v1.RoleBinding, error)) (*v1.RoleBinding, error) {
|
||||
if obj == nil {
|
||||
return obj, nil
|
||||
}
|
||||
|
||||
copyObj := obj.DeepCopy()
|
||||
newObj, err := handler(copyObj)
|
||||
if newObj != nil {
|
||||
copyObj = newObj
|
||||
}
|
||||
if obj.ResourceVersion == copyObj.ResourceVersion && !equality.Semantic.DeepEqual(obj, copyObj) {
|
||||
return client.Update(copyObj)
|
||||
}
|
||||
|
||||
return copyObj, err
|
||||
}
|
||||
|
||||
func (c *roleBindingController) AddGenericHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, handler)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) AddGenericRemoveHandler(ctx context.Context, name string, handler generic.Handler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), handler)
|
||||
c.controllerManager.AddHandler(ctx, c.gvk, c.informer.Informer(), name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) OnChange(ctx context.Context, name string, sync RoleBindingHandler) {
|
||||
c.AddGenericHandler(ctx, name, FromRoleBindingHandlerToHandler(sync))
|
||||
}
|
||||
|
||||
func (c *roleBindingController) OnRemove(ctx context.Context, name string, sync RoleBindingHandler) {
|
||||
removeHandler := generic.NewRemoveHandler(name, c.Updater(), FromRoleBindingHandlerToHandler(sync))
|
||||
c.AddGenericHandler(ctx, name, removeHandler)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Enqueue(namespace, name string) {
|
||||
c.controllerManager.Enqueue(c.gvk, c.informer.Informer(), namespace, name)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) EnqueueAfter(namespace, name string, duration time.Duration) {
|
||||
c.controllerManager.EnqueueAfter(c.gvk, c.informer.Informer(), namespace, name, duration)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Informer() cache.SharedIndexInformer {
|
||||
return c.informer.Informer()
|
||||
}
|
||||
|
||||
func (c *roleBindingController) GroupVersionKind() schema.GroupVersionKind {
|
||||
return c.gvk
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Cache() RoleBindingCache {
|
||||
return &roleBindingCache{
|
||||
lister: c.informer.Lister(),
|
||||
indexer: c.informer.Informer().GetIndexer(),
|
||||
}
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Create(obj *v1.RoleBinding) (*v1.RoleBinding, error) {
|
||||
return c.clientGetter.RoleBindings(obj.Namespace).Create(obj)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Update(obj *v1.RoleBinding) (*v1.RoleBinding, error) {
|
||||
return c.clientGetter.RoleBindings(obj.Namespace).Update(obj)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Delete(namespace, name string, options *metav1.DeleteOptions) error {
|
||||
return c.clientGetter.RoleBindings(namespace).Delete(name, options)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Get(namespace, name string, options metav1.GetOptions) (*v1.RoleBinding, error) {
|
||||
return c.clientGetter.RoleBindings(namespace).Get(name, options)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) List(namespace string, opts metav1.ListOptions) (*v1.RoleBindingList, error) {
|
||||
return c.clientGetter.RoleBindings(namespace).List(opts)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Watch(namespace string, opts metav1.ListOptions) (watch.Interface, error) {
|
||||
return c.clientGetter.RoleBindings(namespace).Watch(opts)
|
||||
}
|
||||
|
||||
func (c *roleBindingController) Patch(namespace, name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error) {
|
||||
return c.clientGetter.RoleBindings(namespace).Patch(name, pt, data, subresources...)
|
||||
}
|
||||
|
||||
type roleBindingCache struct {
|
||||
lister listers.RoleBindingLister
|
||||
indexer cache.Indexer
|
||||
}
|
||||
|
||||
func (c *roleBindingCache) Get(namespace, name string) (*v1.RoleBinding, error) {
|
||||
return c.lister.RoleBindings(namespace).Get(name)
|
||||
}
|
||||
|
||||
func (c *roleBindingCache) List(namespace string, selector labels.Selector) ([]*v1.RoleBinding, error) {
|
||||
return c.lister.RoleBindings(namespace).List(selector)
|
||||
}
|
||||
|
||||
func (c *roleBindingCache) AddIndexer(indexName string, indexer RoleBindingIndexer) {
|
||||
utilruntime.Must(c.indexer.AddIndexers(map[string]cache.IndexFunc{
|
||||
indexName: func(obj interface{}) (strings []string, e error) {
|
||||
return indexer(obj.(*v1.RoleBinding))
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
func (c *roleBindingCache) GetByIndex(indexName, key string) (result []*v1.RoleBinding, err error) {
|
||||
objs, err := c.indexer.ByIndex(indexName, key)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, obj := range objs {
|
||||
result = append(result, obj.(*v1.RoleBinding))
|
||||
}
|
||||
return result, nil
|
||||
}
|
Reference in New Issue
Block a user