blob: c87e457188ef80f12b4fdb2220a3963dbdf1e6b8 [file] [log] [blame]
Zack Williamse940c7a2019-08-21 14:25:39 -07001/*
2Copyright The Kubernetes Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17// Code generated by client-gen. DO NOT EDIT.
18
19package v1
20
21import (
22 "time"
23
24 v1 "k8s.io/api/rbac/v1"
25 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26 types "k8s.io/apimachinery/pkg/types"
27 watch "k8s.io/apimachinery/pkg/watch"
28 scheme "k8s.io/client-go/kubernetes/scheme"
29 rest "k8s.io/client-go/rest"
30)
31
32// RoleBindingsGetter has a method to return a RoleBindingInterface.
33// A group's client should implement this interface.
34type RoleBindingsGetter interface {
35 RoleBindings(namespace string) RoleBindingInterface
36}
37
38// RoleBindingInterface has methods to work with RoleBinding resources.
39type RoleBindingInterface interface {
40 Create(*v1.RoleBinding) (*v1.RoleBinding, error)
41 Update(*v1.RoleBinding) (*v1.RoleBinding, error)
42 Delete(name string, options *metav1.DeleteOptions) error
43 DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error
44 Get(name string, options metav1.GetOptions) (*v1.RoleBinding, error)
45 List(opts metav1.ListOptions) (*v1.RoleBindingList, error)
46 Watch(opts metav1.ListOptions) (watch.Interface, error)
47 Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error)
48 RoleBindingExpansion
49}
50
51// roleBindings implements RoleBindingInterface
52type roleBindings struct {
53 client rest.Interface
54 ns string
55}
56
57// newRoleBindings returns a RoleBindings
58func newRoleBindings(c *RbacV1Client, namespace string) *roleBindings {
59 return &roleBindings{
60 client: c.RESTClient(),
61 ns: namespace,
62 }
63}
64
65// Get takes name of the roleBinding, and returns the corresponding roleBinding object, and an error if there is any.
66func (c *roleBindings) Get(name string, options metav1.GetOptions) (result *v1.RoleBinding, err error) {
67 result = &v1.RoleBinding{}
68 err = c.client.Get().
69 Namespace(c.ns).
70 Resource("rolebindings").
71 Name(name).
72 VersionedParams(&options, scheme.ParameterCodec).
73 Do().
74 Into(result)
75 return
76}
77
78// List takes label and field selectors, and returns the list of RoleBindings that match those selectors.
79func (c *roleBindings) List(opts metav1.ListOptions) (result *v1.RoleBindingList, err error) {
80 var timeout time.Duration
81 if opts.TimeoutSeconds != nil {
82 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
83 }
84 result = &v1.RoleBindingList{}
85 err = c.client.Get().
86 Namespace(c.ns).
87 Resource("rolebindings").
88 VersionedParams(&opts, scheme.ParameterCodec).
89 Timeout(timeout).
90 Do().
91 Into(result)
92 return
93}
94
95// Watch returns a watch.Interface that watches the requested roleBindings.
96func (c *roleBindings) Watch(opts metav1.ListOptions) (watch.Interface, error) {
97 var timeout time.Duration
98 if opts.TimeoutSeconds != nil {
99 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
100 }
101 opts.Watch = true
102 return c.client.Get().
103 Namespace(c.ns).
104 Resource("rolebindings").
105 VersionedParams(&opts, scheme.ParameterCodec).
106 Timeout(timeout).
107 Watch()
108}
109
110// Create takes the representation of a roleBinding and creates it. Returns the server's representation of the roleBinding, and an error, if there is any.
111func (c *roleBindings) Create(roleBinding *v1.RoleBinding) (result *v1.RoleBinding, err error) {
112 result = &v1.RoleBinding{}
113 err = c.client.Post().
114 Namespace(c.ns).
115 Resource("rolebindings").
116 Body(roleBinding).
117 Do().
118 Into(result)
119 return
120}
121
122// Update takes the representation of a roleBinding and updates it. Returns the server's representation of the roleBinding, and an error, if there is any.
123func (c *roleBindings) Update(roleBinding *v1.RoleBinding) (result *v1.RoleBinding, err error) {
124 result = &v1.RoleBinding{}
125 err = c.client.Put().
126 Namespace(c.ns).
127 Resource("rolebindings").
128 Name(roleBinding.Name).
129 Body(roleBinding).
130 Do().
131 Into(result)
132 return
133}
134
135// Delete takes name of the roleBinding and deletes it. Returns an error if one occurs.
136func (c *roleBindings) Delete(name string, options *metav1.DeleteOptions) error {
137 return c.client.Delete().
138 Namespace(c.ns).
139 Resource("rolebindings").
140 Name(name).
141 Body(options).
142 Do().
143 Error()
144}
145
146// DeleteCollection deletes a collection of objects.
147func (c *roleBindings) DeleteCollection(options *metav1.DeleteOptions, listOptions metav1.ListOptions) error {
148 var timeout time.Duration
149 if listOptions.TimeoutSeconds != nil {
150 timeout = time.Duration(*listOptions.TimeoutSeconds) * time.Second
151 }
152 return c.client.Delete().
153 Namespace(c.ns).
154 Resource("rolebindings").
155 VersionedParams(&listOptions, scheme.ParameterCodec).
156 Timeout(timeout).
157 Body(options).
158 Do().
159 Error()
160}
161
162// Patch applies the patch and returns the patched roleBinding.
163func (c *roleBindings) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1.RoleBinding, err error) {
164 result = &v1.RoleBinding{}
165 err = c.client.Patch(pt).
166 Namespace(c.ns).
167 Resource("rolebindings").
168 SubResource(subresources...).
169 Name(name).
170 Body(data).
171 Do().
172 Into(result)
173 return
174}