1 package insights
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/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "net/http"
16 )
17
18
19 type WebTestsClient struct {
20 BaseClient
21 }
22
23
24 func NewWebTestsClient(subscriptionID string) WebTestsClient {
25 return NewWebTestsClientWithBaseURI(DefaultBaseURI, subscriptionID)
26 }
27
28
29
30 func NewWebTestsClientWithBaseURI(baseURI string, subscriptionID string) WebTestsClient {
31 return WebTestsClient{NewWithBaseURI(baseURI, subscriptionID)}
32 }
33
34
35
36
37
38
39
40 func (client WebTestsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, webTestName string, webTestDefinition WebTest) (result WebTest, err error) {
41 if tracing.IsEnabled() {
42 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.CreateOrUpdate")
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 if err := validation.Validate([]validation.Validation{
52 {TargetValue: resourceGroupName,
53 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
54 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
55 {TargetValue: client.SubscriptionID,
56 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
57 {TargetValue: webTestDefinition,
58 Constraints: []validation.Constraint{{Target: "webTestDefinition.WebTestProperties", Name: validation.Null, Rule: false,
59 Chain: []validation.Constraint{{Target: "webTestDefinition.WebTestProperties.SyntheticMonitorID", Name: validation.Null, Rule: true, Chain: nil},
60 {Target: "webTestDefinition.WebTestProperties.WebTestName", Name: validation.Null, Rule: true, Chain: nil},
61 {Target: "webTestDefinition.WebTestProperties.Locations", Name: validation.Null, Rule: true, Chain: nil},
62 }}}}}); err != nil {
63 return result, validation.NewError("insights.WebTestsClient", "CreateOrUpdate", err.Error())
64 }
65
66 req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, webTestName, webTestDefinition)
67 if err != nil {
68 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "CreateOrUpdate", nil, "Failure preparing request")
69 return
70 }
71
72 resp, err := client.CreateOrUpdateSender(req)
73 if err != nil {
74 result.Response = autorest.Response{Response: resp}
75 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "CreateOrUpdate", resp, "Failure sending request")
76 return
77 }
78
79 result, err = client.CreateOrUpdateResponder(resp)
80 if err != nil {
81 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "CreateOrUpdate", resp, "Failure responding to request")
82 return
83 }
84
85 return
86 }
87
88
89 func (client WebTestsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, webTestName string, webTestDefinition WebTest) (*http.Request, error) {
90 pathParameters := map[string]interface{}{
91 "resourceGroupName": autorest.Encode("path", resourceGroupName),
92 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
93 "webTestName": autorest.Encode("path", webTestName),
94 }
95
96 const APIVersion = "2015-05-01"
97 queryParameters := map[string]interface{}{
98 "api-version": APIVersion,
99 }
100
101 preparer := autorest.CreatePreparer(
102 autorest.AsContentType("application/json; charset=utf-8"),
103 autorest.AsPut(),
104 autorest.WithBaseURL(client.BaseURI),
105 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", pathParameters),
106 autorest.WithJSON(webTestDefinition),
107 autorest.WithQueryParameters(queryParameters))
108 return preparer.Prepare((&http.Request{}).WithContext(ctx))
109 }
110
111
112
113 func (client WebTestsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) {
114 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
115 }
116
117
118
119 func (client WebTestsClient) CreateOrUpdateResponder(resp *http.Response) (result WebTest, err error) {
120 err = autorest.Respond(
121 resp,
122 azure.WithErrorUnlessStatusCode(http.StatusOK),
123 autorest.ByUnmarshallingJSON(&result),
124 autorest.ByClosing())
125 result.Response = autorest.Response{Response: resp}
126 return
127 }
128
129
130
131
132
133 func (client WebTestsClient) Delete(ctx context.Context, resourceGroupName string, webTestName string) (result autorest.Response, err error) {
134 if tracing.IsEnabled() {
135 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.Delete")
136 defer func() {
137 sc := -1
138 if result.Response != nil {
139 sc = result.Response.StatusCode
140 }
141 tracing.EndSpan(ctx, sc, err)
142 }()
143 }
144 if err := validation.Validate([]validation.Validation{
145 {TargetValue: client.SubscriptionID,
146 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}},
147 {TargetValue: resourceGroupName,
148 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
149 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
150 return result, validation.NewError("insights.WebTestsClient", "Delete", err.Error())
151 }
152
153 req, err := client.DeletePreparer(ctx, resourceGroupName, webTestName)
154 if err != nil {
155 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Delete", nil, "Failure preparing request")
156 return
157 }
158
159 resp, err := client.DeleteSender(req)
160 if err != nil {
161 result.Response = resp
162 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Delete", resp, "Failure sending request")
163 return
164 }
165
166 result, err = client.DeleteResponder(resp)
167 if err != nil {
168 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Delete", resp, "Failure responding to request")
169 return
170 }
171
172 return
173 }
174
175
176 func (client WebTestsClient) DeletePreparer(ctx context.Context, resourceGroupName string, webTestName string) (*http.Request, error) {
177 pathParameters := map[string]interface{}{
178 "resourceGroupName": autorest.Encode("path", resourceGroupName),
179 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
180 "webTestName": autorest.Encode("path", webTestName),
181 }
182
183 const APIVersion = "2015-05-01"
184 queryParameters := map[string]interface{}{
185 "api-version": APIVersion,
186 }
187
188 preparer := autorest.CreatePreparer(
189 autorest.AsDelete(),
190 autorest.WithBaseURL(client.BaseURI),
191 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", pathParameters),
192 autorest.WithQueryParameters(queryParameters))
193 return preparer.Prepare((&http.Request{}).WithContext(ctx))
194 }
195
196
197
198 func (client WebTestsClient) DeleteSender(req *http.Request) (*http.Response, error) {
199 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
200 }
201
202
203
204 func (client WebTestsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
205 err = autorest.Respond(
206 resp,
207 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
208 autorest.ByClosing())
209 result.Response = resp
210 return
211 }
212
213
214
215
216
217 func (client WebTestsClient) Get(ctx context.Context, resourceGroupName string, webTestName string) (result WebTest, err error) {
218 if tracing.IsEnabled() {
219 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.Get")
220 defer func() {
221 sc := -1
222 if result.Response.Response != nil {
223 sc = result.Response.Response.StatusCode
224 }
225 tracing.EndSpan(ctx, sc, err)
226 }()
227 }
228 if err := validation.Validate([]validation.Validation{
229 {TargetValue: resourceGroupName,
230 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
231 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
232 {TargetValue: client.SubscriptionID,
233 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
234 return result, validation.NewError("insights.WebTestsClient", "Get", err.Error())
235 }
236
237 req, err := client.GetPreparer(ctx, resourceGroupName, webTestName)
238 if err != nil {
239 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Get", nil, "Failure preparing request")
240 return
241 }
242
243 resp, err := client.GetSender(req)
244 if err != nil {
245 result.Response = autorest.Response{Response: resp}
246 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Get", resp, "Failure sending request")
247 return
248 }
249
250 result, err = client.GetResponder(resp)
251 if err != nil {
252 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "Get", resp, "Failure responding to request")
253 return
254 }
255
256 return
257 }
258
259
260 func (client WebTestsClient) GetPreparer(ctx context.Context, resourceGroupName string, webTestName string) (*http.Request, error) {
261 pathParameters := map[string]interface{}{
262 "resourceGroupName": autorest.Encode("path", resourceGroupName),
263 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
264 "webTestName": autorest.Encode("path", webTestName),
265 }
266
267 const APIVersion = "2015-05-01"
268 queryParameters := map[string]interface{}{
269 "api-version": APIVersion,
270 }
271
272 preparer := autorest.CreatePreparer(
273 autorest.AsGet(),
274 autorest.WithBaseURL(client.BaseURI),
275 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", pathParameters),
276 autorest.WithQueryParameters(queryParameters))
277 return preparer.Prepare((&http.Request{}).WithContext(ctx))
278 }
279
280
281
282 func (client WebTestsClient) GetSender(req *http.Request) (*http.Response, error) {
283 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
284 }
285
286
287
288 func (client WebTestsClient) GetResponder(resp *http.Response) (result WebTest, err error) {
289 err = autorest.Respond(
290 resp,
291 azure.WithErrorUnlessStatusCode(http.StatusOK),
292 autorest.ByUnmarshallingJSON(&result),
293 autorest.ByClosing())
294 result.Response = autorest.Response{Response: resp}
295 return
296 }
297
298
299 func (client WebTestsClient) List(ctx context.Context) (result WebTestListResultPage, err error) {
300 if tracing.IsEnabled() {
301 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.List")
302 defer func() {
303 sc := -1
304 if result.wtlr.Response.Response != nil {
305 sc = result.wtlr.Response.Response.StatusCode
306 }
307 tracing.EndSpan(ctx, sc, err)
308 }()
309 }
310 if err := validation.Validate([]validation.Validation{
311 {TargetValue: client.SubscriptionID,
312 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
313 return result, validation.NewError("insights.WebTestsClient", "List", err.Error())
314 }
315
316 result.fn = client.listNextResults
317 req, err := client.ListPreparer(ctx)
318 if err != nil {
319 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "List", nil, "Failure preparing request")
320 return
321 }
322
323 resp, err := client.ListSender(req)
324 if err != nil {
325 result.wtlr.Response = autorest.Response{Response: resp}
326 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "List", resp, "Failure sending request")
327 return
328 }
329
330 result.wtlr, err = client.ListResponder(resp)
331 if err != nil {
332 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "List", resp, "Failure responding to request")
333 return
334 }
335 if result.wtlr.hasNextLink() && result.wtlr.IsEmpty() {
336 err = result.NextWithContext(ctx)
337 return
338 }
339
340 return
341 }
342
343
344 func (client WebTestsClient) ListPreparer(ctx context.Context) (*http.Request, error) {
345 pathParameters := map[string]interface{}{
346 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
347 }
348
349 const APIVersion = "2015-05-01"
350 queryParameters := map[string]interface{}{
351 "api-version": APIVersion,
352 }
353
354 preparer := autorest.CreatePreparer(
355 autorest.AsGet(),
356 autorest.WithBaseURL(client.BaseURI),
357 autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests", pathParameters),
358 autorest.WithQueryParameters(queryParameters))
359 return preparer.Prepare((&http.Request{}).WithContext(ctx))
360 }
361
362
363
364 func (client WebTestsClient) ListSender(req *http.Request) (*http.Response, error) {
365 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
366 }
367
368
369
370 func (client WebTestsClient) ListResponder(resp *http.Response) (result WebTestListResult, err error) {
371 err = autorest.Respond(
372 resp,
373 azure.WithErrorUnlessStatusCode(http.StatusOK),
374 autorest.ByUnmarshallingJSON(&result),
375 autorest.ByClosing())
376 result.Response = autorest.Response{Response: resp}
377 return
378 }
379
380
381 func (client WebTestsClient) listNextResults(ctx context.Context, lastResults WebTestListResult) (result WebTestListResult, err error) {
382 req, err := lastResults.webTestListResultPreparer(ctx)
383 if err != nil {
384 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listNextResults", nil, "Failure preparing next results request")
385 }
386 if req == nil {
387 return
388 }
389 resp, err := client.ListSender(req)
390 if err != nil {
391 result.Response = autorest.Response{Response: resp}
392 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listNextResults", resp, "Failure sending next results request")
393 }
394 result, err = client.ListResponder(resp)
395 if err != nil {
396 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "listNextResults", resp, "Failure responding to next results request")
397 }
398 return
399 }
400
401
402 func (client WebTestsClient) ListComplete(ctx context.Context) (result WebTestListResultIterator, err error) {
403 if tracing.IsEnabled() {
404 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.List")
405 defer func() {
406 sc := -1
407 if result.Response().Response.Response != nil {
408 sc = result.page.Response().Response.Response.StatusCode
409 }
410 tracing.EndSpan(ctx, sc, err)
411 }()
412 }
413 result.page, err = client.List(ctx)
414 return
415 }
416
417
418
419
420
421 func (client WebTestsClient) ListByComponent(ctx context.Context, componentName string, resourceGroupName string) (result WebTestListResultPage, err error) {
422 if tracing.IsEnabled() {
423 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.ListByComponent")
424 defer func() {
425 sc := -1
426 if result.wtlr.Response.Response != nil {
427 sc = result.wtlr.Response.Response.StatusCode
428 }
429 tracing.EndSpan(ctx, sc, err)
430 }()
431 }
432 if err := validation.Validate([]validation.Validation{
433 {TargetValue: resourceGroupName,
434 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
435 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
436 {TargetValue: client.SubscriptionID,
437 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
438 return result, validation.NewError("insights.WebTestsClient", "ListByComponent", err.Error())
439 }
440
441 result.fn = client.listByComponentNextResults
442 req, err := client.ListByComponentPreparer(ctx, componentName, resourceGroupName)
443 if err != nil {
444 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByComponent", nil, "Failure preparing request")
445 return
446 }
447
448 resp, err := client.ListByComponentSender(req)
449 if err != nil {
450 result.wtlr.Response = autorest.Response{Response: resp}
451 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByComponent", resp, "Failure sending request")
452 return
453 }
454
455 result.wtlr, err = client.ListByComponentResponder(resp)
456 if err != nil {
457 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByComponent", resp, "Failure responding to request")
458 return
459 }
460 if result.wtlr.hasNextLink() && result.wtlr.IsEmpty() {
461 err = result.NextWithContext(ctx)
462 return
463 }
464
465 return
466 }
467
468
469 func (client WebTestsClient) ListByComponentPreparer(ctx context.Context, componentName string, resourceGroupName string) (*http.Request, error) {
470 pathParameters := map[string]interface{}{
471 "componentName": autorest.Encode("path", componentName),
472 "resourceGroupName": autorest.Encode("path", resourceGroupName),
473 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
474 }
475
476 const APIVersion = "2015-05-01"
477 queryParameters := map[string]interface{}{
478 "api-version": APIVersion,
479 }
480
481 preparer := autorest.CreatePreparer(
482 autorest.AsGet(),
483 autorest.WithBaseURL(client.BaseURI),
484 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{componentName}/webtests", pathParameters),
485 autorest.WithQueryParameters(queryParameters))
486 return preparer.Prepare((&http.Request{}).WithContext(ctx))
487 }
488
489
490
491 func (client WebTestsClient) ListByComponentSender(req *http.Request) (*http.Response, error) {
492 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
493 }
494
495
496
497 func (client WebTestsClient) ListByComponentResponder(resp *http.Response) (result WebTestListResult, err error) {
498 err = autorest.Respond(
499 resp,
500 azure.WithErrorUnlessStatusCode(http.StatusOK),
501 autorest.ByUnmarshallingJSON(&result),
502 autorest.ByClosing())
503 result.Response = autorest.Response{Response: resp}
504 return
505 }
506
507
508 func (client WebTestsClient) listByComponentNextResults(ctx context.Context, lastResults WebTestListResult) (result WebTestListResult, err error) {
509 req, err := lastResults.webTestListResultPreparer(ctx)
510 if err != nil {
511 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByComponentNextResults", nil, "Failure preparing next results request")
512 }
513 if req == nil {
514 return
515 }
516 resp, err := client.ListByComponentSender(req)
517 if err != nil {
518 result.Response = autorest.Response{Response: resp}
519 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByComponentNextResults", resp, "Failure sending next results request")
520 }
521 result, err = client.ListByComponentResponder(resp)
522 if err != nil {
523 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByComponentNextResults", resp, "Failure responding to next results request")
524 }
525 return
526 }
527
528
529 func (client WebTestsClient) ListByComponentComplete(ctx context.Context, componentName string, resourceGroupName string) (result WebTestListResultIterator, err error) {
530 if tracing.IsEnabled() {
531 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.ListByComponent")
532 defer func() {
533 sc := -1
534 if result.Response().Response.Response != nil {
535 sc = result.page.Response().Response.Response.StatusCode
536 }
537 tracing.EndSpan(ctx, sc, err)
538 }()
539 }
540 result.page, err = client.ListByComponent(ctx, componentName, resourceGroupName)
541 return
542 }
543
544
545
546
547 func (client WebTestsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result WebTestListResultPage, err error) {
548 if tracing.IsEnabled() {
549 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.ListByResourceGroup")
550 defer func() {
551 sc := -1
552 if result.wtlr.Response.Response != nil {
553 sc = result.wtlr.Response.Response.StatusCode
554 }
555 tracing.EndSpan(ctx, sc, err)
556 }()
557 }
558 if err := validation.Validate([]validation.Validation{
559 {TargetValue: resourceGroupName,
560 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
561 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
562 {TargetValue: client.SubscriptionID,
563 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
564 return result, validation.NewError("insights.WebTestsClient", "ListByResourceGroup", err.Error())
565 }
566
567 result.fn = client.listByResourceGroupNextResults
568 req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName)
569 if err != nil {
570 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByResourceGroup", nil, "Failure preparing request")
571 return
572 }
573
574 resp, err := client.ListByResourceGroupSender(req)
575 if err != nil {
576 result.wtlr.Response = autorest.Response{Response: resp}
577 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByResourceGroup", resp, "Failure sending request")
578 return
579 }
580
581 result.wtlr, err = client.ListByResourceGroupResponder(resp)
582 if err != nil {
583 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "ListByResourceGroup", resp, "Failure responding to request")
584 return
585 }
586 if result.wtlr.hasNextLink() && result.wtlr.IsEmpty() {
587 err = result.NextWithContext(ctx)
588 return
589 }
590
591 return
592 }
593
594
595 func (client WebTestsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) {
596 pathParameters := map[string]interface{}{
597 "resourceGroupName": autorest.Encode("path", resourceGroupName),
598 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
599 }
600
601 const APIVersion = "2015-05-01"
602 queryParameters := map[string]interface{}{
603 "api-version": APIVersion,
604 }
605
606 preparer := autorest.CreatePreparer(
607 autorest.AsGet(),
608 autorest.WithBaseURL(client.BaseURI),
609 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests", pathParameters),
610 autorest.WithQueryParameters(queryParameters))
611 return preparer.Prepare((&http.Request{}).WithContext(ctx))
612 }
613
614
615
616 func (client WebTestsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) {
617 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
618 }
619
620
621
622 func (client WebTestsClient) ListByResourceGroupResponder(resp *http.Response) (result WebTestListResult, err error) {
623 err = autorest.Respond(
624 resp,
625 azure.WithErrorUnlessStatusCode(http.StatusOK),
626 autorest.ByUnmarshallingJSON(&result),
627 autorest.ByClosing())
628 result.Response = autorest.Response{Response: resp}
629 return
630 }
631
632
633 func (client WebTestsClient) listByResourceGroupNextResults(ctx context.Context, lastResults WebTestListResult) (result WebTestListResult, err error) {
634 req, err := lastResults.webTestListResultPreparer(ctx)
635 if err != nil {
636 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request")
637 }
638 if req == nil {
639 return
640 }
641 resp, err := client.ListByResourceGroupSender(req)
642 if err != nil {
643 result.Response = autorest.Response{Response: resp}
644 return result, autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request")
645 }
646 result, err = client.ListByResourceGroupResponder(resp)
647 if err != nil {
648 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request")
649 }
650 return
651 }
652
653
654 func (client WebTestsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result WebTestListResultIterator, err error) {
655 if tracing.IsEnabled() {
656 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.ListByResourceGroup")
657 defer func() {
658 sc := -1
659 if result.Response().Response.Response != nil {
660 sc = result.page.Response().Response.Response.StatusCode
661 }
662 tracing.EndSpan(ctx, sc, err)
663 }()
664 }
665 result.page, err = client.ListByResourceGroup(ctx, resourceGroupName)
666 return
667 }
668
669
670
671
672
673
674 func (client WebTestsClient) UpdateTags(ctx context.Context, resourceGroupName string, webTestName string, webTestTags TagsResource) (result WebTest, err error) {
675 if tracing.IsEnabled() {
676 ctx = tracing.StartSpan(ctx, fqdn+"/WebTestsClient.UpdateTags")
677 defer func() {
678 sc := -1
679 if result.Response.Response != nil {
680 sc = result.Response.Response.StatusCode
681 }
682 tracing.EndSpan(ctx, sc, err)
683 }()
684 }
685 if err := validation.Validate([]validation.Validation{
686 {TargetValue: resourceGroupName,
687 Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil},
688 {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}},
689 {TargetValue: client.SubscriptionID,
690 Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil {
691 return result, validation.NewError("insights.WebTestsClient", "UpdateTags", err.Error())
692 }
693
694 req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, webTestName, webTestTags)
695 if err != nil {
696 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "UpdateTags", nil, "Failure preparing request")
697 return
698 }
699
700 resp, err := client.UpdateTagsSender(req)
701 if err != nil {
702 result.Response = autorest.Response{Response: resp}
703 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "UpdateTags", resp, "Failure sending request")
704 return
705 }
706
707 result, err = client.UpdateTagsResponder(resp)
708 if err != nil {
709 err = autorest.NewErrorWithError(err, "insights.WebTestsClient", "UpdateTags", resp, "Failure responding to request")
710 return
711 }
712
713 return
714 }
715
716
717 func (client WebTestsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, webTestName string, webTestTags TagsResource) (*http.Request, error) {
718 pathParameters := map[string]interface{}{
719 "resourceGroupName": autorest.Encode("path", resourceGroupName),
720 "subscriptionId": autorest.Encode("path", client.SubscriptionID),
721 "webTestName": autorest.Encode("path", webTestName),
722 }
723
724 const APIVersion = "2015-05-01"
725 queryParameters := map[string]interface{}{
726 "api-version": APIVersion,
727 }
728
729 preparer := autorest.CreatePreparer(
730 autorest.AsContentType("application/json; charset=utf-8"),
731 autorest.AsPatch(),
732 autorest.WithBaseURL(client.BaseURI),
733 autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName}", pathParameters),
734 autorest.WithJSON(webTestTags),
735 autorest.WithQueryParameters(queryParameters))
736 return preparer.Prepare((&http.Request{}).WithContext(ctx))
737 }
738
739
740
741 func (client WebTestsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) {
742 return client.Send(req, azure.DoRetryWithRegistration(client.Client))
743 }
744
745
746
747 func (client WebTestsClient) UpdateTagsResponder(resp *http.Response) (result WebTest, err error) {
748 err = autorest.Respond(
749 resp,
750 azure.WithErrorUnlessStatusCode(http.StatusOK),
751 autorest.ByUnmarshallingJSON(&result),
752 autorest.ByClosing())
753 result.Response = autorest.Response{Response: resp}
754 return
755 }
756
View as plain text