1
16
17
18
19 package v1beta1
20
21 import (
22 "context"
23 json "encoding/json"
24 "fmt"
25 "time"
26
27 v1beta1 "k8s.io/api/node/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 nodev1beta1 "k8s.io/client-go/applyconfigurations/node/v1beta1"
32 scheme "k8s.io/client-go/kubernetes/scheme"
33 rest "k8s.io/client-go/rest"
34 )
35
36
37
38 type RuntimeClassesGetter interface {
39 RuntimeClasses() RuntimeClassInterface
40 }
41
42
43 type RuntimeClassInterface interface {
44 Create(ctx context.Context, runtimeClass *v1beta1.RuntimeClass, opts v1.CreateOptions) (*v1beta1.RuntimeClass, error)
45 Update(ctx context.Context, runtimeClass *v1beta1.RuntimeClass, opts v1.UpdateOptions) (*v1beta1.RuntimeClass, 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.RuntimeClass, error)
49 List(ctx context.Context, opts v1.ListOptions) (*v1beta1.RuntimeClassList, 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.RuntimeClass, err error)
52 Apply(ctx context.Context, runtimeClass *nodev1beta1.RuntimeClassApplyConfiguration, opts v1.ApplyOptions) (result *v1beta1.RuntimeClass, err error)
53 RuntimeClassExpansion
54 }
55
56
57 type runtimeClasses struct {
58 client rest.Interface
59 }
60
61
62 func newRuntimeClasses(c *NodeV1beta1Client) *runtimeClasses {
63 return &runtimeClasses{
64 client: c.RESTClient(),
65 }
66 }
67
68
69 func (c *runtimeClasses) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1beta1.RuntimeClass, err error) {
70 result = &v1beta1.RuntimeClass{}
71 err = c.client.Get().
72 Resource("runtimeclasses").
73 Name(name).
74 VersionedParams(&options, scheme.ParameterCodec).
75 Do(ctx).
76 Into(result)
77 return
78 }
79
80
81 func (c *runtimeClasses) List(ctx context.Context, opts v1.ListOptions) (result *v1beta1.RuntimeClassList, err error) {
82 var timeout time.Duration
83 if opts.TimeoutSeconds != nil {
84 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
85 }
86 result = &v1beta1.RuntimeClassList{}
87 err = c.client.Get().
88 Resource("runtimeclasses").
89 VersionedParams(&opts, scheme.ParameterCodec).
90 Timeout(timeout).
91 Do(ctx).
92 Into(result)
93 return
94 }
95
96
97 func (c *runtimeClasses) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
98 var timeout time.Duration
99 if opts.TimeoutSeconds != nil {
100 timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
101 }
102 opts.Watch = true
103 return c.client.Get().
104 Resource("runtimeclasses").
105 VersionedParams(&opts, scheme.ParameterCodec).
106 Timeout(timeout).
107 Watch(ctx)
108 }
109
110
111 func (c *runtimeClasses) Create(ctx context.Context, runtimeClass *v1beta1.RuntimeClass, opts v1.CreateOptions) (result *v1beta1.RuntimeClass, err error) {
112 result = &v1beta1.RuntimeClass{}
113 err = c.client.Post().
114 Resource("runtimeclasses").
115 VersionedParams(&opts, scheme.ParameterCodec).
116 Body(runtimeClass).
117 Do(ctx).
118 Into(result)
119 return
120 }
121
122
123 func (c *runtimeClasses) Update(ctx context.Context, runtimeClass *v1beta1.RuntimeClass, opts v1.UpdateOptions) (result *v1beta1.RuntimeClass, err error) {
124 result = &v1beta1.RuntimeClass{}
125 err = c.client.Put().
126 Resource("runtimeclasses").
127 Name(runtimeClass.Name).
128 VersionedParams(&opts, scheme.ParameterCodec).
129 Body(runtimeClass).
130 Do(ctx).
131 Into(result)
132 return
133 }
134
135
136 func (c *runtimeClasses) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
137 return c.client.Delete().
138 Resource("runtimeclasses").
139 Name(name).
140 Body(&opts).
141 Do(ctx).
142 Error()
143 }
144
145
146 func (c *runtimeClasses) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
147 var timeout time.Duration
148 if listOpts.TimeoutSeconds != nil {
149 timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
150 }
151 return c.client.Delete().
152 Resource("runtimeclasses").
153 VersionedParams(&listOpts, scheme.ParameterCodec).
154 Timeout(timeout).
155 Body(&opts).
156 Do(ctx).
157 Error()
158 }
159
160
161 func (c *runtimeClasses) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1beta1.RuntimeClass, err error) {
162 result = &v1beta1.RuntimeClass{}
163 err = c.client.Patch(pt).
164 Resource("runtimeclasses").
165 Name(name).
166 SubResource(subresources...).
167 VersionedParams(&opts, scheme.ParameterCodec).
168 Body(data).
169 Do(ctx).
170 Into(result)
171 return
172 }
173
174
175 func (c *runtimeClasses) Apply(ctx context.Context, runtimeClass *nodev1beta1.RuntimeClassApplyConfiguration, opts v1.ApplyOptions) (result *v1beta1.RuntimeClass, err error) {
176 if runtimeClass == nil {
177 return nil, fmt.Errorf("runtimeClass provided to Apply must not be nil")
178 }
179 patchOpts := opts.ToPatchOptions()
180 data, err := json.Marshal(runtimeClass)
181 if err != nil {
182 return nil, err
183 }
184 name := runtimeClass.Name
185 if name == nil {
186 return nil, fmt.Errorf("runtimeClass.Name must be provided to Apply")
187 }
188 result = &v1beta1.RuntimeClass{}
189 err = c.client.Patch(types.ApplyPatchType).
190 Resource("runtimeclasses").
191 Name(*name).
192 VersionedParams(&patchOpts, scheme.ParameterCodec).
193 Body(data).
194 Do(ctx).
195 Into(result)
196 return
197 }
198
View as plain text