k8s.io/client-go@v0.22.2/kubernetes/typed/rbac/v1beta1/role.go (about) 1 /* 2 Copyright The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 // Code generated by client-gen. DO NOT EDIT. 18 19 package v1beta1 20 21 import ( 22 "context" 23 json "encoding/json" 24 "fmt" 25 "time" 26 27 v1beta1 "k8s.io/api/rbac/v1beta1" 28 v1 "k8s.io/apimachinery/pkg/apis/meta/v1" 29 types "k8s.io/apimachinery/pkg/types" 30 watch "k8s.io/apimachinery/pkg/watch" 31 rbacv1beta1 "k8s.io/client-go/applyconfigurations/rbac/v1beta1" 32 scheme "k8s.io/client-go/kubernetes/scheme" 33 rest "k8s.io/client-go/rest" 34 ) 35 36 // RolesGetter has a method to return a RoleInterface. 37 // A group's client should implement this interface. 38 type RolesGetter interface { 39 Roles(namespace string) RoleInterface 40 } 41 42 // RoleInterface has methods to work with Role resources. 43 type RoleInterface interface { 44 Create(ctx context.Context, role *v1beta1.Role, opts v1.CreateOptions) (*v1beta1.Role, error) 45 Update(ctx context.Context, role *v1beta1.Role, opts v1.UpdateOptions) (*v1beta1.Role, error) 46 Delete(ctx context.Context, name string, opts v1.DeleteOptions) error 47 DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error 48 Get(ctx context.Context, name string, opts v1.GetOptions) (*v1beta1.Role, error) 49 List(ctx context.Context, opts v1.ListOptions) (*v1beta1.RoleList, error) 50 Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) 51 Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Role, err error) 52 Apply(ctx context.Context, role *rbacv1beta1.RoleApplyConfiguration, opts v1.ApplyOptions) (result *v1beta1.Role, err error) 53 RoleExpansion 54 } 55 56 // roles implements RoleInterface 57 type roles struct { 58 client rest.Interface 59 ns string 60 } 61 62 // newRoles returns a Roles 63 func newRoles(c *RbacV1beta1Client, namespace string) *roles { 64 return &roles{ 65 client: c.RESTClient(), 66 ns: namespace, 67 } 68 } 69 70 // Get takes name of the role, and returns the corresponding role object, and an error if there is any. 71 func (c *roles) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.Role, err error) { 72 result = &v1beta1.Role{} 73 err = c.client.Get(). 74 Namespace(c.ns). 75 Resource("roles"). 76 Name(name). 77 VersionedParams(&options, scheme.ParameterCodec). 78 Do(ctx). 79 Into(result) 80 return 81 } 82 83 // List takes label and field selectors, and returns the list of Roles that match those selectors. 84 func (c *roles) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.RoleList, err error) { 85 var timeout time.Duration 86 if opts.TimeoutSeconds != nil { 87 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second 88 } 89 result = &v1beta1.RoleList{} 90 err = c.client.Get(). 91 Namespace(c.ns). 92 Resource("roles"). 93 VersionedParams(&opts, scheme.ParameterCodec). 94 Timeout(timeout). 95 Do(ctx). 96 Into(result) 97 return 98 } 99 100 // Watch returns a watch.Interface that watches the requested roles. 101 func (c *roles) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { 102 var timeout time.Duration 103 if opts.TimeoutSeconds != nil { 104 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second 105 } 106 opts.Watch = true 107 return c.client.Get(). 108 Namespace(c.ns). 109 Resource("roles"). 110 VersionedParams(&opts, scheme.ParameterCodec). 111 Timeout(timeout). 112 Watch(ctx) 113 } 114 115 // Create takes the representation of a role and creates it. Returns the server's representation of the role, and an error, if there is any. 116 func (c *roles) Create(ctx context.Context, role *v1beta1.Role, opts v1.CreateOptions) (result *v1beta1.Role, err error) { 117 result = &v1beta1.Role{} 118 err = c.client.Post(). 119 Namespace(c.ns). 120 Resource("roles"). 121 VersionedParams(&opts, scheme.ParameterCodec). 122 Body(role). 123 Do(ctx). 124 Into(result) 125 return 126 } 127 128 // Update takes the representation of a role and updates it. Returns the server's representation of the role, and an error, if there is any. 129 func (c *roles) Update(ctx context.Context, role *v1beta1.Role, opts v1.UpdateOptions) (result *v1beta1.Role, err error) { 130 result = &v1beta1.Role{} 131 err = c.client.Put(). 132 Namespace(c.ns). 133 Resource("roles"). 134 Name(role.Name). 135 VersionedParams(&opts, scheme.ParameterCodec). 136 Body(role). 137 Do(ctx). 138 Into(result) 139 return 140 } 141 142 // Delete takes name of the role and deletes it. Returns an error if one occurs. 143 func (c *roles) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { 144 return c.client.Delete(). 145 Namespace(c.ns). 146 Resource("roles"). 147 Name(name). 148 Body(&opts). 149 Do(ctx). 150 Error() 151 } 152 153 // DeleteCollection deletes a collection of objects. 154 func (c *roles) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { 155 var timeout time.Duration 156 if listOpts.TimeoutSeconds != nil { 157 timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second 158 } 159 return c.client.Delete(). 160 Namespace(c.ns). 161 Resource("roles"). 162 VersionedParams(&listOpts, scheme.ParameterCodec). 163 Timeout(timeout). 164 Body(&opts). 165 Do(ctx). 166 Error() 167 } 168 169 // Patch applies the patch and returns the patched role. 170 func (c *roles) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.Role, err error) { 171 result = &v1beta1.Role{} 172 err = c.client.Patch(pt). 173 Namespace(c.ns). 174 Resource("roles"). 175 Name(name). 176 SubResource(subresources...). 177 VersionedParams(&opts, scheme.ParameterCodec). 178 Body(data). 179 Do(ctx). 180 Into(result) 181 return 182 } 183 184 // Apply takes the given apply declarative configuration, applies it and returns the applied role. 185 func (c *roles) Apply(ctx context.Context, role *rbacv1beta1.RoleApplyConfiguration, opts v1.ApplyOptions) (result *v1beta1.Role, err error) { 186 if role == nil { 187 return nil, fmt.Errorf("role provided to Apply must not be nil") 188 } 189 patchOpts := opts.ToPatchOptions() 190 data, err := json.Marshal(role) 191 if err != nil { 192 return nil, err 193 } 194 name := role.Name 195 if name == nil { 196 return nil, fmt.Errorf("role.Name must be provided to Apply") 197 } 198 result = &v1beta1.Role{} 199 err = c.client.Patch(types.ApplyPatchType). 200 Namespace(c.ns). 201 Resource("roles"). 202 Name(*name). 203 VersionedParams(&patchOpts, scheme.ParameterCodec). 204 Body(data). 205 Do(ctx). 206 Into(result) 207 return 208 }