1
2
3
4 package training
5
6
7
8
9
10
11
12 import (
13 "context"
14 "github.com/Azure/go-autorest/autorest"
15 "github.com/Azure/go-autorest/autorest/azure"
16 "github.com/Azure/go-autorest/autorest/validation"
17 "github.com/Azure/go-autorest/tracing"
18 "github.com/gofrs/uuid"
19 "io"
20 "net/http"
21 )
22
23
24 type BaseClient struct {
25 autorest.Client
26 APIKey string
27 Endpoint string
28 }
29
30
31 func New(aPIKey string, endpoint string) BaseClient {
32 return NewWithoutDefaults(aPIKey, endpoint)
33 }
34
35
36 func NewWithoutDefaults(aPIKey string, endpoint string) BaseClient {
37 return BaseClient{
38 Client: autorest.NewClientWithUserAgent(UserAgent()),
39 APIKey: aPIKey,
40 Endpoint: endpoint,
41 }
42 }
43
44
45
46
47
48
49
50 func (client BaseClient) CreateImageRegions(ctx context.Context, projectID uuid.UUID, batch ImageRegionCreateBatch) (result ImageRegionCreateSummary, err error) {
51 if tracing.IsEnabled() {
52 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImageRegions")
53 defer func() {
54 sc := -1
55 if result.Response.Response != nil {
56 sc = result.Response.Response.StatusCode
57 }
58 tracing.EndSpan(ctx, sc, err)
59 }()
60 }
61 req, err := client.CreateImageRegionsPreparer(ctx, projectID, batch)
62 if err != nil {
63 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", nil, "Failure preparing request")
64 return
65 }
66
67 resp, err := client.CreateImageRegionsSender(req)
68 if err != nil {
69 result.Response = autorest.Response{Response: resp}
70 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", resp, "Failure sending request")
71 return
72 }
73
74 result, err = client.CreateImageRegionsResponder(resp)
75 if err != nil {
76 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", resp, "Failure responding to request")
77 return
78 }
79
80 return
81 }
82
83
84 func (client BaseClient) CreateImageRegionsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageRegionCreateBatch) (*http.Request, error) {
85 urlParameters := map[string]interface{}{
86 "Endpoint": client.Endpoint,
87 }
88
89 pathParameters := map[string]interface{}{
90 "projectId": autorest.Encode("path", projectID),
91 }
92
93 preparer := autorest.CreatePreparer(
94 autorest.AsContentType("application/json; charset=utf-8"),
95 autorest.AsPost(),
96 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
97 autorest.WithPathParameters("/projects/{projectId}/images/regions", pathParameters),
98 autorest.WithJSON(batch),
99 autorest.WithHeader("Training-Key", client.APIKey))
100 return preparer.Prepare((&http.Request{}).WithContext(ctx))
101 }
102
103
104
105 func (client BaseClient) CreateImageRegionsSender(req *http.Request) (*http.Response, error) {
106 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
107 }
108
109
110
111 func (client BaseClient) CreateImageRegionsResponder(resp *http.Response) (result ImageRegionCreateSummary, err error) {
112 err = autorest.Respond(
113 resp,
114 azure.WithErrorUnlessStatusCode(http.StatusOK),
115 autorest.ByUnmarshallingJSON(&result),
116 autorest.ByClosing())
117 result.Response = autorest.Response{Response: resp}
118 return
119 }
120
121
122
123
124
125
126
127
128 func (client BaseClient) CreateImagesFromData(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, tagIds []uuid.UUID) (result ImageCreateSummary, err error) {
129 if tracing.IsEnabled() {
130 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromData")
131 defer func() {
132 sc := -1
133 if result.Response.Response != nil {
134 sc = result.Response.Response.StatusCode
135 }
136 tracing.EndSpan(ctx, sc, err)
137 }()
138 }
139 if err := validation.Validate([]validation.Validation{
140 {TargetValue: tagIds,
141 Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false,
142 Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil},
143 {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil},
144 }}}}}); err != nil {
145 return result, validation.NewError("training.BaseClient", "CreateImagesFromData", err.Error())
146 }
147
148 req, err := client.CreateImagesFromDataPreparer(ctx, projectID, imageData, tagIds)
149 if err != nil {
150 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", nil, "Failure preparing request")
151 return
152 }
153
154 resp, err := client.CreateImagesFromDataSender(req)
155 if err != nil {
156 result.Response = autorest.Response{Response: resp}
157 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", resp, "Failure sending request")
158 return
159 }
160
161 result, err = client.CreateImagesFromDataResponder(resp)
162 if err != nil {
163 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", resp, "Failure responding to request")
164 return
165 }
166
167 return
168 }
169
170
171 func (client BaseClient) CreateImagesFromDataPreparer(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, tagIds []uuid.UUID) (*http.Request, error) {
172 urlParameters := map[string]interface{}{
173 "Endpoint": client.Endpoint,
174 }
175
176 pathParameters := map[string]interface{}{
177 "projectId": autorest.Encode("path", projectID),
178 }
179
180 queryParameters := map[string]interface{}{}
181 if tagIds != nil && len(tagIds) > 0 {
182 queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",")
183 }
184
185 formDataParameters := map[string]interface{}{
186 "imageData": imageData,
187 }
188
189 preparer := autorest.CreatePreparer(
190 autorest.AsPost(),
191 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
192 autorest.WithPathParameters("/projects/{projectId}/images", pathParameters),
193 autorest.WithQueryParameters(queryParameters),
194 autorest.WithMultiPartFormData(formDataParameters),
195 autorest.WithHeader("Training-Key", client.APIKey))
196 return preparer.Prepare((&http.Request{}).WithContext(ctx))
197 }
198
199
200
201 func (client BaseClient) CreateImagesFromDataSender(req *http.Request) (*http.Response, error) {
202 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
203 }
204
205
206
207 func (client BaseClient) CreateImagesFromDataResponder(resp *http.Response) (result ImageCreateSummary, err error) {
208 err = autorest.Respond(
209 resp,
210 azure.WithErrorUnlessStatusCode(http.StatusOK),
211 autorest.ByUnmarshallingJSON(&result),
212 autorest.ByClosing())
213 result.Response = autorest.Response{Response: resp}
214 return
215 }
216
217
218
219
220
221
222 func (client BaseClient) CreateImagesFromFiles(ctx context.Context, projectID uuid.UUID, batch ImageFileCreateBatch) (result ImageCreateSummary, err error) {
223 if tracing.IsEnabled() {
224 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromFiles")
225 defer func() {
226 sc := -1
227 if result.Response.Response != nil {
228 sc = result.Response.Response.StatusCode
229 }
230 tracing.EndSpan(ctx, sc, err)
231 }()
232 }
233 req, err := client.CreateImagesFromFilesPreparer(ctx, projectID, batch)
234 if err != nil {
235 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", nil, "Failure preparing request")
236 return
237 }
238
239 resp, err := client.CreateImagesFromFilesSender(req)
240 if err != nil {
241 result.Response = autorest.Response{Response: resp}
242 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", resp, "Failure sending request")
243 return
244 }
245
246 result, err = client.CreateImagesFromFilesResponder(resp)
247 if err != nil {
248 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", resp, "Failure responding to request")
249 return
250 }
251
252 return
253 }
254
255
256 func (client BaseClient) CreateImagesFromFilesPreparer(ctx context.Context, projectID uuid.UUID, batch ImageFileCreateBatch) (*http.Request, error) {
257 urlParameters := map[string]interface{}{
258 "Endpoint": client.Endpoint,
259 }
260
261 pathParameters := map[string]interface{}{
262 "projectId": autorest.Encode("path", projectID),
263 }
264
265 preparer := autorest.CreatePreparer(
266 autorest.AsContentType("application/json; charset=utf-8"),
267 autorest.AsPost(),
268 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
269 autorest.WithPathParameters("/projects/{projectId}/images/files", pathParameters),
270 autorest.WithJSON(batch),
271 autorest.WithHeader("Training-Key", client.APIKey))
272 return preparer.Prepare((&http.Request{}).WithContext(ctx))
273 }
274
275
276
277 func (client BaseClient) CreateImagesFromFilesSender(req *http.Request) (*http.Response, error) {
278 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
279 }
280
281
282
283 func (client BaseClient) CreateImagesFromFilesResponder(resp *http.Response) (result ImageCreateSummary, err error) {
284 err = autorest.Respond(
285 resp,
286 azure.WithErrorUnlessStatusCode(http.StatusOK),
287 autorest.ByUnmarshallingJSON(&result),
288 autorest.ByClosing())
289 result.Response = autorest.Response{Response: resp}
290 return
291 }
292
293
294
295
296
297
298 func (client BaseClient) CreateImagesFromPredictions(ctx context.Context, projectID uuid.UUID, batch ImageIDCreateBatch) (result ImageCreateSummary, err error) {
299 if tracing.IsEnabled() {
300 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromPredictions")
301 defer func() {
302 sc := -1
303 if result.Response.Response != nil {
304 sc = result.Response.Response.StatusCode
305 }
306 tracing.EndSpan(ctx, sc, err)
307 }()
308 }
309 req, err := client.CreateImagesFromPredictionsPreparer(ctx, projectID, batch)
310 if err != nil {
311 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", nil, "Failure preparing request")
312 return
313 }
314
315 resp, err := client.CreateImagesFromPredictionsSender(req)
316 if err != nil {
317 result.Response = autorest.Response{Response: resp}
318 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", resp, "Failure sending request")
319 return
320 }
321
322 result, err = client.CreateImagesFromPredictionsResponder(resp)
323 if err != nil {
324 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", resp, "Failure responding to request")
325 return
326 }
327
328 return
329 }
330
331
332 func (client BaseClient) CreateImagesFromPredictionsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageIDCreateBatch) (*http.Request, error) {
333 urlParameters := map[string]interface{}{
334 "Endpoint": client.Endpoint,
335 }
336
337 pathParameters := map[string]interface{}{
338 "projectId": autorest.Encode("path", projectID),
339 }
340
341 preparer := autorest.CreatePreparer(
342 autorest.AsContentType("application/json; charset=utf-8"),
343 autorest.AsPost(),
344 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
345 autorest.WithPathParameters("/projects/{projectId}/images/predictions", pathParameters),
346 autorest.WithJSON(batch),
347 autorest.WithHeader("Training-Key", client.APIKey))
348 return preparer.Prepare((&http.Request{}).WithContext(ctx))
349 }
350
351
352
353 func (client BaseClient) CreateImagesFromPredictionsSender(req *http.Request) (*http.Response, error) {
354 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
355 }
356
357
358
359 func (client BaseClient) CreateImagesFromPredictionsResponder(resp *http.Response) (result ImageCreateSummary, err error) {
360 err = autorest.Respond(
361 resp,
362 azure.WithErrorUnlessStatusCode(http.StatusOK),
363 autorest.ByUnmarshallingJSON(&result),
364 autorest.ByClosing())
365 result.Response = autorest.Response{Response: resp}
366 return
367 }
368
369
370
371
372
373
374 func (client BaseClient) CreateImagesFromUrls(ctx context.Context, projectID uuid.UUID, batch ImageURLCreateBatch) (result ImageCreateSummary, err error) {
375 if tracing.IsEnabled() {
376 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromUrls")
377 defer func() {
378 sc := -1
379 if result.Response.Response != nil {
380 sc = result.Response.Response.StatusCode
381 }
382 tracing.EndSpan(ctx, sc, err)
383 }()
384 }
385 req, err := client.CreateImagesFromUrlsPreparer(ctx, projectID, batch)
386 if err != nil {
387 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", nil, "Failure preparing request")
388 return
389 }
390
391 resp, err := client.CreateImagesFromUrlsSender(req)
392 if err != nil {
393 result.Response = autorest.Response{Response: resp}
394 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", resp, "Failure sending request")
395 return
396 }
397
398 result, err = client.CreateImagesFromUrlsResponder(resp)
399 if err != nil {
400 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", resp, "Failure responding to request")
401 return
402 }
403
404 return
405 }
406
407
408 func (client BaseClient) CreateImagesFromUrlsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageURLCreateBatch) (*http.Request, error) {
409 urlParameters := map[string]interface{}{
410 "Endpoint": client.Endpoint,
411 }
412
413 pathParameters := map[string]interface{}{
414 "projectId": autorest.Encode("path", projectID),
415 }
416
417 preparer := autorest.CreatePreparer(
418 autorest.AsContentType("application/json; charset=utf-8"),
419 autorest.AsPost(),
420 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
421 autorest.WithPathParameters("/projects/{projectId}/images/urls", pathParameters),
422 autorest.WithJSON(batch),
423 autorest.WithHeader("Training-Key", client.APIKey))
424 return preparer.Prepare((&http.Request{}).WithContext(ctx))
425 }
426
427
428
429 func (client BaseClient) CreateImagesFromUrlsSender(req *http.Request) (*http.Response, error) {
430 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
431 }
432
433
434
435 func (client BaseClient) CreateImagesFromUrlsResponder(resp *http.Response) (result ImageCreateSummary, err error) {
436 err = autorest.Respond(
437 resp,
438 azure.WithErrorUnlessStatusCode(http.StatusOK),
439 autorest.ByUnmarshallingJSON(&result),
440 autorest.ByClosing())
441 result.Response = autorest.Response{Response: resp}
442 return
443 }
444
445
446
447
448
449 func (client BaseClient) CreateImageTags(ctx context.Context, projectID uuid.UUID, batch ImageTagCreateBatch) (result ImageTagCreateSummary, err error) {
450 if tracing.IsEnabled() {
451 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImageTags")
452 defer func() {
453 sc := -1
454 if result.Response.Response != nil {
455 sc = result.Response.Response.StatusCode
456 }
457 tracing.EndSpan(ctx, sc, err)
458 }()
459 }
460 req, err := client.CreateImageTagsPreparer(ctx, projectID, batch)
461 if err != nil {
462 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", nil, "Failure preparing request")
463 return
464 }
465
466 resp, err := client.CreateImageTagsSender(req)
467 if err != nil {
468 result.Response = autorest.Response{Response: resp}
469 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", resp, "Failure sending request")
470 return
471 }
472
473 result, err = client.CreateImageTagsResponder(resp)
474 if err != nil {
475 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", resp, "Failure responding to request")
476 return
477 }
478
479 return
480 }
481
482
483 func (client BaseClient) CreateImageTagsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageTagCreateBatch) (*http.Request, error) {
484 urlParameters := map[string]interface{}{
485 "Endpoint": client.Endpoint,
486 }
487
488 pathParameters := map[string]interface{}{
489 "projectId": autorest.Encode("path", projectID),
490 }
491
492 preparer := autorest.CreatePreparer(
493 autorest.AsContentType("application/json; charset=utf-8"),
494 autorest.AsPost(),
495 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
496 autorest.WithPathParameters("/projects/{projectId}/images/tags", pathParameters),
497 autorest.WithJSON(batch),
498 autorest.WithHeader("Training-Key", client.APIKey))
499 return preparer.Prepare((&http.Request{}).WithContext(ctx))
500 }
501
502
503
504 func (client BaseClient) CreateImageTagsSender(req *http.Request) (*http.Response, error) {
505 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
506 }
507
508
509
510 func (client BaseClient) CreateImageTagsResponder(resp *http.Response) (result ImageTagCreateSummary, err error) {
511 err = autorest.Respond(
512 resp,
513 azure.WithErrorUnlessStatusCode(http.StatusOK),
514 autorest.ByUnmarshallingJSON(&result),
515 autorest.ByClosing())
516 result.Response = autorest.Response{Response: resp}
517 return
518 }
519
520
521
522
523
524
525
526
527 func (client BaseClient) CreateProject(ctx context.Context, name string, description string, domainID *uuid.UUID, classificationType string, targetExportPlatforms []string) (result Project, err error) {
528 if tracing.IsEnabled() {
529 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateProject")
530 defer func() {
531 sc := -1
532 if result.Response.Response != nil {
533 sc = result.Response.Response.StatusCode
534 }
535 tracing.EndSpan(ctx, sc, err)
536 }()
537 }
538 req, err := client.CreateProjectPreparer(ctx, name, description, domainID, classificationType, targetExportPlatforms)
539 if err != nil {
540 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", nil, "Failure preparing request")
541 return
542 }
543
544 resp, err := client.CreateProjectSender(req)
545 if err != nil {
546 result.Response = autorest.Response{Response: resp}
547 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", resp, "Failure sending request")
548 return
549 }
550
551 result, err = client.CreateProjectResponder(resp)
552 if err != nil {
553 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", resp, "Failure responding to request")
554 return
555 }
556
557 return
558 }
559
560
561 func (client BaseClient) CreateProjectPreparer(ctx context.Context, name string, description string, domainID *uuid.UUID, classificationType string, targetExportPlatforms []string) (*http.Request, error) {
562 urlParameters := map[string]interface{}{
563 "Endpoint": client.Endpoint,
564 }
565
566 queryParameters := map[string]interface{}{
567 "name": autorest.Encode("query", name),
568 }
569 if len(description) > 0 {
570 queryParameters["description"] = autorest.Encode("query", description)
571 }
572 if domainID != nil {
573 queryParameters["domainId"] = autorest.Encode("query", *domainID)
574 }
575 if len(string(classificationType)) > 0 {
576 queryParameters["classificationType"] = autorest.Encode("query", classificationType)
577 }
578 if targetExportPlatforms != nil && len(targetExportPlatforms) > 0 {
579 queryParameters["targetExportPlatforms"] = autorest.Encode("query", targetExportPlatforms, ",")
580 }
581
582 preparer := autorest.CreatePreparer(
583 autorest.AsPost(),
584 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
585 autorest.WithPath("/projects"),
586 autorest.WithQueryParameters(queryParameters),
587 autorest.WithHeader("Training-Key", client.APIKey))
588 return preparer.Prepare((&http.Request{}).WithContext(ctx))
589 }
590
591
592
593 func (client BaseClient) CreateProjectSender(req *http.Request) (*http.Response, error) {
594 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
595 }
596
597
598
599 func (client BaseClient) CreateProjectResponder(resp *http.Response) (result Project, err error) {
600 err = autorest.Respond(
601 resp,
602 azure.WithErrorUnlessStatusCode(http.StatusOK),
603 autorest.ByUnmarshallingJSON(&result),
604 autorest.ByClosing())
605 result.Response = autorest.Response{Response: resp}
606 return
607 }
608
609
610
611
612
613
614
615 func (client BaseClient) CreateTag(ctx context.Context, projectID uuid.UUID, name string, description string, typeParameter string) (result Tag, err error) {
616 if tracing.IsEnabled() {
617 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateTag")
618 defer func() {
619 sc := -1
620 if result.Response.Response != nil {
621 sc = result.Response.Response.StatusCode
622 }
623 tracing.EndSpan(ctx, sc, err)
624 }()
625 }
626 req, err := client.CreateTagPreparer(ctx, projectID, name, description, typeParameter)
627 if err != nil {
628 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", nil, "Failure preparing request")
629 return
630 }
631
632 resp, err := client.CreateTagSender(req)
633 if err != nil {
634 result.Response = autorest.Response{Response: resp}
635 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", resp, "Failure sending request")
636 return
637 }
638
639 result, err = client.CreateTagResponder(resp)
640 if err != nil {
641 err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", resp, "Failure responding to request")
642 return
643 }
644
645 return
646 }
647
648
649 func (client BaseClient) CreateTagPreparer(ctx context.Context, projectID uuid.UUID, name string, description string, typeParameter string) (*http.Request, error) {
650 urlParameters := map[string]interface{}{
651 "Endpoint": client.Endpoint,
652 }
653
654 pathParameters := map[string]interface{}{
655 "projectId": autorest.Encode("path", projectID),
656 }
657
658 queryParameters := map[string]interface{}{
659 "name": autorest.Encode("query", name),
660 }
661 if len(description) > 0 {
662 queryParameters["description"] = autorest.Encode("query", description)
663 }
664 if len(string(typeParameter)) > 0 {
665 queryParameters["type"] = autorest.Encode("query", typeParameter)
666 }
667
668 preparer := autorest.CreatePreparer(
669 autorest.AsPost(),
670 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
671 autorest.WithPathParameters("/projects/{projectId}/tags", pathParameters),
672 autorest.WithQueryParameters(queryParameters),
673 autorest.WithHeader("Training-Key", client.APIKey))
674 return preparer.Prepare((&http.Request{}).WithContext(ctx))
675 }
676
677
678
679 func (client BaseClient) CreateTagSender(req *http.Request) (*http.Response, error) {
680 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
681 }
682
683
684
685 func (client BaseClient) CreateTagResponder(resp *http.Response) (result Tag, err error) {
686 err = autorest.Respond(
687 resp,
688 azure.WithErrorUnlessStatusCode(http.StatusOK),
689 autorest.ByUnmarshallingJSON(&result),
690 autorest.ByClosing())
691 result.Response = autorest.Response{Response: resp}
692 return
693 }
694
695
696
697
698
699 func (client BaseClient) DeleteImageRegions(ctx context.Context, projectID uuid.UUID, regionIds []uuid.UUID) (result autorest.Response, err error) {
700 if tracing.IsEnabled() {
701 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImageRegions")
702 defer func() {
703 sc := -1
704 if result.Response != nil {
705 sc = result.Response.StatusCode
706 }
707 tracing.EndSpan(ctx, sc, err)
708 }()
709 }
710 if err := validation.Validate([]validation.Validation{
711 {TargetValue: regionIds,
712 Constraints: []validation.Constraint{{Target: "regionIds", Name: validation.Null, Rule: true,
713 Chain: []validation.Constraint{{Target: "regionIds", Name: validation.MaxItems, Rule: 64, Chain: nil},
714 {Target: "regionIds", Name: validation.MinItems, Rule: 0, Chain: nil},
715 }}}}}); err != nil {
716 return result, validation.NewError("training.BaseClient", "DeleteImageRegions", err.Error())
717 }
718
719 req, err := client.DeleteImageRegionsPreparer(ctx, projectID, regionIds)
720 if err != nil {
721 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", nil, "Failure preparing request")
722 return
723 }
724
725 resp, err := client.DeleteImageRegionsSender(req)
726 if err != nil {
727 result.Response = resp
728 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", resp, "Failure sending request")
729 return
730 }
731
732 result, err = client.DeleteImageRegionsResponder(resp)
733 if err != nil {
734 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", resp, "Failure responding to request")
735 return
736 }
737
738 return
739 }
740
741
742 func (client BaseClient) DeleteImageRegionsPreparer(ctx context.Context, projectID uuid.UUID, regionIds []uuid.UUID) (*http.Request, error) {
743 urlParameters := map[string]interface{}{
744 "Endpoint": client.Endpoint,
745 }
746
747 pathParameters := map[string]interface{}{
748 "projectId": autorest.Encode("path", projectID),
749 }
750
751 queryParameters := map[string]interface{}{
752 "regionIds": autorest.Encode("query", regionIds, ","),
753 }
754
755 preparer := autorest.CreatePreparer(
756 autorest.AsDelete(),
757 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
758 autorest.WithPathParameters("/projects/{projectId}/images/regions", pathParameters),
759 autorest.WithQueryParameters(queryParameters),
760 autorest.WithHeader("Training-Key", client.APIKey))
761 return preparer.Prepare((&http.Request{}).WithContext(ctx))
762 }
763
764
765
766 func (client BaseClient) DeleteImageRegionsSender(req *http.Request) (*http.Response, error) {
767 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
768 }
769
770
771
772 func (client BaseClient) DeleteImageRegionsResponder(resp *http.Response) (result autorest.Response, err error) {
773 err = autorest.Respond(
774 resp,
775 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
776 autorest.ByClosing())
777 result.Response = resp
778 return
779 }
780
781
782
783
784
785 func (client BaseClient) DeleteImages(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID) (result autorest.Response, err error) {
786 if tracing.IsEnabled() {
787 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImages")
788 defer func() {
789 sc := -1
790 if result.Response != nil {
791 sc = result.Response.StatusCode
792 }
793 tracing.EndSpan(ctx, sc, err)
794 }()
795 }
796 if err := validation.Validate([]validation.Validation{
797 {TargetValue: imageIds,
798 Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: true,
799 Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 256, Chain: nil},
800 {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil},
801 }}}}}); err != nil {
802 return result, validation.NewError("training.BaseClient", "DeleteImages", err.Error())
803 }
804
805 req, err := client.DeleteImagesPreparer(ctx, projectID, imageIds)
806 if err != nil {
807 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", nil, "Failure preparing request")
808 return
809 }
810
811 resp, err := client.DeleteImagesSender(req)
812 if err != nil {
813 result.Response = resp
814 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", resp, "Failure sending request")
815 return
816 }
817
818 result, err = client.DeleteImagesResponder(resp)
819 if err != nil {
820 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", resp, "Failure responding to request")
821 return
822 }
823
824 return
825 }
826
827
828 func (client BaseClient) DeleteImagesPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID) (*http.Request, error) {
829 urlParameters := map[string]interface{}{
830 "Endpoint": client.Endpoint,
831 }
832
833 pathParameters := map[string]interface{}{
834 "projectId": autorest.Encode("path", projectID),
835 }
836
837 queryParameters := map[string]interface{}{
838 "imageIds": autorest.Encode("query", imageIds, ","),
839 }
840
841 preparer := autorest.CreatePreparer(
842 autorest.AsDelete(),
843 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
844 autorest.WithPathParameters("/projects/{projectId}/images", pathParameters),
845 autorest.WithQueryParameters(queryParameters),
846 autorest.WithHeader("Training-Key", client.APIKey))
847 return preparer.Prepare((&http.Request{}).WithContext(ctx))
848 }
849
850
851
852 func (client BaseClient) DeleteImagesSender(req *http.Request) (*http.Response, error) {
853 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
854 }
855
856
857
858 func (client BaseClient) DeleteImagesResponder(resp *http.Response) (result autorest.Response, err error) {
859 err = autorest.Respond(
860 resp,
861 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
862 autorest.ByClosing())
863 result.Response = resp
864 return
865 }
866
867
868
869
870
871
872 func (client BaseClient) DeleteImageTags(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, tagIds []uuid.UUID) (result autorest.Response, err error) {
873 if tracing.IsEnabled() {
874 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImageTags")
875 defer func() {
876 sc := -1
877 if result.Response != nil {
878 sc = result.Response.StatusCode
879 }
880 tracing.EndSpan(ctx, sc, err)
881 }()
882 }
883 if err := validation.Validate([]validation.Validation{
884 {TargetValue: imageIds,
885 Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: true,
886 Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 64, Chain: nil},
887 {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil},
888 }}}},
889 {TargetValue: tagIds,
890 Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: true,
891 Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil},
892 {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil},
893 }}}}}); err != nil {
894 return result, validation.NewError("training.BaseClient", "DeleteImageTags", err.Error())
895 }
896
897 req, err := client.DeleteImageTagsPreparer(ctx, projectID, imageIds, tagIds)
898 if err != nil {
899 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", nil, "Failure preparing request")
900 return
901 }
902
903 resp, err := client.DeleteImageTagsSender(req)
904 if err != nil {
905 result.Response = resp
906 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", resp, "Failure sending request")
907 return
908 }
909
910 result, err = client.DeleteImageTagsResponder(resp)
911 if err != nil {
912 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", resp, "Failure responding to request")
913 return
914 }
915
916 return
917 }
918
919
920 func (client BaseClient) DeleteImageTagsPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) {
921 urlParameters := map[string]interface{}{
922 "Endpoint": client.Endpoint,
923 }
924
925 pathParameters := map[string]interface{}{
926 "projectId": autorest.Encode("path", projectID),
927 }
928
929 queryParameters := map[string]interface{}{
930 "imageIds": autorest.Encode("query", imageIds, ","),
931 "tagIds": autorest.Encode("query", tagIds, ","),
932 }
933
934 preparer := autorest.CreatePreparer(
935 autorest.AsDelete(),
936 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
937 autorest.WithPathParameters("/projects/{projectId}/images/tags", pathParameters),
938 autorest.WithQueryParameters(queryParameters),
939 autorest.WithHeader("Training-Key", client.APIKey))
940 return preparer.Prepare((&http.Request{}).WithContext(ctx))
941 }
942
943
944
945 func (client BaseClient) DeleteImageTagsSender(req *http.Request) (*http.Response, error) {
946 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
947 }
948
949
950
951 func (client BaseClient) DeleteImageTagsResponder(resp *http.Response) (result autorest.Response, err error) {
952 err = autorest.Respond(
953 resp,
954 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
955 autorest.ByClosing())
956 result.Response = resp
957 return
958 }
959
960
961
962
963
964 func (client BaseClient) DeleteIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) {
965 if tracing.IsEnabled() {
966 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteIteration")
967 defer func() {
968 sc := -1
969 if result.Response != nil {
970 sc = result.Response.StatusCode
971 }
972 tracing.EndSpan(ctx, sc, err)
973 }()
974 }
975 req, err := client.DeleteIterationPreparer(ctx, projectID, iterationID)
976 if err != nil {
977 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", nil, "Failure preparing request")
978 return
979 }
980
981 resp, err := client.DeleteIterationSender(req)
982 if err != nil {
983 result.Response = resp
984 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", resp, "Failure sending request")
985 return
986 }
987
988 result, err = client.DeleteIterationResponder(resp)
989 if err != nil {
990 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", resp, "Failure responding to request")
991 return
992 }
993
994 return
995 }
996
997
998 func (client BaseClient) DeleteIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) {
999 urlParameters := map[string]interface{}{
1000 "Endpoint": client.Endpoint,
1001 }
1002
1003 pathParameters := map[string]interface{}{
1004 "iterationId": autorest.Encode("path", iterationID),
1005 "projectId": autorest.Encode("path", projectID),
1006 }
1007
1008 preparer := autorest.CreatePreparer(
1009 autorest.AsDelete(),
1010 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1011 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters),
1012 autorest.WithHeader("Training-Key", client.APIKey))
1013 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1014 }
1015
1016
1017
1018 func (client BaseClient) DeleteIterationSender(req *http.Request) (*http.Response, error) {
1019 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1020 }
1021
1022
1023
1024 func (client BaseClient) DeleteIterationResponder(resp *http.Response) (result autorest.Response, err error) {
1025 err = autorest.Respond(
1026 resp,
1027 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1028 autorest.ByClosing())
1029 result.Response = resp
1030 return
1031 }
1032
1033
1034
1035
1036
1037 func (client BaseClient) DeletePrediction(ctx context.Context, projectID uuid.UUID, ids []uuid.UUID) (result autorest.Response, err error) {
1038 if tracing.IsEnabled() {
1039 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeletePrediction")
1040 defer func() {
1041 sc := -1
1042 if result.Response != nil {
1043 sc = result.Response.StatusCode
1044 }
1045 tracing.EndSpan(ctx, sc, err)
1046 }()
1047 }
1048 if err := validation.Validate([]validation.Validation{
1049 {TargetValue: ids,
1050 Constraints: []validation.Constraint{{Target: "ids", Name: validation.Null, Rule: true,
1051 Chain: []validation.Constraint{{Target: "ids", Name: validation.MaxItems, Rule: 64, Chain: nil},
1052 {Target: "ids", Name: validation.MinItems, Rule: 0, Chain: nil},
1053 }}}}}); err != nil {
1054 return result, validation.NewError("training.BaseClient", "DeletePrediction", err.Error())
1055 }
1056
1057 req, err := client.DeletePredictionPreparer(ctx, projectID, ids)
1058 if err != nil {
1059 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", nil, "Failure preparing request")
1060 return
1061 }
1062
1063 resp, err := client.DeletePredictionSender(req)
1064 if err != nil {
1065 result.Response = resp
1066 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", resp, "Failure sending request")
1067 return
1068 }
1069
1070 result, err = client.DeletePredictionResponder(resp)
1071 if err != nil {
1072 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", resp, "Failure responding to request")
1073 return
1074 }
1075
1076 return
1077 }
1078
1079
1080 func (client BaseClient) DeletePredictionPreparer(ctx context.Context, projectID uuid.UUID, ids []uuid.UUID) (*http.Request, error) {
1081 urlParameters := map[string]interface{}{
1082 "Endpoint": client.Endpoint,
1083 }
1084
1085 pathParameters := map[string]interface{}{
1086 "projectId": autorest.Encode("path", projectID),
1087 }
1088
1089 queryParameters := map[string]interface{}{
1090 "ids": autorest.Encode("query", ids, ","),
1091 }
1092
1093 preparer := autorest.CreatePreparer(
1094 autorest.AsDelete(),
1095 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1096 autorest.WithPathParameters("/projects/{projectId}/predictions", pathParameters),
1097 autorest.WithQueryParameters(queryParameters),
1098 autorest.WithHeader("Training-Key", client.APIKey))
1099 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1100 }
1101
1102
1103
1104 func (client BaseClient) DeletePredictionSender(req *http.Request) (*http.Response, error) {
1105 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1106 }
1107
1108
1109
1110 func (client BaseClient) DeletePredictionResponder(resp *http.Response) (result autorest.Response, err error) {
1111 err = autorest.Respond(
1112 resp,
1113 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1114 autorest.ByClosing())
1115 result.Response = resp
1116 return
1117 }
1118
1119
1120
1121
1122 func (client BaseClient) DeleteProject(ctx context.Context, projectID uuid.UUID) (result autorest.Response, err error) {
1123 if tracing.IsEnabled() {
1124 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteProject")
1125 defer func() {
1126 sc := -1
1127 if result.Response != nil {
1128 sc = result.Response.StatusCode
1129 }
1130 tracing.EndSpan(ctx, sc, err)
1131 }()
1132 }
1133 req, err := client.DeleteProjectPreparer(ctx, projectID)
1134 if err != nil {
1135 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", nil, "Failure preparing request")
1136 return
1137 }
1138
1139 resp, err := client.DeleteProjectSender(req)
1140 if err != nil {
1141 result.Response = resp
1142 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", resp, "Failure sending request")
1143 return
1144 }
1145
1146 result, err = client.DeleteProjectResponder(resp)
1147 if err != nil {
1148 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", resp, "Failure responding to request")
1149 return
1150 }
1151
1152 return
1153 }
1154
1155
1156 func (client BaseClient) DeleteProjectPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) {
1157 urlParameters := map[string]interface{}{
1158 "Endpoint": client.Endpoint,
1159 }
1160
1161 pathParameters := map[string]interface{}{
1162 "projectId": autorest.Encode("path", projectID),
1163 }
1164
1165 preparer := autorest.CreatePreparer(
1166 autorest.AsDelete(),
1167 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1168 autorest.WithPathParameters("/projects/{projectId}", pathParameters),
1169 autorest.WithHeader("Training-Key", client.APIKey))
1170 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1171 }
1172
1173
1174
1175 func (client BaseClient) DeleteProjectSender(req *http.Request) (*http.Response, error) {
1176 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1177 }
1178
1179
1180
1181 func (client BaseClient) DeleteProjectResponder(resp *http.Response) (result autorest.Response, err error) {
1182 err = autorest.Respond(
1183 resp,
1184 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1185 autorest.ByClosing())
1186 result.Response = resp
1187 return
1188 }
1189
1190
1191
1192
1193
1194 func (client BaseClient) DeleteTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID) (result autorest.Response, err error) {
1195 if tracing.IsEnabled() {
1196 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteTag")
1197 defer func() {
1198 sc := -1
1199 if result.Response != nil {
1200 sc = result.Response.StatusCode
1201 }
1202 tracing.EndSpan(ctx, sc, err)
1203 }()
1204 }
1205 req, err := client.DeleteTagPreparer(ctx, projectID, tagID)
1206 if err != nil {
1207 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", nil, "Failure preparing request")
1208 return
1209 }
1210
1211 resp, err := client.DeleteTagSender(req)
1212 if err != nil {
1213 result.Response = resp
1214 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", resp, "Failure sending request")
1215 return
1216 }
1217
1218 result, err = client.DeleteTagResponder(resp)
1219 if err != nil {
1220 err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", resp, "Failure responding to request")
1221 return
1222 }
1223
1224 return
1225 }
1226
1227
1228 func (client BaseClient) DeleteTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID) (*http.Request, error) {
1229 urlParameters := map[string]interface{}{
1230 "Endpoint": client.Endpoint,
1231 }
1232
1233 pathParameters := map[string]interface{}{
1234 "projectId": autorest.Encode("path", projectID),
1235 "tagId": autorest.Encode("path", tagID),
1236 }
1237
1238 preparer := autorest.CreatePreparer(
1239 autorest.AsDelete(),
1240 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1241 autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters),
1242 autorest.WithHeader("Training-Key", client.APIKey))
1243 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1244 }
1245
1246
1247
1248 func (client BaseClient) DeleteTagSender(req *http.Request) (*http.Response, error) {
1249 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1250 }
1251
1252
1253
1254 func (client BaseClient) DeleteTagResponder(resp *http.Response) (result autorest.Response, err error) {
1255 err = autorest.Respond(
1256 resp,
1257 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
1258 autorest.ByClosing())
1259 result.Response = resp
1260 return
1261 }
1262
1263
1264
1265
1266
1267
1268
1269 func (client BaseClient) ExportIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, platform string, flavor string) (result Export, err error) {
1270 if tracing.IsEnabled() {
1271 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ExportIteration")
1272 defer func() {
1273 sc := -1
1274 if result.Response.Response != nil {
1275 sc = result.Response.Response.StatusCode
1276 }
1277 tracing.EndSpan(ctx, sc, err)
1278 }()
1279 }
1280 req, err := client.ExportIterationPreparer(ctx, projectID, iterationID, platform, flavor)
1281 if err != nil {
1282 err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", nil, "Failure preparing request")
1283 return
1284 }
1285
1286 resp, err := client.ExportIterationSender(req)
1287 if err != nil {
1288 result.Response = autorest.Response{Response: resp}
1289 err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", resp, "Failure sending request")
1290 return
1291 }
1292
1293 result, err = client.ExportIterationResponder(resp)
1294 if err != nil {
1295 err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", resp, "Failure responding to request")
1296 return
1297 }
1298
1299 return
1300 }
1301
1302
1303 func (client BaseClient) ExportIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, platform string, flavor string) (*http.Request, error) {
1304 urlParameters := map[string]interface{}{
1305 "Endpoint": client.Endpoint,
1306 }
1307
1308 pathParameters := map[string]interface{}{
1309 "iterationId": autorest.Encode("path", iterationID),
1310 "projectId": autorest.Encode("path", projectID),
1311 }
1312
1313 queryParameters := map[string]interface{}{
1314 "platform": autorest.Encode("query", platform),
1315 }
1316 if len(string(flavor)) > 0 {
1317 queryParameters["flavor"] = autorest.Encode("query", flavor)
1318 }
1319
1320 preparer := autorest.CreatePreparer(
1321 autorest.AsPost(),
1322 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1323 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/export", pathParameters),
1324 autorest.WithQueryParameters(queryParameters),
1325 autorest.WithHeader("Training-Key", client.APIKey))
1326 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1327 }
1328
1329
1330
1331 func (client BaseClient) ExportIterationSender(req *http.Request) (*http.Response, error) {
1332 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1333 }
1334
1335
1336
1337 func (client BaseClient) ExportIterationResponder(resp *http.Response) (result Export, err error) {
1338 err = autorest.Respond(
1339 resp,
1340 azure.WithErrorUnlessStatusCode(http.StatusOK),
1341 autorest.ByUnmarshallingJSON(&result),
1342 autorest.ByClosing())
1343 result.Response = autorest.Response{Response: resp}
1344 return
1345 }
1346
1347
1348
1349
1350 func (client BaseClient) GetDomain(ctx context.Context, domainID uuid.UUID) (result Domain, err error) {
1351 if tracing.IsEnabled() {
1352 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetDomain")
1353 defer func() {
1354 sc := -1
1355 if result.Response.Response != nil {
1356 sc = result.Response.Response.StatusCode
1357 }
1358 tracing.EndSpan(ctx, sc, err)
1359 }()
1360 }
1361 req, err := client.GetDomainPreparer(ctx, domainID)
1362 if err != nil {
1363 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", nil, "Failure preparing request")
1364 return
1365 }
1366
1367 resp, err := client.GetDomainSender(req)
1368 if err != nil {
1369 result.Response = autorest.Response{Response: resp}
1370 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", resp, "Failure sending request")
1371 return
1372 }
1373
1374 result, err = client.GetDomainResponder(resp)
1375 if err != nil {
1376 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", resp, "Failure responding to request")
1377 return
1378 }
1379
1380 return
1381 }
1382
1383
1384 func (client BaseClient) GetDomainPreparer(ctx context.Context, domainID uuid.UUID) (*http.Request, error) {
1385 urlParameters := map[string]interface{}{
1386 "Endpoint": client.Endpoint,
1387 }
1388
1389 pathParameters := map[string]interface{}{
1390 "domainId": autorest.Encode("path", domainID),
1391 }
1392
1393 preparer := autorest.CreatePreparer(
1394 autorest.AsGet(),
1395 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1396 autorest.WithPathParameters("/domains/{domainId}", pathParameters),
1397 autorest.WithHeader("Training-Key", client.APIKey))
1398 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1399 }
1400
1401
1402
1403 func (client BaseClient) GetDomainSender(req *http.Request) (*http.Response, error) {
1404 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1405 }
1406
1407
1408
1409 func (client BaseClient) GetDomainResponder(resp *http.Response) (result Domain, err error) {
1410 err = autorest.Respond(
1411 resp,
1412 azure.WithErrorUnlessStatusCode(http.StatusOK),
1413 autorest.ByUnmarshallingJSON(&result),
1414 autorest.ByClosing())
1415 result.Response = autorest.Response{Response: resp}
1416 return
1417 }
1418
1419
1420 func (client BaseClient) GetDomains(ctx context.Context) (result ListDomain, err error) {
1421 if tracing.IsEnabled() {
1422 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetDomains")
1423 defer func() {
1424 sc := -1
1425 if result.Response.Response != nil {
1426 sc = result.Response.Response.StatusCode
1427 }
1428 tracing.EndSpan(ctx, sc, err)
1429 }()
1430 }
1431 req, err := client.GetDomainsPreparer(ctx)
1432 if err != nil {
1433 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", nil, "Failure preparing request")
1434 return
1435 }
1436
1437 resp, err := client.GetDomainsSender(req)
1438 if err != nil {
1439 result.Response = autorest.Response{Response: resp}
1440 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", resp, "Failure sending request")
1441 return
1442 }
1443
1444 result, err = client.GetDomainsResponder(resp)
1445 if err != nil {
1446 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", resp, "Failure responding to request")
1447 return
1448 }
1449
1450 return
1451 }
1452
1453
1454 func (client BaseClient) GetDomainsPreparer(ctx context.Context) (*http.Request, error) {
1455 urlParameters := map[string]interface{}{
1456 "Endpoint": client.Endpoint,
1457 }
1458
1459 preparer := autorest.CreatePreparer(
1460 autorest.AsGet(),
1461 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1462 autorest.WithPath("/domains"),
1463 autorest.WithHeader("Training-Key", client.APIKey))
1464 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1465 }
1466
1467
1468
1469 func (client BaseClient) GetDomainsSender(req *http.Request) (*http.Response, error) {
1470 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1471 }
1472
1473
1474
1475 func (client BaseClient) GetDomainsResponder(resp *http.Response) (result ListDomain, err error) {
1476 err = autorest.Respond(
1477 resp,
1478 azure.WithErrorUnlessStatusCode(http.StatusOK),
1479 autorest.ByUnmarshallingJSON(&result.Value),
1480 autorest.ByClosing())
1481 result.Response = autorest.Response{Response: resp}
1482 return
1483 }
1484
1485
1486
1487
1488
1489 func (client BaseClient) GetExports(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result ListExport, err error) {
1490 if tracing.IsEnabled() {
1491 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetExports")
1492 defer func() {
1493 sc := -1
1494 if result.Response.Response != nil {
1495 sc = result.Response.Response.StatusCode
1496 }
1497 tracing.EndSpan(ctx, sc, err)
1498 }()
1499 }
1500 req, err := client.GetExportsPreparer(ctx, projectID, iterationID)
1501 if err != nil {
1502 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", nil, "Failure preparing request")
1503 return
1504 }
1505
1506 resp, err := client.GetExportsSender(req)
1507 if err != nil {
1508 result.Response = autorest.Response{Response: resp}
1509 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", resp, "Failure sending request")
1510 return
1511 }
1512
1513 result, err = client.GetExportsResponder(resp)
1514 if err != nil {
1515 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", resp, "Failure responding to request")
1516 return
1517 }
1518
1519 return
1520 }
1521
1522
1523 func (client BaseClient) GetExportsPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) {
1524 urlParameters := map[string]interface{}{
1525 "Endpoint": client.Endpoint,
1526 }
1527
1528 pathParameters := map[string]interface{}{
1529 "iterationId": autorest.Encode("path", iterationID),
1530 "projectId": autorest.Encode("path", projectID),
1531 }
1532
1533 preparer := autorest.CreatePreparer(
1534 autorest.AsGet(),
1535 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1536 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/export", pathParameters),
1537 autorest.WithHeader("Training-Key", client.APIKey))
1538 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1539 }
1540
1541
1542
1543 func (client BaseClient) GetExportsSender(req *http.Request) (*http.Response, error) {
1544 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1545 }
1546
1547
1548
1549 func (client BaseClient) GetExportsResponder(resp *http.Response) (result ListExport, err error) {
1550 err = autorest.Respond(
1551 resp,
1552 azure.WithErrorUnlessStatusCode(http.StatusOK),
1553 autorest.ByUnmarshallingJSON(&result.Value),
1554 autorest.ByClosing())
1555 result.Response = autorest.Response{Response: resp}
1556 return
1557 }
1558
1559
1560
1561
1562
1563
1564
1565
1566 func (client BaseClient) GetImagePerformanceCount(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID) (result Int32, err error) {
1567 if tracing.IsEnabled() {
1568 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagePerformanceCount")
1569 defer func() {
1570 sc := -1
1571 if result.Response.Response != nil {
1572 sc = result.Response.Response.StatusCode
1573 }
1574 tracing.EndSpan(ctx, sc, err)
1575 }()
1576 }
1577 req, err := client.GetImagePerformanceCountPreparer(ctx, projectID, iterationID, tagIds)
1578 if err != nil {
1579 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", nil, "Failure preparing request")
1580 return
1581 }
1582
1583 resp, err := client.GetImagePerformanceCountSender(req)
1584 if err != nil {
1585 result.Response = autorest.Response{Response: resp}
1586 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", resp, "Failure sending request")
1587 return
1588 }
1589
1590 result, err = client.GetImagePerformanceCountResponder(resp)
1591 if err != nil {
1592 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", resp, "Failure responding to request")
1593 return
1594 }
1595
1596 return
1597 }
1598
1599
1600 func (client BaseClient) GetImagePerformanceCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) {
1601 urlParameters := map[string]interface{}{
1602 "Endpoint": client.Endpoint,
1603 }
1604
1605 pathParameters := map[string]interface{}{
1606 "iterationId": autorest.Encode("path", iterationID),
1607 "projectId": autorest.Encode("path", projectID),
1608 }
1609
1610 queryParameters := map[string]interface{}{}
1611 if tagIds != nil && len(tagIds) > 0 {
1612 queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",")
1613 }
1614
1615 preparer := autorest.CreatePreparer(
1616 autorest.AsGet(),
1617 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1618 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance/images/count", pathParameters),
1619 autorest.WithQueryParameters(queryParameters),
1620 autorest.WithHeader("Training-Key", client.APIKey))
1621 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1622 }
1623
1624
1625
1626 func (client BaseClient) GetImagePerformanceCountSender(req *http.Request) (*http.Response, error) {
1627 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1628 }
1629
1630
1631
1632 func (client BaseClient) GetImagePerformanceCountResponder(resp *http.Response) (result Int32, err error) {
1633 err = autorest.Respond(
1634 resp,
1635 azure.WithErrorUnlessStatusCode(http.StatusOK),
1636 autorest.ByUnmarshallingJSON(&result.Value),
1637 autorest.ByClosing())
1638 result.Response = autorest.Response{Response: resp}
1639 return
1640 }
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654 func (client BaseClient) GetImagePerformances(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImagePerformance, err error) {
1655 if tracing.IsEnabled() {
1656 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagePerformances")
1657 defer func() {
1658 sc := -1
1659 if result.Response.Response != nil {
1660 sc = result.Response.Response.StatusCode
1661 }
1662 tracing.EndSpan(ctx, sc, err)
1663 }()
1664 }
1665 if err := validation.Validate([]validation.Validation{
1666 {TargetValue: tagIds,
1667 Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false,
1668 Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil},
1669 {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil},
1670 }}}},
1671 {TargetValue: take,
1672 Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false,
1673 Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil},
1674 {Target: "take", Name: validation.InclusiveMinimum, Rule: int64(0), Chain: nil},
1675 }}}}}); err != nil {
1676 return result, validation.NewError("training.BaseClient", "GetImagePerformances", err.Error())
1677 }
1678
1679 req, err := client.GetImagePerformancesPreparer(ctx, projectID, iterationID, tagIds, orderBy, take, skip)
1680 if err != nil {
1681 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", nil, "Failure preparing request")
1682 return
1683 }
1684
1685 resp, err := client.GetImagePerformancesSender(req)
1686 if err != nil {
1687 result.Response = autorest.Response{Response: resp}
1688 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", resp, "Failure sending request")
1689 return
1690 }
1691
1692 result, err = client.GetImagePerformancesResponder(resp)
1693 if err != nil {
1694 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", resp, "Failure responding to request")
1695 return
1696 }
1697
1698 return
1699 }
1700
1701
1702 func (client BaseClient) GetImagePerformancesPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) {
1703 urlParameters := map[string]interface{}{
1704 "Endpoint": client.Endpoint,
1705 }
1706
1707 pathParameters := map[string]interface{}{
1708 "iterationId": autorest.Encode("path", iterationID),
1709 "projectId": autorest.Encode("path", projectID),
1710 }
1711
1712 queryParameters := map[string]interface{}{}
1713 if tagIds != nil && len(tagIds) > 0 {
1714 queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",")
1715 }
1716 if len(string(orderBy)) > 0 {
1717 queryParameters["orderBy"] = autorest.Encode("query", orderBy)
1718 }
1719 if take != nil {
1720 queryParameters["take"] = autorest.Encode("query", *take)
1721 } else {
1722 queryParameters["take"] = autorest.Encode("query", 50)
1723 }
1724 if skip != nil {
1725 queryParameters["skip"] = autorest.Encode("query", *skip)
1726 } else {
1727 queryParameters["skip"] = autorest.Encode("query", 0)
1728 }
1729
1730 preparer := autorest.CreatePreparer(
1731 autorest.AsGet(),
1732 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1733 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance/images", pathParameters),
1734 autorest.WithQueryParameters(queryParameters),
1735 autorest.WithHeader("Training-Key", client.APIKey))
1736 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1737 }
1738
1739
1740
1741 func (client BaseClient) GetImagePerformancesSender(req *http.Request) (*http.Response, error) {
1742 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1743 }
1744
1745
1746
1747 func (client BaseClient) GetImagePerformancesResponder(resp *http.Response) (result ListImagePerformance, err error) {
1748 err = autorest.Respond(
1749 resp,
1750 azure.WithErrorUnlessStatusCode(http.StatusOK),
1751 autorest.ByUnmarshallingJSON(&result.Value),
1752 autorest.ByClosing())
1753 result.Response = autorest.Response{Response: resp}
1754 return
1755 }
1756
1757
1758
1759
1760
1761
1762 func (client BaseClient) GetImageRegionProposals(ctx context.Context, projectID uuid.UUID, imageID uuid.UUID) (result ImageRegionProposal, err error) {
1763 if tracing.IsEnabled() {
1764 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImageRegionProposals")
1765 defer func() {
1766 sc := -1
1767 if result.Response.Response != nil {
1768 sc = result.Response.Response.StatusCode
1769 }
1770 tracing.EndSpan(ctx, sc, err)
1771 }()
1772 }
1773 req, err := client.GetImageRegionProposalsPreparer(ctx, projectID, imageID)
1774 if err != nil {
1775 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", nil, "Failure preparing request")
1776 return
1777 }
1778
1779 resp, err := client.GetImageRegionProposalsSender(req)
1780 if err != nil {
1781 result.Response = autorest.Response{Response: resp}
1782 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", resp, "Failure sending request")
1783 return
1784 }
1785
1786 result, err = client.GetImageRegionProposalsResponder(resp)
1787 if err != nil {
1788 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", resp, "Failure responding to request")
1789 return
1790 }
1791
1792 return
1793 }
1794
1795
1796 func (client BaseClient) GetImageRegionProposalsPreparer(ctx context.Context, projectID uuid.UUID, imageID uuid.UUID) (*http.Request, error) {
1797 urlParameters := map[string]interface{}{
1798 "Endpoint": client.Endpoint,
1799 }
1800
1801 pathParameters := map[string]interface{}{
1802 "imageId": autorest.Encode("path", imageID),
1803 "projectId": autorest.Encode("path", projectID),
1804 }
1805
1806 preparer := autorest.CreatePreparer(
1807 autorest.AsPost(),
1808 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1809 autorest.WithPathParameters("/projects/{projectId}/images/{imageId}/regionproposals", pathParameters),
1810 autorest.WithHeader("Training-Key", client.APIKey))
1811 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1812 }
1813
1814
1815
1816 func (client BaseClient) GetImageRegionProposalsSender(req *http.Request) (*http.Response, error) {
1817 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1818 }
1819
1820
1821
1822 func (client BaseClient) GetImageRegionProposalsResponder(resp *http.Response) (result ImageRegionProposal, err error) {
1823 err = autorest.Respond(
1824 resp,
1825 azure.WithErrorUnlessStatusCode(http.StatusOK),
1826 autorest.ByUnmarshallingJSON(&result),
1827 autorest.ByClosing())
1828 result.Response = autorest.Response{Response: resp}
1829 return
1830 }
1831
1832
1833
1834
1835
1836
1837
1838
1839 func (client BaseClient) GetImagesByIds(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, iterationID *uuid.UUID) (result ListImage, err error) {
1840 if tracing.IsEnabled() {
1841 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagesByIds")
1842 defer func() {
1843 sc := -1
1844 if result.Response.Response != nil {
1845 sc = result.Response.Response.StatusCode
1846 }
1847 tracing.EndSpan(ctx, sc, err)
1848 }()
1849 }
1850 if err := validation.Validate([]validation.Validation{
1851 {TargetValue: imageIds,
1852 Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: false,
1853 Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 256, Chain: nil},
1854 {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil},
1855 }}}}}); err != nil {
1856 return result, validation.NewError("training.BaseClient", "GetImagesByIds", err.Error())
1857 }
1858
1859 req, err := client.GetImagesByIdsPreparer(ctx, projectID, imageIds, iterationID)
1860 if err != nil {
1861 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", nil, "Failure preparing request")
1862 return
1863 }
1864
1865 resp, err := client.GetImagesByIdsSender(req)
1866 if err != nil {
1867 result.Response = autorest.Response{Response: resp}
1868 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", resp, "Failure sending request")
1869 return
1870 }
1871
1872 result, err = client.GetImagesByIdsResponder(resp)
1873 if err != nil {
1874 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", resp, "Failure responding to request")
1875 return
1876 }
1877
1878 return
1879 }
1880
1881
1882 func (client BaseClient) GetImagesByIdsPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) {
1883 urlParameters := map[string]interface{}{
1884 "Endpoint": client.Endpoint,
1885 }
1886
1887 pathParameters := map[string]interface{}{
1888 "projectId": autorest.Encode("path", projectID),
1889 }
1890
1891 queryParameters := map[string]interface{}{}
1892 if imageIds != nil && len(imageIds) > 0 {
1893 queryParameters["imageIds"] = autorest.Encode("query", imageIds, ",")
1894 }
1895 if iterationID != nil {
1896 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
1897 }
1898
1899 preparer := autorest.CreatePreparer(
1900 autorest.AsGet(),
1901 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1902 autorest.WithPathParameters("/projects/{projectId}/images/id", pathParameters),
1903 autorest.WithQueryParameters(queryParameters),
1904 autorest.WithHeader("Training-Key", client.APIKey))
1905 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1906 }
1907
1908
1909
1910 func (client BaseClient) GetImagesByIdsSender(req *http.Request) (*http.Response, error) {
1911 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1912 }
1913
1914
1915
1916 func (client BaseClient) GetImagesByIdsResponder(resp *http.Response) (result ListImage, err error) {
1917 err = autorest.Respond(
1918 resp,
1919 azure.WithErrorUnlessStatusCode(http.StatusOK),
1920 autorest.ByUnmarshallingJSON(&result.Value),
1921 autorest.ByClosing())
1922 result.Response = autorest.Response{Response: resp}
1923 return
1924 }
1925
1926
1927
1928
1929
1930 func (client BaseClient) GetIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result Iteration, err error) {
1931 if tracing.IsEnabled() {
1932 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIteration")
1933 defer func() {
1934 sc := -1
1935 if result.Response.Response != nil {
1936 sc = result.Response.Response.StatusCode
1937 }
1938 tracing.EndSpan(ctx, sc, err)
1939 }()
1940 }
1941 req, err := client.GetIterationPreparer(ctx, projectID, iterationID)
1942 if err != nil {
1943 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", nil, "Failure preparing request")
1944 return
1945 }
1946
1947 resp, err := client.GetIterationSender(req)
1948 if err != nil {
1949 result.Response = autorest.Response{Response: resp}
1950 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", resp, "Failure sending request")
1951 return
1952 }
1953
1954 result, err = client.GetIterationResponder(resp)
1955 if err != nil {
1956 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", resp, "Failure responding to request")
1957 return
1958 }
1959
1960 return
1961 }
1962
1963
1964 func (client BaseClient) GetIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) {
1965 urlParameters := map[string]interface{}{
1966 "Endpoint": client.Endpoint,
1967 }
1968
1969 pathParameters := map[string]interface{}{
1970 "iterationId": autorest.Encode("path", iterationID),
1971 "projectId": autorest.Encode("path", projectID),
1972 }
1973
1974 preparer := autorest.CreatePreparer(
1975 autorest.AsGet(),
1976 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
1977 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters),
1978 autorest.WithHeader("Training-Key", client.APIKey))
1979 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1980 }
1981
1982
1983
1984 func (client BaseClient) GetIterationSender(req *http.Request) (*http.Response, error) {
1985 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1986 }
1987
1988
1989
1990 func (client BaseClient) GetIterationResponder(resp *http.Response) (result Iteration, err error) {
1991 err = autorest.Respond(
1992 resp,
1993 azure.WithErrorUnlessStatusCode(http.StatusOK),
1994 autorest.ByUnmarshallingJSON(&result),
1995 autorest.ByClosing())
1996 result.Response = autorest.Response{Response: resp}
1997 return
1998 }
1999
2000
2001
2002
2003
2004
2005
2006 func (client BaseClient) GetIterationPerformance(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, threshold *float64, overlapThreshold *float64) (result IterationPerformance, err error) {
2007 if tracing.IsEnabled() {
2008 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIterationPerformance")
2009 defer func() {
2010 sc := -1
2011 if result.Response.Response != nil {
2012 sc = result.Response.Response.StatusCode
2013 }
2014 tracing.EndSpan(ctx, sc, err)
2015 }()
2016 }
2017 req, err := client.GetIterationPerformancePreparer(ctx, projectID, iterationID, threshold, overlapThreshold)
2018 if err != nil {
2019 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", nil, "Failure preparing request")
2020 return
2021 }
2022
2023 resp, err := client.GetIterationPerformanceSender(req)
2024 if err != nil {
2025 result.Response = autorest.Response{Response: resp}
2026 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", resp, "Failure sending request")
2027 return
2028 }
2029
2030 result, err = client.GetIterationPerformanceResponder(resp)
2031 if err != nil {
2032 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", resp, "Failure responding to request")
2033 return
2034 }
2035
2036 return
2037 }
2038
2039
2040 func (client BaseClient) GetIterationPerformancePreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, threshold *float64, overlapThreshold *float64) (*http.Request, error) {
2041 urlParameters := map[string]interface{}{
2042 "Endpoint": client.Endpoint,
2043 }
2044
2045 pathParameters := map[string]interface{}{
2046 "iterationId": autorest.Encode("path", iterationID),
2047 "projectId": autorest.Encode("path", projectID),
2048 }
2049
2050 queryParameters := map[string]interface{}{}
2051 if threshold != nil {
2052 queryParameters["threshold"] = autorest.Encode("query", *threshold)
2053 }
2054 if overlapThreshold != nil {
2055 queryParameters["overlapThreshold"] = autorest.Encode("query", *overlapThreshold)
2056 }
2057
2058 preparer := autorest.CreatePreparer(
2059 autorest.AsGet(),
2060 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2061 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance", pathParameters),
2062 autorest.WithQueryParameters(queryParameters),
2063 autorest.WithHeader("Training-Key", client.APIKey))
2064 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2065 }
2066
2067
2068
2069 func (client BaseClient) GetIterationPerformanceSender(req *http.Request) (*http.Response, error) {
2070 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2071 }
2072
2073
2074
2075 func (client BaseClient) GetIterationPerformanceResponder(resp *http.Response) (result IterationPerformance, err error) {
2076 err = autorest.Respond(
2077 resp,
2078 azure.WithErrorUnlessStatusCode(http.StatusOK),
2079 autorest.ByUnmarshallingJSON(&result),
2080 autorest.ByClosing())
2081 result.Response = autorest.Response{Response: resp}
2082 return
2083 }
2084
2085
2086
2087
2088 func (client BaseClient) GetIterations(ctx context.Context, projectID uuid.UUID) (result ListIteration, err error) {
2089 if tracing.IsEnabled() {
2090 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIterations")
2091 defer func() {
2092 sc := -1
2093 if result.Response.Response != nil {
2094 sc = result.Response.Response.StatusCode
2095 }
2096 tracing.EndSpan(ctx, sc, err)
2097 }()
2098 }
2099 req, err := client.GetIterationsPreparer(ctx, projectID)
2100 if err != nil {
2101 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", nil, "Failure preparing request")
2102 return
2103 }
2104
2105 resp, err := client.GetIterationsSender(req)
2106 if err != nil {
2107 result.Response = autorest.Response{Response: resp}
2108 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", resp, "Failure sending request")
2109 return
2110 }
2111
2112 result, err = client.GetIterationsResponder(resp)
2113 if err != nil {
2114 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", resp, "Failure responding to request")
2115 return
2116 }
2117
2118 return
2119 }
2120
2121
2122 func (client BaseClient) GetIterationsPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) {
2123 urlParameters := map[string]interface{}{
2124 "Endpoint": client.Endpoint,
2125 }
2126
2127 pathParameters := map[string]interface{}{
2128 "projectId": autorest.Encode("path", projectID),
2129 }
2130
2131 preparer := autorest.CreatePreparer(
2132 autorest.AsGet(),
2133 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2134 autorest.WithPathParameters("/projects/{projectId}/iterations", pathParameters),
2135 autorest.WithHeader("Training-Key", client.APIKey))
2136 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2137 }
2138
2139
2140
2141 func (client BaseClient) GetIterationsSender(req *http.Request) (*http.Response, error) {
2142 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2143 }
2144
2145
2146
2147 func (client BaseClient) GetIterationsResponder(resp *http.Response) (result ListIteration, err error) {
2148 err = autorest.Respond(
2149 resp,
2150 azure.WithErrorUnlessStatusCode(http.StatusOK),
2151 autorest.ByUnmarshallingJSON(&result.Value),
2152 autorest.ByClosing())
2153 result.Response = autorest.Response{Response: resp}
2154 return
2155 }
2156
2157
2158
2159
2160 func (client BaseClient) GetProject(ctx context.Context, projectID uuid.UUID) (result Project, err error) {
2161 if tracing.IsEnabled() {
2162 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetProject")
2163 defer func() {
2164 sc := -1
2165 if result.Response.Response != nil {
2166 sc = result.Response.Response.StatusCode
2167 }
2168 tracing.EndSpan(ctx, sc, err)
2169 }()
2170 }
2171 req, err := client.GetProjectPreparer(ctx, projectID)
2172 if err != nil {
2173 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", nil, "Failure preparing request")
2174 return
2175 }
2176
2177 resp, err := client.GetProjectSender(req)
2178 if err != nil {
2179 result.Response = autorest.Response{Response: resp}
2180 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", resp, "Failure sending request")
2181 return
2182 }
2183
2184 result, err = client.GetProjectResponder(resp)
2185 if err != nil {
2186 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", resp, "Failure responding to request")
2187 return
2188 }
2189
2190 return
2191 }
2192
2193
2194 func (client BaseClient) GetProjectPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) {
2195 urlParameters := map[string]interface{}{
2196 "Endpoint": client.Endpoint,
2197 }
2198
2199 pathParameters := map[string]interface{}{
2200 "projectId": autorest.Encode("path", projectID),
2201 }
2202
2203 preparer := autorest.CreatePreparer(
2204 autorest.AsGet(),
2205 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2206 autorest.WithPathParameters("/projects/{projectId}", pathParameters),
2207 autorest.WithHeader("Training-Key", client.APIKey))
2208 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2209 }
2210
2211
2212
2213 func (client BaseClient) GetProjectSender(req *http.Request) (*http.Response, error) {
2214 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2215 }
2216
2217
2218
2219 func (client BaseClient) GetProjectResponder(resp *http.Response) (result Project, err error) {
2220 err = autorest.Respond(
2221 resp,
2222 azure.WithErrorUnlessStatusCode(http.StatusOK),
2223 autorest.ByUnmarshallingJSON(&result),
2224 autorest.ByClosing())
2225 result.Response = autorest.Response{Response: resp}
2226 return
2227 }
2228
2229
2230 func (client BaseClient) GetProjects(ctx context.Context) (result ListProject, err error) {
2231 if tracing.IsEnabled() {
2232 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetProjects")
2233 defer func() {
2234 sc := -1
2235 if result.Response.Response != nil {
2236 sc = result.Response.Response.StatusCode
2237 }
2238 tracing.EndSpan(ctx, sc, err)
2239 }()
2240 }
2241 req, err := client.GetProjectsPreparer(ctx)
2242 if err != nil {
2243 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", nil, "Failure preparing request")
2244 return
2245 }
2246
2247 resp, err := client.GetProjectsSender(req)
2248 if err != nil {
2249 result.Response = autorest.Response{Response: resp}
2250 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", resp, "Failure sending request")
2251 return
2252 }
2253
2254 result, err = client.GetProjectsResponder(resp)
2255 if err != nil {
2256 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", resp, "Failure responding to request")
2257 return
2258 }
2259
2260 return
2261 }
2262
2263
2264 func (client BaseClient) GetProjectsPreparer(ctx context.Context) (*http.Request, error) {
2265 urlParameters := map[string]interface{}{
2266 "Endpoint": client.Endpoint,
2267 }
2268
2269 preparer := autorest.CreatePreparer(
2270 autorest.AsGet(),
2271 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2272 autorest.WithPath("/projects"),
2273 autorest.WithHeader("Training-Key", client.APIKey))
2274 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2275 }
2276
2277
2278
2279 func (client BaseClient) GetProjectsSender(req *http.Request) (*http.Response, error) {
2280 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2281 }
2282
2283
2284
2285 func (client BaseClient) GetProjectsResponder(resp *http.Response) (result ListProject, err error) {
2286 err = autorest.Respond(
2287 resp,
2288 azure.WithErrorUnlessStatusCode(http.StatusOK),
2289 autorest.ByUnmarshallingJSON(&result.Value),
2290 autorest.ByClosing())
2291 result.Response = autorest.Response{Response: resp}
2292 return
2293 }
2294
2295
2296
2297
2298
2299
2300 func (client BaseClient) GetTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, iterationID *uuid.UUID) (result Tag, err error) {
2301 if tracing.IsEnabled() {
2302 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTag")
2303 defer func() {
2304 sc := -1
2305 if result.Response.Response != nil {
2306 sc = result.Response.Response.StatusCode
2307 }
2308 tracing.EndSpan(ctx, sc, err)
2309 }()
2310 }
2311 req, err := client.GetTagPreparer(ctx, projectID, tagID, iterationID)
2312 if err != nil {
2313 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", nil, "Failure preparing request")
2314 return
2315 }
2316
2317 resp, err := client.GetTagSender(req)
2318 if err != nil {
2319 result.Response = autorest.Response{Response: resp}
2320 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", resp, "Failure sending request")
2321 return
2322 }
2323
2324 result, err = client.GetTagResponder(resp)
2325 if err != nil {
2326 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", resp, "Failure responding to request")
2327 return
2328 }
2329
2330 return
2331 }
2332
2333
2334 func (client BaseClient) GetTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) {
2335 urlParameters := map[string]interface{}{
2336 "Endpoint": client.Endpoint,
2337 }
2338
2339 pathParameters := map[string]interface{}{
2340 "projectId": autorest.Encode("path", projectID),
2341 "tagId": autorest.Encode("path", tagID),
2342 }
2343
2344 queryParameters := map[string]interface{}{}
2345 if iterationID != nil {
2346 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2347 }
2348
2349 preparer := autorest.CreatePreparer(
2350 autorest.AsGet(),
2351 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2352 autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters),
2353 autorest.WithQueryParameters(queryParameters),
2354 autorest.WithHeader("Training-Key", client.APIKey))
2355 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2356 }
2357
2358
2359
2360 func (client BaseClient) GetTagSender(req *http.Request) (*http.Response, error) {
2361 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2362 }
2363
2364
2365
2366 func (client BaseClient) GetTagResponder(resp *http.Response) (result Tag, err error) {
2367 err = autorest.Respond(
2368 resp,
2369 azure.WithErrorUnlessStatusCode(http.StatusOK),
2370 autorest.ByUnmarshallingJSON(&result),
2371 autorest.ByClosing())
2372 result.Response = autorest.Response{Response: resp}
2373 return
2374 }
2375
2376
2377
2378
2379
2380
2381
2382
2383 func (client BaseClient) GetTaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID) (result Int32, err error) {
2384 if tracing.IsEnabled() {
2385 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTaggedImageCount")
2386 defer func() {
2387 sc := -1
2388 if result.Response.Response != nil {
2389 sc = result.Response.Response.StatusCode
2390 }
2391 tracing.EndSpan(ctx, sc, err)
2392 }()
2393 }
2394 req, err := client.GetTaggedImageCountPreparer(ctx, projectID, iterationID, tagIds)
2395 if err != nil {
2396 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", nil, "Failure preparing request")
2397 return
2398 }
2399
2400 resp, err := client.GetTaggedImageCountSender(req)
2401 if err != nil {
2402 result.Response = autorest.Response{Response: resp}
2403 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", resp, "Failure sending request")
2404 return
2405 }
2406
2407 result, err = client.GetTaggedImageCountResponder(resp)
2408 if err != nil {
2409 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", resp, "Failure responding to request")
2410 return
2411 }
2412
2413 return
2414 }
2415
2416
2417 func (client BaseClient) GetTaggedImageCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) {
2418 urlParameters := map[string]interface{}{
2419 "Endpoint": client.Endpoint,
2420 }
2421
2422 pathParameters := map[string]interface{}{
2423 "projectId": autorest.Encode("path", projectID),
2424 }
2425
2426 queryParameters := map[string]interface{}{}
2427 if iterationID != nil {
2428 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2429 }
2430 if tagIds != nil && len(tagIds) > 0 {
2431 queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",")
2432 }
2433
2434 preparer := autorest.CreatePreparer(
2435 autorest.AsGet(),
2436 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2437 autorest.WithPathParameters("/projects/{projectId}/images/tagged/count", pathParameters),
2438 autorest.WithQueryParameters(queryParameters),
2439 autorest.WithHeader("Training-Key", client.APIKey))
2440 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2441 }
2442
2443
2444
2445 func (client BaseClient) GetTaggedImageCountSender(req *http.Request) (*http.Response, error) {
2446 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2447 }
2448
2449
2450
2451 func (client BaseClient) GetTaggedImageCountResponder(resp *http.Response) (result Int32, err error) {
2452 err = autorest.Respond(
2453 resp,
2454 azure.WithErrorUnlessStatusCode(http.StatusOK),
2455 autorest.ByUnmarshallingJSON(&result.Value),
2456 autorest.ByClosing())
2457 result.Response = autorest.Response{Response: resp}
2458 return
2459 }
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473 func (client BaseClient) GetTaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImage, err error) {
2474 if tracing.IsEnabled() {
2475 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTaggedImages")
2476 defer func() {
2477 sc := -1
2478 if result.Response.Response != nil {
2479 sc = result.Response.Response.StatusCode
2480 }
2481 tracing.EndSpan(ctx, sc, err)
2482 }()
2483 }
2484 if err := validation.Validate([]validation.Validation{
2485 {TargetValue: tagIds,
2486 Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false,
2487 Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil},
2488 {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil},
2489 }}}},
2490 {TargetValue: take,
2491 Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false,
2492 Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil},
2493 {Target: "take", Name: validation.InclusiveMinimum, Rule: int64(0), Chain: nil},
2494 }}}}}); err != nil {
2495 return result, validation.NewError("training.BaseClient", "GetTaggedImages", err.Error())
2496 }
2497
2498 req, err := client.GetTaggedImagesPreparer(ctx, projectID, iterationID, tagIds, orderBy, take, skip)
2499 if err != nil {
2500 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", nil, "Failure preparing request")
2501 return
2502 }
2503
2504 resp, err := client.GetTaggedImagesSender(req)
2505 if err != nil {
2506 result.Response = autorest.Response{Response: resp}
2507 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", resp, "Failure sending request")
2508 return
2509 }
2510
2511 result, err = client.GetTaggedImagesResponder(resp)
2512 if err != nil {
2513 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", resp, "Failure responding to request")
2514 return
2515 }
2516
2517 return
2518 }
2519
2520
2521 func (client BaseClient) GetTaggedImagesPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) {
2522 urlParameters := map[string]interface{}{
2523 "Endpoint": client.Endpoint,
2524 }
2525
2526 pathParameters := map[string]interface{}{
2527 "projectId": autorest.Encode("path", projectID),
2528 }
2529
2530 queryParameters := map[string]interface{}{}
2531 if iterationID != nil {
2532 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2533 }
2534 if tagIds != nil && len(tagIds) > 0 {
2535 queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",")
2536 }
2537 if len(string(orderBy)) > 0 {
2538 queryParameters["orderBy"] = autorest.Encode("query", orderBy)
2539 }
2540 if take != nil {
2541 queryParameters["take"] = autorest.Encode("query", *take)
2542 } else {
2543 queryParameters["take"] = autorest.Encode("query", 50)
2544 }
2545 if skip != nil {
2546 queryParameters["skip"] = autorest.Encode("query", *skip)
2547 } else {
2548 queryParameters["skip"] = autorest.Encode("query", 0)
2549 }
2550
2551 preparer := autorest.CreatePreparer(
2552 autorest.AsGet(),
2553 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2554 autorest.WithPathParameters("/projects/{projectId}/images/tagged", pathParameters),
2555 autorest.WithQueryParameters(queryParameters),
2556 autorest.WithHeader("Training-Key", client.APIKey))
2557 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2558 }
2559
2560
2561
2562 func (client BaseClient) GetTaggedImagesSender(req *http.Request) (*http.Response, error) {
2563 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2564 }
2565
2566
2567
2568 func (client BaseClient) GetTaggedImagesResponder(resp *http.Response) (result ListImage, err error) {
2569 err = autorest.Respond(
2570 resp,
2571 azure.WithErrorUnlessStatusCode(http.StatusOK),
2572 autorest.ByUnmarshallingJSON(&result.Value),
2573 autorest.ByClosing())
2574 result.Response = autorest.Response{Response: resp}
2575 return
2576 }
2577
2578
2579
2580
2581
2582 func (client BaseClient) GetTags(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result ListTag, err error) {
2583 if tracing.IsEnabled() {
2584 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTags")
2585 defer func() {
2586 sc := -1
2587 if result.Response.Response != nil {
2588 sc = result.Response.Response.StatusCode
2589 }
2590 tracing.EndSpan(ctx, sc, err)
2591 }()
2592 }
2593 req, err := client.GetTagsPreparer(ctx, projectID, iterationID)
2594 if err != nil {
2595 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", nil, "Failure preparing request")
2596 return
2597 }
2598
2599 resp, err := client.GetTagsSender(req)
2600 if err != nil {
2601 result.Response = autorest.Response{Response: resp}
2602 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", resp, "Failure sending request")
2603 return
2604 }
2605
2606 result, err = client.GetTagsResponder(resp)
2607 if err != nil {
2608 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", resp, "Failure responding to request")
2609 return
2610 }
2611
2612 return
2613 }
2614
2615
2616 func (client BaseClient) GetTagsPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) {
2617 urlParameters := map[string]interface{}{
2618 "Endpoint": client.Endpoint,
2619 }
2620
2621 pathParameters := map[string]interface{}{
2622 "projectId": autorest.Encode("path", projectID),
2623 }
2624
2625 queryParameters := map[string]interface{}{}
2626 if iterationID != nil {
2627 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2628 }
2629
2630 preparer := autorest.CreatePreparer(
2631 autorest.AsGet(),
2632 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2633 autorest.WithPathParameters("/projects/{projectId}/tags", pathParameters),
2634 autorest.WithQueryParameters(queryParameters),
2635 autorest.WithHeader("Training-Key", client.APIKey))
2636 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2637 }
2638
2639
2640
2641 func (client BaseClient) GetTagsSender(req *http.Request) (*http.Response, error) {
2642 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2643 }
2644
2645
2646
2647 func (client BaseClient) GetTagsResponder(resp *http.Response) (result ListTag, err error) {
2648 err = autorest.Respond(
2649 resp,
2650 azure.WithErrorUnlessStatusCode(http.StatusOK),
2651 autorest.ByUnmarshallingJSON(&result.Value),
2652 autorest.ByClosing())
2653 result.Response = autorest.Response{Response: resp}
2654 return
2655 }
2656
2657
2658
2659
2660
2661
2662
2663 func (client BaseClient) GetUntaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result Int32, err error) {
2664 if tracing.IsEnabled() {
2665 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetUntaggedImageCount")
2666 defer func() {
2667 sc := -1
2668 if result.Response.Response != nil {
2669 sc = result.Response.Response.StatusCode
2670 }
2671 tracing.EndSpan(ctx, sc, err)
2672 }()
2673 }
2674 req, err := client.GetUntaggedImageCountPreparer(ctx, projectID, iterationID)
2675 if err != nil {
2676 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", nil, "Failure preparing request")
2677 return
2678 }
2679
2680 resp, err := client.GetUntaggedImageCountSender(req)
2681 if err != nil {
2682 result.Response = autorest.Response{Response: resp}
2683 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", resp, "Failure sending request")
2684 return
2685 }
2686
2687 result, err = client.GetUntaggedImageCountResponder(resp)
2688 if err != nil {
2689 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", resp, "Failure responding to request")
2690 return
2691 }
2692
2693 return
2694 }
2695
2696
2697 func (client BaseClient) GetUntaggedImageCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) {
2698 urlParameters := map[string]interface{}{
2699 "Endpoint": client.Endpoint,
2700 }
2701
2702 pathParameters := map[string]interface{}{
2703 "projectId": autorest.Encode("path", projectID),
2704 }
2705
2706 queryParameters := map[string]interface{}{}
2707 if iterationID != nil {
2708 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2709 }
2710
2711 preparer := autorest.CreatePreparer(
2712 autorest.AsGet(),
2713 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2714 autorest.WithPathParameters("/projects/{projectId}/images/untagged/count", pathParameters),
2715 autorest.WithQueryParameters(queryParameters),
2716 autorest.WithHeader("Training-Key", client.APIKey))
2717 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2718 }
2719
2720
2721
2722 func (client BaseClient) GetUntaggedImageCountSender(req *http.Request) (*http.Response, error) {
2723 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2724 }
2725
2726
2727
2728 func (client BaseClient) GetUntaggedImageCountResponder(resp *http.Response) (result Int32, err error) {
2729 err = autorest.Respond(
2730 resp,
2731 azure.WithErrorUnlessStatusCode(http.StatusOK),
2732 autorest.ByUnmarshallingJSON(&result.Value),
2733 autorest.ByClosing())
2734 result.Response = autorest.Response{Response: resp}
2735 return
2736 }
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747 func (client BaseClient) GetUntaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImage, err error) {
2748 if tracing.IsEnabled() {
2749 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetUntaggedImages")
2750 defer func() {
2751 sc := -1
2752 if result.Response.Response != nil {
2753 sc = result.Response.Response.StatusCode
2754 }
2755 tracing.EndSpan(ctx, sc, err)
2756 }()
2757 }
2758 if err := validation.Validate([]validation.Validation{
2759 {TargetValue: take,
2760 Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false,
2761 Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil},
2762 {Target: "take", Name: validation.InclusiveMinimum, Rule: int64(0), Chain: nil},
2763 }}}}}); err != nil {
2764 return result, validation.NewError("training.BaseClient", "GetUntaggedImages", err.Error())
2765 }
2766
2767 req, err := client.GetUntaggedImagesPreparer(ctx, projectID, iterationID, orderBy, take, skip)
2768 if err != nil {
2769 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", nil, "Failure preparing request")
2770 return
2771 }
2772
2773 resp, err := client.GetUntaggedImagesSender(req)
2774 if err != nil {
2775 result.Response = autorest.Response{Response: resp}
2776 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", resp, "Failure sending request")
2777 return
2778 }
2779
2780 result, err = client.GetUntaggedImagesResponder(resp)
2781 if err != nil {
2782 err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", resp, "Failure responding to request")
2783 return
2784 }
2785
2786 return
2787 }
2788
2789
2790 func (client BaseClient) GetUntaggedImagesPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) {
2791 urlParameters := map[string]interface{}{
2792 "Endpoint": client.Endpoint,
2793 }
2794
2795 pathParameters := map[string]interface{}{
2796 "projectId": autorest.Encode("path", projectID),
2797 }
2798
2799 queryParameters := map[string]interface{}{}
2800 if iterationID != nil {
2801 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
2802 }
2803 if len(string(orderBy)) > 0 {
2804 queryParameters["orderBy"] = autorest.Encode("query", orderBy)
2805 }
2806 if take != nil {
2807 queryParameters["take"] = autorest.Encode("query", *take)
2808 } else {
2809 queryParameters["take"] = autorest.Encode("query", 50)
2810 }
2811 if skip != nil {
2812 queryParameters["skip"] = autorest.Encode("query", *skip)
2813 } else {
2814 queryParameters["skip"] = autorest.Encode("query", 0)
2815 }
2816
2817 preparer := autorest.CreatePreparer(
2818 autorest.AsGet(),
2819 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2820 autorest.WithPathParameters("/projects/{projectId}/images/untagged", pathParameters),
2821 autorest.WithQueryParameters(queryParameters),
2822 autorest.WithHeader("Training-Key", client.APIKey))
2823 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2824 }
2825
2826
2827
2828 func (client BaseClient) GetUntaggedImagesSender(req *http.Request) (*http.Response, error) {
2829 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2830 }
2831
2832
2833
2834 func (client BaseClient) GetUntaggedImagesResponder(resp *http.Response) (result ListImage, err error) {
2835 err = autorest.Respond(
2836 resp,
2837 azure.WithErrorUnlessStatusCode(http.StatusOK),
2838 autorest.ByUnmarshallingJSON(&result.Value),
2839 autorest.ByClosing())
2840 result.Response = autorest.Response{Response: resp}
2841 return
2842 }
2843
2844
2845
2846
2847
2848
2849
2850 func (client BaseClient) PublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, publishName string, predictionID string) (result Bool, err error) {
2851 if tracing.IsEnabled() {
2852 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.PublishIteration")
2853 defer func() {
2854 sc := -1
2855 if result.Response.Response != nil {
2856 sc = result.Response.Response.StatusCode
2857 }
2858 tracing.EndSpan(ctx, sc, err)
2859 }()
2860 }
2861 req, err := client.PublishIterationPreparer(ctx, projectID, iterationID, publishName, predictionID)
2862 if err != nil {
2863 err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", nil, "Failure preparing request")
2864 return
2865 }
2866
2867 resp, err := client.PublishIterationSender(req)
2868 if err != nil {
2869 result.Response = autorest.Response{Response: resp}
2870 err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", resp, "Failure sending request")
2871 return
2872 }
2873
2874 result, err = client.PublishIterationResponder(resp)
2875 if err != nil {
2876 err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", resp, "Failure responding to request")
2877 return
2878 }
2879
2880 return
2881 }
2882
2883
2884 func (client BaseClient) PublishIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, publishName string, predictionID string) (*http.Request, error) {
2885 urlParameters := map[string]interface{}{
2886 "Endpoint": client.Endpoint,
2887 }
2888
2889 pathParameters := map[string]interface{}{
2890 "iterationId": autorest.Encode("path", iterationID),
2891 "projectId": autorest.Encode("path", projectID),
2892 }
2893
2894 queryParameters := map[string]interface{}{
2895 "predictionId": autorest.Encode("query", predictionID),
2896 "publishName": autorest.Encode("query", publishName),
2897 }
2898
2899 preparer := autorest.CreatePreparer(
2900 autorest.AsPost(),
2901 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2902 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/publish", pathParameters),
2903 autorest.WithQueryParameters(queryParameters),
2904 autorest.WithHeader("Training-Key", client.APIKey))
2905 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2906 }
2907
2908
2909
2910 func (client BaseClient) PublishIterationSender(req *http.Request) (*http.Response, error) {
2911 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2912 }
2913
2914
2915
2916 func (client BaseClient) PublishIterationResponder(resp *http.Response) (result Bool, err error) {
2917 err = autorest.Respond(
2918 resp,
2919 azure.WithErrorUnlessStatusCode(http.StatusOK),
2920 autorest.ByUnmarshallingJSON(&result.Value),
2921 autorest.ByClosing())
2922 result.Response = autorest.Response{Response: resp}
2923 return
2924 }
2925
2926
2927
2928
2929
2930 func (client BaseClient) QueryPredictions(ctx context.Context, projectID uuid.UUID, query PredictionQueryToken) (result PredictionQueryResult, err error) {
2931 if tracing.IsEnabled() {
2932 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QueryPredictions")
2933 defer func() {
2934 sc := -1
2935 if result.Response.Response != nil {
2936 sc = result.Response.Response.StatusCode
2937 }
2938 tracing.EndSpan(ctx, sc, err)
2939 }()
2940 }
2941 req, err := client.QueryPredictionsPreparer(ctx, projectID, query)
2942 if err != nil {
2943 err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", nil, "Failure preparing request")
2944 return
2945 }
2946
2947 resp, err := client.QueryPredictionsSender(req)
2948 if err != nil {
2949 result.Response = autorest.Response{Response: resp}
2950 err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", resp, "Failure sending request")
2951 return
2952 }
2953
2954 result, err = client.QueryPredictionsResponder(resp)
2955 if err != nil {
2956 err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", resp, "Failure responding to request")
2957 return
2958 }
2959
2960 return
2961 }
2962
2963
2964 func (client BaseClient) QueryPredictionsPreparer(ctx context.Context, projectID uuid.UUID, query PredictionQueryToken) (*http.Request, error) {
2965 urlParameters := map[string]interface{}{
2966 "Endpoint": client.Endpoint,
2967 }
2968
2969 pathParameters := map[string]interface{}{
2970 "projectId": autorest.Encode("path", projectID),
2971 }
2972
2973 preparer := autorest.CreatePreparer(
2974 autorest.AsContentType("application/json; charset=utf-8"),
2975 autorest.AsPost(),
2976 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
2977 autorest.WithPathParameters("/projects/{projectId}/predictions/query", pathParameters),
2978 autorest.WithJSON(query),
2979 autorest.WithHeader("Training-Key", client.APIKey))
2980 return preparer.Prepare((&http.Request{}).WithContext(ctx))
2981 }
2982
2983
2984
2985 func (client BaseClient) QueryPredictionsSender(req *http.Request) (*http.Response, error) {
2986 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
2987 }
2988
2989
2990
2991 func (client BaseClient) QueryPredictionsResponder(resp *http.Response) (result PredictionQueryResult, err error) {
2992 err = autorest.Respond(
2993 resp,
2994 azure.WithErrorUnlessStatusCode(http.StatusOK),
2995 autorest.ByUnmarshallingJSON(&result),
2996 autorest.ByClosing())
2997 result.Response = autorest.Response{Response: resp}
2998 return
2999 }
3000
3001
3002
3003
3004
3005
3006
3007 func (client BaseClient) QuickTestImage(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, iterationID *uuid.UUID) (result ImagePrediction, err error) {
3008 if tracing.IsEnabled() {
3009 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuickTestImage")
3010 defer func() {
3011 sc := -1
3012 if result.Response.Response != nil {
3013 sc = result.Response.Response.StatusCode
3014 }
3015 tracing.EndSpan(ctx, sc, err)
3016 }()
3017 }
3018 req, err := client.QuickTestImagePreparer(ctx, projectID, imageData, iterationID)
3019 if err != nil {
3020 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", nil, "Failure preparing request")
3021 return
3022 }
3023
3024 resp, err := client.QuickTestImageSender(req)
3025 if err != nil {
3026 result.Response = autorest.Response{Response: resp}
3027 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", resp, "Failure sending request")
3028 return
3029 }
3030
3031 result, err = client.QuickTestImageResponder(resp)
3032 if err != nil {
3033 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", resp, "Failure responding to request")
3034 return
3035 }
3036
3037 return
3038 }
3039
3040
3041 func (client BaseClient) QuickTestImagePreparer(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, iterationID *uuid.UUID) (*http.Request, error) {
3042 urlParameters := map[string]interface{}{
3043 "Endpoint": client.Endpoint,
3044 }
3045
3046 pathParameters := map[string]interface{}{
3047 "projectId": autorest.Encode("path", projectID),
3048 }
3049
3050 queryParameters := map[string]interface{}{}
3051 if iterationID != nil {
3052 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
3053 }
3054
3055 formDataParameters := map[string]interface{}{
3056 "imageData": imageData,
3057 }
3058
3059 preparer := autorest.CreatePreparer(
3060 autorest.AsPost(),
3061 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3062 autorest.WithPathParameters("/projects/{projectId}/quicktest/image", pathParameters),
3063 autorest.WithQueryParameters(queryParameters),
3064 autorest.WithMultiPartFormData(formDataParameters),
3065 autorest.WithHeader("Training-Key", client.APIKey))
3066 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3067 }
3068
3069
3070
3071 func (client BaseClient) QuickTestImageSender(req *http.Request) (*http.Response, error) {
3072 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3073 }
3074
3075
3076
3077 func (client BaseClient) QuickTestImageResponder(resp *http.Response) (result ImagePrediction, err error) {
3078 err = autorest.Respond(
3079 resp,
3080 azure.WithErrorUnlessStatusCode(http.StatusOK),
3081 autorest.ByUnmarshallingJSON(&result),
3082 autorest.ByClosing())
3083 result.Response = autorest.Response{Response: resp}
3084 return
3085 }
3086
3087
3088
3089
3090
3091
3092
3093 func (client BaseClient) QuickTestImageURL(ctx context.Context, projectID uuid.UUID, imageURL ImageURL, iterationID *uuid.UUID) (result ImagePrediction, err error) {
3094 if tracing.IsEnabled() {
3095 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuickTestImageURL")
3096 defer func() {
3097 sc := -1
3098 if result.Response.Response != nil {
3099 sc = result.Response.Response.StatusCode
3100 }
3101 tracing.EndSpan(ctx, sc, err)
3102 }()
3103 }
3104 if err := validation.Validate([]validation.Validation{
3105 {TargetValue: imageURL,
3106 Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
3107 return result, validation.NewError("training.BaseClient", "QuickTestImageURL", err.Error())
3108 }
3109
3110 req, err := client.QuickTestImageURLPreparer(ctx, projectID, imageURL, iterationID)
3111 if err != nil {
3112 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", nil, "Failure preparing request")
3113 return
3114 }
3115
3116 resp, err := client.QuickTestImageURLSender(req)
3117 if err != nil {
3118 result.Response = autorest.Response{Response: resp}
3119 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", resp, "Failure sending request")
3120 return
3121 }
3122
3123 result, err = client.QuickTestImageURLResponder(resp)
3124 if err != nil {
3125 err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", resp, "Failure responding to request")
3126 return
3127 }
3128
3129 return
3130 }
3131
3132
3133 func (client BaseClient) QuickTestImageURLPreparer(ctx context.Context, projectID uuid.UUID, imageURL ImageURL, iterationID *uuid.UUID) (*http.Request, error) {
3134 urlParameters := map[string]interface{}{
3135 "Endpoint": client.Endpoint,
3136 }
3137
3138 pathParameters := map[string]interface{}{
3139 "projectId": autorest.Encode("path", projectID),
3140 }
3141
3142 queryParameters := map[string]interface{}{}
3143 if iterationID != nil {
3144 queryParameters["iterationId"] = autorest.Encode("query", *iterationID)
3145 }
3146
3147 preparer := autorest.CreatePreparer(
3148 autorest.AsContentType("application/json; charset=utf-8"),
3149 autorest.AsPost(),
3150 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3151 autorest.WithPathParameters("/projects/{projectId}/quicktest/url", pathParameters),
3152 autorest.WithJSON(imageURL),
3153 autorest.WithQueryParameters(queryParameters),
3154 autorest.WithHeader("Training-Key", client.APIKey))
3155 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3156 }
3157
3158
3159
3160 func (client BaseClient) QuickTestImageURLSender(req *http.Request) (*http.Response, error) {
3161 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3162 }
3163
3164
3165
3166 func (client BaseClient) QuickTestImageURLResponder(resp *http.Response) (result ImagePrediction, err error) {
3167 err = autorest.Respond(
3168 resp,
3169 azure.WithErrorUnlessStatusCode(http.StatusOK),
3170 autorest.ByUnmarshallingJSON(&result),
3171 autorest.ByClosing())
3172 result.Response = autorest.Response{Response: resp}
3173 return
3174 }
3175
3176
3177
3178
3179
3180
3181
3182
3183 func (client BaseClient) TrainProject(ctx context.Context, projectID uuid.UUID, trainingType string, reservedBudgetInHours *int32, forceTrain *bool, notificationEmailAddress string) (result Iteration, err error) {
3184 if tracing.IsEnabled() {
3185 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.TrainProject")
3186 defer func() {
3187 sc := -1
3188 if result.Response.Response != nil {
3189 sc = result.Response.Response.StatusCode
3190 }
3191 tracing.EndSpan(ctx, sc, err)
3192 }()
3193 }
3194 req, err := client.TrainProjectPreparer(ctx, projectID, trainingType, reservedBudgetInHours, forceTrain, notificationEmailAddress)
3195 if err != nil {
3196 err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", nil, "Failure preparing request")
3197 return
3198 }
3199
3200 resp, err := client.TrainProjectSender(req)
3201 if err != nil {
3202 result.Response = autorest.Response{Response: resp}
3203 err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", resp, "Failure sending request")
3204 return
3205 }
3206
3207 result, err = client.TrainProjectResponder(resp)
3208 if err != nil {
3209 err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", resp, "Failure responding to request")
3210 return
3211 }
3212
3213 return
3214 }
3215
3216
3217 func (client BaseClient) TrainProjectPreparer(ctx context.Context, projectID uuid.UUID, trainingType string, reservedBudgetInHours *int32, forceTrain *bool, notificationEmailAddress string) (*http.Request, error) {
3218 urlParameters := map[string]interface{}{
3219 "Endpoint": client.Endpoint,
3220 }
3221
3222 pathParameters := map[string]interface{}{
3223 "projectId": autorest.Encode("path", projectID),
3224 }
3225
3226 queryParameters := map[string]interface{}{}
3227 if len(string(trainingType)) > 0 {
3228 queryParameters["trainingType"] = autorest.Encode("query", trainingType)
3229 }
3230 if reservedBudgetInHours != nil {
3231 queryParameters["reservedBudgetInHours"] = autorest.Encode("query", *reservedBudgetInHours)
3232 } else {
3233 queryParameters["reservedBudgetInHours"] = autorest.Encode("query", 0)
3234 }
3235 if forceTrain != nil {
3236 queryParameters["forceTrain"] = autorest.Encode("query", *forceTrain)
3237 } else {
3238 queryParameters["forceTrain"] = autorest.Encode("query", false)
3239 }
3240 if len(notificationEmailAddress) > 0 {
3241 queryParameters["notificationEmailAddress"] = autorest.Encode("query", notificationEmailAddress)
3242 }
3243
3244 preparer := autorest.CreatePreparer(
3245 autorest.AsPost(),
3246 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3247 autorest.WithPathParameters("/projects/{projectId}/train", pathParameters),
3248 autorest.WithQueryParameters(queryParameters),
3249 autorest.WithHeader("Training-Key", client.APIKey))
3250 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3251 }
3252
3253
3254
3255 func (client BaseClient) TrainProjectSender(req *http.Request) (*http.Response, error) {
3256 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3257 }
3258
3259
3260
3261 func (client BaseClient) TrainProjectResponder(resp *http.Response) (result Iteration, err error) {
3262 err = autorest.Respond(
3263 resp,
3264 azure.WithErrorUnlessStatusCode(http.StatusOK),
3265 autorest.ByUnmarshallingJSON(&result),
3266 autorest.ByClosing())
3267 result.Response = autorest.Response{Response: resp}
3268 return
3269 }
3270
3271
3272
3273
3274
3275 func (client BaseClient) UnpublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) {
3276 if tracing.IsEnabled() {
3277 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UnpublishIteration")
3278 defer func() {
3279 sc := -1
3280 if result.Response != nil {
3281 sc = result.Response.StatusCode
3282 }
3283 tracing.EndSpan(ctx, sc, err)
3284 }()
3285 }
3286 req, err := client.UnpublishIterationPreparer(ctx, projectID, iterationID)
3287 if err != nil {
3288 err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", nil, "Failure preparing request")
3289 return
3290 }
3291
3292 resp, err := client.UnpublishIterationSender(req)
3293 if err != nil {
3294 result.Response = resp
3295 err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", resp, "Failure sending request")
3296 return
3297 }
3298
3299 result, err = client.UnpublishIterationResponder(resp)
3300 if err != nil {
3301 err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", resp, "Failure responding to request")
3302 return
3303 }
3304
3305 return
3306 }
3307
3308
3309 func (client BaseClient) UnpublishIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) {
3310 urlParameters := map[string]interface{}{
3311 "Endpoint": client.Endpoint,
3312 }
3313
3314 pathParameters := map[string]interface{}{
3315 "iterationId": autorest.Encode("path", iterationID),
3316 "projectId": autorest.Encode("path", projectID),
3317 }
3318
3319 preparer := autorest.CreatePreparer(
3320 autorest.AsDelete(),
3321 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3322 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/publish", pathParameters),
3323 autorest.WithHeader("Training-Key", client.APIKey))
3324 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3325 }
3326
3327
3328
3329 func (client BaseClient) UnpublishIterationSender(req *http.Request) (*http.Response, error) {
3330 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3331 }
3332
3333
3334
3335 func (client BaseClient) UnpublishIterationResponder(resp *http.Response) (result autorest.Response, err error) {
3336 err = autorest.Respond(
3337 resp,
3338 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent),
3339 autorest.ByClosing())
3340 result.Response = resp
3341 return
3342 }
3343
3344
3345
3346
3347
3348
3349 func (client BaseClient) UpdateIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, updatedIteration Iteration) (result Iteration, err error) {
3350 if tracing.IsEnabled() {
3351 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateIteration")
3352 defer func() {
3353 sc := -1
3354 if result.Response.Response != nil {
3355 sc = result.Response.Response.StatusCode
3356 }
3357 tracing.EndSpan(ctx, sc, err)
3358 }()
3359 }
3360 req, err := client.UpdateIterationPreparer(ctx, projectID, iterationID, updatedIteration)
3361 if err != nil {
3362 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", nil, "Failure preparing request")
3363 return
3364 }
3365
3366 resp, err := client.UpdateIterationSender(req)
3367 if err != nil {
3368 result.Response = autorest.Response{Response: resp}
3369 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", resp, "Failure sending request")
3370 return
3371 }
3372
3373 result, err = client.UpdateIterationResponder(resp)
3374 if err != nil {
3375 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", resp, "Failure responding to request")
3376 return
3377 }
3378
3379 return
3380 }
3381
3382
3383 func (client BaseClient) UpdateIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, updatedIteration Iteration) (*http.Request, error) {
3384 urlParameters := map[string]interface{}{
3385 "Endpoint": client.Endpoint,
3386 }
3387
3388 pathParameters := map[string]interface{}{
3389 "iterationId": autorest.Encode("path", iterationID),
3390 "projectId": autorest.Encode("path", projectID),
3391 }
3392
3393 updatedIteration.ID = nil
3394 updatedIteration.Status = nil
3395 updatedIteration.Created = nil
3396 updatedIteration.LastModified = nil
3397 updatedIteration.TrainedAt = nil
3398 updatedIteration.ProjectID = nil
3399 updatedIteration.Exportable = nil
3400 updatedIteration.ExportableTo = nil
3401 updatedIteration.DomainID = nil
3402 updatedIteration.ClassificationType = ""
3403 updatedIteration.TrainingType = ""
3404 updatedIteration.ReservedBudgetInHours = nil
3405 updatedIteration.PublishName = nil
3406 updatedIteration.OriginalPublishResourceID = nil
3407 preparer := autorest.CreatePreparer(
3408 autorest.AsContentType("application/json; charset=utf-8"),
3409 autorest.AsPatch(),
3410 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3411 autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters),
3412 autorest.WithJSON(updatedIteration),
3413 autorest.WithHeader("Training-Key", client.APIKey))
3414 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3415 }
3416
3417
3418
3419 func (client BaseClient) UpdateIterationSender(req *http.Request) (*http.Response, error) {
3420 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3421 }
3422
3423
3424
3425 func (client BaseClient) UpdateIterationResponder(resp *http.Response) (result Iteration, err error) {
3426 err = autorest.Respond(
3427 resp,
3428 azure.WithErrorUnlessStatusCode(http.StatusOK),
3429 autorest.ByUnmarshallingJSON(&result),
3430 autorest.ByClosing())
3431 result.Response = autorest.Response{Response: resp}
3432 return
3433 }
3434
3435
3436
3437
3438
3439 func (client BaseClient) UpdateProject(ctx context.Context, projectID uuid.UUID, updatedProject Project) (result Project, err error) {
3440 if tracing.IsEnabled() {
3441 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateProject")
3442 defer func() {
3443 sc := -1
3444 if result.Response.Response != nil {
3445 sc = result.Response.Response.StatusCode
3446 }
3447 tracing.EndSpan(ctx, sc, err)
3448 }()
3449 }
3450 req, err := client.UpdateProjectPreparer(ctx, projectID, updatedProject)
3451 if err != nil {
3452 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", nil, "Failure preparing request")
3453 return
3454 }
3455
3456 resp, err := client.UpdateProjectSender(req)
3457 if err != nil {
3458 result.Response = autorest.Response{Response: resp}
3459 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", resp, "Failure sending request")
3460 return
3461 }
3462
3463 result, err = client.UpdateProjectResponder(resp)
3464 if err != nil {
3465 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", resp, "Failure responding to request")
3466 return
3467 }
3468
3469 return
3470 }
3471
3472
3473 func (client BaseClient) UpdateProjectPreparer(ctx context.Context, projectID uuid.UUID, updatedProject Project) (*http.Request, error) {
3474 urlParameters := map[string]interface{}{
3475 "Endpoint": client.Endpoint,
3476 }
3477
3478 pathParameters := map[string]interface{}{
3479 "projectId": autorest.Encode("path", projectID),
3480 }
3481
3482 updatedProject.ID = nil
3483 updatedProject.Created = nil
3484 updatedProject.LastModified = nil
3485 updatedProject.ThumbnailURI = nil
3486 updatedProject.DrModeEnabled = nil
3487 preparer := autorest.CreatePreparer(
3488 autorest.AsContentType("application/json; charset=utf-8"),
3489 autorest.AsPatch(),
3490 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3491 autorest.WithPathParameters("/projects/{projectId}", pathParameters),
3492 autorest.WithJSON(updatedProject),
3493 autorest.WithHeader("Training-Key", client.APIKey))
3494 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3495 }
3496
3497
3498
3499 func (client BaseClient) UpdateProjectSender(req *http.Request) (*http.Response, error) {
3500 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3501 }
3502
3503
3504
3505 func (client BaseClient) UpdateProjectResponder(resp *http.Response) (result Project, err error) {
3506 err = autorest.Respond(
3507 resp,
3508 azure.WithErrorUnlessStatusCode(http.StatusOK),
3509 autorest.ByUnmarshallingJSON(&result),
3510 autorest.ByClosing())
3511 result.Response = autorest.Response{Response: resp}
3512 return
3513 }
3514
3515
3516
3517
3518
3519
3520 func (client BaseClient) UpdateTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, updatedTag Tag) (result Tag, err error) {
3521 if tracing.IsEnabled() {
3522 ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateTag")
3523 defer func() {
3524 sc := -1
3525 if result.Response.Response != nil {
3526 sc = result.Response.Response.StatusCode
3527 }
3528 tracing.EndSpan(ctx, sc, err)
3529 }()
3530 }
3531 req, err := client.UpdateTagPreparer(ctx, projectID, tagID, updatedTag)
3532 if err != nil {
3533 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", nil, "Failure preparing request")
3534 return
3535 }
3536
3537 resp, err := client.UpdateTagSender(req)
3538 if err != nil {
3539 result.Response = autorest.Response{Response: resp}
3540 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", resp, "Failure sending request")
3541 return
3542 }
3543
3544 result, err = client.UpdateTagResponder(resp)
3545 if err != nil {
3546 err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", resp, "Failure responding to request")
3547 return
3548 }
3549
3550 return
3551 }
3552
3553
3554 func (client BaseClient) UpdateTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, updatedTag Tag) (*http.Request, error) {
3555 urlParameters := map[string]interface{}{
3556 "Endpoint": client.Endpoint,
3557 }
3558
3559 pathParameters := map[string]interface{}{
3560 "projectId": autorest.Encode("path", projectID),
3561 "tagId": autorest.Encode("path", tagID),
3562 }
3563
3564 updatedTag.ID = nil
3565 updatedTag.ImageCount = nil
3566 preparer := autorest.CreatePreparer(
3567 autorest.AsContentType("application/json; charset=utf-8"),
3568 autorest.AsPatch(),
3569 autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.0/training", urlParameters),
3570 autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters),
3571 autorest.WithJSON(updatedTag),
3572 autorest.WithHeader("Training-Key", client.APIKey))
3573 return preparer.Prepare((&http.Request{}).WithContext(ctx))
3574 }
3575
3576
3577
3578 func (client BaseClient) UpdateTagSender(req *http.Request) (*http.Response, error) {
3579 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
3580 }
3581
3582
3583
3584 func (client BaseClient) UpdateTagResponder(resp *http.Response) (result Tag, err error) {
3585 err = autorest.Respond(
3586 resp,
3587 azure.WithErrorUnlessStatusCode(http.StatusOK),
3588 autorest.ByUnmarshallingJSON(&result),
3589 autorest.ByClosing())
3590 result.Response = autorest.Response{Response: resp}
3591 return
3592 }
3593
View as plain text