1 package features
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/tracing"
14 "net/http"
15 )
16
17
18
19
20
21 type Client struct {
22 BaseClient
23 }
24
25
26 func NewClient(subscriptionID string) Client {
27 return NewClientWithBaseURI(DefaultBaseURI, subscriptionID)
28 }
29
30
31
32 func NewClientWithBaseURI(baseURI string, subscriptionID string) Client {
33 return Client{NewWithBaseURI(baseURI, subscriptionID)}
34 }
35
36
37
38
39
40 func (client Client) Get(ctx context.Context, resourceProviderNamespace string, featureName string) (result Result, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Get")
43 defer func() {
44 sc := -1
45 if result.Response.Response != nil {
46 sc = result.Response.Response.StatusCode
47 }
48 tracing.EndSpan(ctx, sc, err)
49 }()
50 }
51 req, err := client.GetPreparer(ctx, resourceProviderNamespace, featureName)
52 if err != nil {
53 err = autorest.NewErrorWithError(err, "features.Client", "Get", nil, "Failure preparing request")
54 return
55 }
56
57 resp, err := client.GetSender(req)
58 if err != nil {
59 result.Response = autorest.Response{Response: resp}
60 err = autorest.NewErrorWithError(err, "features.Client", "Get", resp, "Failure sending request")
61 return
62 }
63
64 result, err = client.GetResponder(resp)
65 if err != nil {
66 err = autorest.NewErrorWithError(err, "features.Client", "Get", resp, "Failure responding to request")
67 return
68 }
69
70 return
71 }
72
73
74 func (client Client) GetPreparer(ctx context.Context, resourceProviderNamespace string, featureName string) (*http.Request, error) {
75 pathParameters := map[string]interface{}{
76 "featureName": autorest.Encode("path", featureName),
77 "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace),
78 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
79 }
80
81 const APIVersion = "2015-12-01"
82 queryParameters := map[string]interface{}{
83 "api-version": APIVersion,
84 }
85
86 preparer := autorest.CreatePreparer(
87 autorest.AsGet(),
88 autorest.WithBaseURL(client.BaseURI),
89 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}", pathParameters),
90 autorest.WithQueryParameters(queryParameters))
91 return preparer.Prepare((&http.Request{}).WithContext(ctx))
92 }
93
94
95
96 func (client Client) GetSender(req *http.Request) (*http.Response, error) {
97 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
98 }
99
100
101
102 func (client Client) GetResponder(resp *http.Response) (result Result, err error) {
103 err = autorest.Respond(
104 resp,
105 azure.WithErrorUnlessStatusCode(http.StatusOK),
106 autorest.ByUnmarshallingJSON(&result),
107 autorest.ByClosing())
108 result.Response = autorest.Response{Response: resp}
109 return
110 }
111
112
113
114
115 func (client Client) List(ctx context.Context, resourceProviderNamespace string) (result OperationsListResultPage, err error) {
116 if tracing.IsEnabled() {
117 ctx = tracing.StartSpan(ctx, fqdn+"/Client.List")
118 defer func() {
119 sc := -1
120 if result.olr.Response.Response != nil {
121 sc = result.olr.Response.Response.StatusCode
122 }
123 tracing.EndSpan(ctx, sc, err)
124 }()
125 }
126 result.fn = client.listNextResults
127 req, err := client.ListPreparer(ctx, resourceProviderNamespace)
128 if err != nil {
129 err = autorest.NewErrorWithError(err, "features.Client", "List", nil, "Failure preparing request")
130 return
131 }
132
133 resp, err := client.ListSender(req)
134 if err != nil {
135 result.olr.Response = autorest.Response{Response: resp}
136 err = autorest.NewErrorWithError(err, "features.Client", "List", resp, "Failure sending request")
137 return
138 }
139
140 result.olr, err = client.ListResponder(resp)
141 if err != nil {
142 err = autorest.NewErrorWithError(err, "features.Client", "List", resp, "Failure responding to request")
143 return
144 }
145 if result.olr.hasNextLink() && result.olr.IsEmpty() {
146 err = result.NextWithContext(ctx)
147 return
148 }
149
150 return
151 }
152
153
154 func (client Client) ListPreparer(ctx context.Context, resourceProviderNamespace string) (*http.Request, error) {
155 pathParameters := map[string]interface{}{
156 "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace),
157 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
158 }
159
160 const APIVersion = "2015-12-01"
161 queryParameters := map[string]interface{}{
162 "api-version": APIVersion,
163 }
164
165 preparer := autorest.CreatePreparer(
166 autorest.AsGet(),
167 autorest.WithBaseURL(client.BaseURI),
168 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features", pathParameters),
169 autorest.WithQueryParameters(queryParameters))
170 return preparer.Prepare((&http.Request{}).WithContext(ctx))
171 }
172
173
174
175 func (client Client) ListSender(req *http.Request) (*http.Response, error) {
176 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
177 }
178
179
180
181 func (client Client) ListResponder(resp *http.Response) (result OperationsListResult, err error) {
182 err = autorest.Respond(
183 resp,
184 azure.WithErrorUnlessStatusCode(http.StatusOK),
185 autorest.ByUnmarshallingJSON(&result),
186 autorest.ByClosing())
187 result.Response = autorest.Response{Response: resp}
188 return
189 }
190
191
192 func (client Client) listNextResults(ctx context.Context, lastResults OperationsListResult) (result OperationsListResult, err error) {
193 req, err := lastResults.operationsListResultPreparer(ctx)
194 if err != nil {
195 return result, autorest.NewErrorWithError(err, "features.Client", "listNextResults", nil, "Failure preparing next results request")
196 }
197 if req == nil {
198 return
199 }
200 resp, err := client.ListSender(req)
201 if err != nil {
202 result.Response = autorest.Response{Response: resp}
203 return result, autorest.NewErrorWithError(err, "features.Client", "listNextResults", resp, "Failure sending next results request")
204 }
205 result, err = client.ListResponder(resp)
206 if err != nil {
207 err = autorest.NewErrorWithError(err, "features.Client", "listNextResults", resp, "Failure responding to next results request")
208 }
209 return
210 }
211
212
213 func (client Client) ListComplete(ctx context.Context, resourceProviderNamespace string) (result OperationsListResultIterator, err error) {
214 if tracing.IsEnabled() {
215 ctx = tracing.StartSpan(ctx, fqdn+"/Client.List")
216 defer func() {
217 sc := -1
218 if result.Response().Response.Response != nil {
219 sc = result.page.Response().Response.Response.StatusCode
220 }
221 tracing.EndSpan(ctx, sc, err)
222 }()
223 }
224 result.page, err = client.List(ctx, resourceProviderNamespace)
225 return
226 }
227
228
229 func (client Client) ListAll(ctx context.Context) (result OperationsListResultPage, err error) {
230 if tracing.IsEnabled() {
231 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListAll")
232 defer func() {
233 sc := -1
234 if result.olr.Response.Response != nil {
235 sc = result.olr.Response.Response.StatusCode
236 }
237 tracing.EndSpan(ctx, sc, err)
238 }()
239 }
240 result.fn = client.listAllNextResults
241 req, err := client.ListAllPreparer(ctx)
242 if err != nil {
243 err = autorest.NewErrorWithError(err, "features.Client", "ListAll", nil, "Failure preparing request")
244 return
245 }
246
247 resp, err := client.ListAllSender(req)
248 if err != nil {
249 result.olr.Response = autorest.Response{Response: resp}
250 err = autorest.NewErrorWithError(err, "features.Client", "ListAll", resp, "Failure sending request")
251 return
252 }
253
254 result.olr, err = client.ListAllResponder(resp)
255 if err != nil {
256 err = autorest.NewErrorWithError(err, "features.Client", "ListAll", resp, "Failure responding to request")
257 return
258 }
259 if result.olr.hasNextLink() && result.olr.IsEmpty() {
260 err = result.NextWithContext(ctx)
261 return
262 }
263
264 return
265 }
266
267
268 func (client Client) ListAllPreparer(ctx context.Context) (*http.Request, error) {
269 pathParameters := map[string]interface{}{
270 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
271 }
272
273 const APIVersion = "2015-12-01"
274 queryParameters := map[string]interface{}{
275 "api-version": APIVersion,
276 }
277
278 preparer := autorest.CreatePreparer(
279 autorest.AsGet(),
280 autorest.WithBaseURL(client.BaseURI),
281 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Features/features", pathParameters),
282 autorest.WithQueryParameters(queryParameters))
283 return preparer.Prepare((&http.Request{}).WithContext(ctx))
284 }
285
286
287
288 func (client Client) ListAllSender(req *http.Request) (*http.Response, error) {
289 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
290 }
291
292
293
294 func (client Client) ListAllResponder(resp *http.Response) (result OperationsListResult, err error) {
295 err = autorest.Respond(
296 resp,
297 azure.WithErrorUnlessStatusCode(http.StatusOK),
298 autorest.ByUnmarshallingJSON(&result),
299 autorest.ByClosing())
300 result.Response = autorest.Response{Response: resp}
301 return
302 }
303
304
305 func (client Client) listAllNextResults(ctx context.Context, lastResults OperationsListResult) (result OperationsListResult, err error) {
306 req, err := lastResults.operationsListResultPreparer(ctx)
307 if err != nil {
308 return result, autorest.NewErrorWithError(err, "features.Client", "listAllNextResults", nil, "Failure preparing next results request")
309 }
310 if req == nil {
311 return
312 }
313 resp, err := client.ListAllSender(req)
314 if err != nil {
315 result.Response = autorest.Response{Response: resp}
316 return result, autorest.NewErrorWithError(err, "features.Client", "listAllNextResults", resp, "Failure sending next results request")
317 }
318 result, err = client.ListAllResponder(resp)
319 if err != nil {
320 err = autorest.NewErrorWithError(err, "features.Client", "listAllNextResults", resp, "Failure responding to next results request")
321 }
322 return
323 }
324
325
326 func (client Client) ListAllComplete(ctx context.Context) (result OperationsListResultIterator, err error) {
327 if tracing.IsEnabled() {
328 ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListAll")
329 defer func() {
330 sc := -1
331 if result.Response().Response.Response != nil {
332 sc = result.page.Response().Response.Response.StatusCode
333 }
334 tracing.EndSpan(ctx, sc, err)
335 }()
336 }
337 result.page, err = client.ListAll(ctx)
338 return
339 }
340
341
342
343
344
345 func (client Client) Register(ctx context.Context, resourceProviderNamespace string, featureName string) (result Result, err error) {
346 if tracing.IsEnabled() {
347 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Register")
348 defer func() {
349 sc := -1
350 if result.Response.Response != nil {
351 sc = result.Response.Response.StatusCode
352 }
353 tracing.EndSpan(ctx, sc, err)
354 }()
355 }
356 req, err := client.RegisterPreparer(ctx, resourceProviderNamespace, featureName)
357 if err != nil {
358 err = autorest.NewErrorWithError(err, "features.Client", "Register", nil, "Failure preparing request")
359 return
360 }
361
362 resp, err := client.RegisterSender(req)
363 if err != nil {
364 result.Response = autorest.Response{Response: resp}
365 err = autorest.NewErrorWithError(err, "features.Client", "Register", resp, "Failure sending request")
366 return
367 }
368
369 result, err = client.RegisterResponder(resp)
370 if err != nil {
371 err = autorest.NewErrorWithError(err, "features.Client", "Register", resp, "Failure responding to request")
372 return
373 }
374
375 return
376 }
377
378
379 func (client Client) RegisterPreparer(ctx context.Context, resourceProviderNamespace string, featureName string) (*http.Request, error) {
380 pathParameters := map[string]interface{}{
381 "featureName": autorest.Encode("path", featureName),
382 "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace),
383 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
384 }
385
386 const APIVersion = "2015-12-01"
387 queryParameters := map[string]interface{}{
388 "api-version": APIVersion,
389 }
390
391 preparer := autorest.CreatePreparer(
392 autorest.AsPost(),
393 autorest.WithBaseURL(client.BaseURI),
394 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/register", pathParameters),
395 autorest.WithQueryParameters(queryParameters))
396 return preparer.Prepare((&http.Request{}).WithContext(ctx))
397 }
398
399
400
401 func (client Client) RegisterSender(req *http.Request) (*http.Response, error) {
402 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
403 }
404
405
406
407 func (client Client) RegisterResponder(resp *http.Response) (result Result, err error) {
408 err = autorest.Respond(
409 resp,
410 azure.WithErrorUnlessStatusCode(http.StatusOK),
411 autorest.ByUnmarshallingJSON(&result),
412 autorest.ByClosing())
413 result.Response = autorest.Response{Response: resp}
414 return
415 }
416
417
418
419
420
421 func (client Client) Unregister(ctx context.Context, resourceProviderNamespace string, featureName string) (result Result, err error) {
422 if tracing.IsEnabled() {
423 ctx = tracing.StartSpan(ctx, fqdn+"/Client.Unregister")
424 defer func() {
425 sc := -1
426 if result.Response.Response != nil {
427 sc = result.Response.Response.StatusCode
428 }
429 tracing.EndSpan(ctx, sc, err)
430 }()
431 }
432 req, err := client.UnregisterPreparer(ctx, resourceProviderNamespace, featureName)
433 if err != nil {
434 err = autorest.NewErrorWithError(err, "features.Client", "Unregister", nil, "Failure preparing request")
435 return
436 }
437
438 resp, err := client.UnregisterSender(req)
439 if err != nil {
440 result.Response = autorest.Response{Response: resp}
441 err = autorest.NewErrorWithError(err, "features.Client", "Unregister", resp, "Failure sending request")
442 return
443 }
444
445 result, err = client.UnregisterResponder(resp)
446 if err != nil {
447 err = autorest.NewErrorWithError(err, "features.Client", "Unregister", resp, "Failure responding to request")
448 return
449 }
450
451 return
452 }
453
454
455 func (client Client) UnregisterPreparer(ctx context.Context, resourceProviderNamespace string, featureName string) (*http.Request, error) {
456 pathParameters := map[string]interface{}{
457 "featureName": autorest.Encode("path", featureName),
458 "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace),
459 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
460 }
461
462 const APIVersion = "2015-12-01"
463 queryParameters := map[string]interface{}{
464 "api-version": APIVersion,
465 }
466
467 preparer := autorest.CreatePreparer(
468 autorest.AsPost(),
469 autorest.WithBaseURL(client.BaseURI),
470 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/unregister", pathParameters),
471 autorest.WithQueryParameters(queryParameters))
472 return preparer.Prepare((&http.Request{}).WithContext(ctx))
473 }
474
475
476
477 func (client Client) UnregisterSender(req *http.Request) (*http.Response, error) {
478 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
479 }
480
481
482
483 func (client Client) UnregisterResponder(resp *http.Response) (result Result, err error) {
484 err = autorest.Respond(
485 resp,
486 azure.WithErrorUnlessStatusCode(http.StatusOK),
487 autorest.ByUnmarshallingJSON(&result),
488 autorest.ByClosing())
489 result.Response = autorest.Response{Response: resp}
490 return
491 }
492
View as plain text