1 package face
2
3
4
5
6
7
8
9 import (
10 "context"
11 "github.com/Azure/go-autorest/autorest"
12 "github.com/Azure/go-autorest/autorest/azure"
13 "github.com/Azure/go-autorest/autorest/validation"
14 "github.com/Azure/go-autorest/tracing"
15 "github.com/gofrs/uuid"
16 "io"
17 "net/http"
18 )
19
20
21 type LargeFaceListClient struct {
22 BaseClient
23 }
24
25
26 func NewLargeFaceListClient(endpoint string) LargeFaceListClient {
27 return LargeFaceListClient{New(endpoint)}
28 }
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 func (client LargeFaceListClient) AddFaceFromStream(ctx context.Context, largeFaceListID string, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel DetectionModel) (result PersistedFace, err error) {
78 if tracing.IsEnabled() {
79 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.AddFaceFromStream")
80 defer func() {
81 sc := -1
82 if result.Response.Response != nil {
83 sc = result.Response.Response.StatusCode
84 }
85 tracing.EndSpan(ctx, sc, err)
86 }()
87 }
88 if err := validation.Validate([]validation.Validation{
89 {TargetValue: largeFaceListID,
90 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
91 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}},
92 {TargetValue: userData,
93 Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false,
94 Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}}); err != nil {
95 return result, validation.NewError("face.LargeFaceListClient", "AddFaceFromStream", err.Error())
96 }
97
98 req, err := client.AddFaceFromStreamPreparer(ctx, largeFaceListID, imageParameter, userData, targetFace, detectionModel)
99 if err != nil {
100 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromStream", nil, "Failure preparing request")
101 return
102 }
103
104 resp, err := client.AddFaceFromStreamSender(req)
105 if err != nil {
106 result.Response = autorest.Response{Response: resp}
107 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromStream", resp, "Failure sending request")
108 return
109 }
110
111 result, err = client.AddFaceFromStreamResponder(resp)
112 if err != nil {
113 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromStream", resp, "Failure responding to request")
114 return
115 }
116
117 return
118 }
119
120
121 func (client LargeFaceListClient) AddFaceFromStreamPreparer(ctx context.Context, largeFaceListID string, imageParameter io.ReadCloser, userData string, targetFace []int32, detectionModel DetectionModel) (*http.Request, error) {
122 urlParameters := map[string]interface{}{
123 "Endpoint": client.Endpoint,
124 }
125
126 pathParameters := map[string]interface{}{
127 "largeFaceListId": autorest.Encode("path", largeFaceListID),
128 }
129
130 queryParameters := map[string]interface{}{}
131 if len(userData) > 0 {
132 queryParameters["userData"] = autorest.Encode("query", userData)
133 }
134 if targetFace != nil && len(targetFace) > 0 {
135 queryParameters["targetFace"] = autorest.Encode("query", targetFace, ",")
136 }
137 if len(string(detectionModel)) > 0 {
138 queryParameters["detectionModel"] = autorest.Encode("query", detectionModel)
139 } else {
140 queryParameters["detectionModel"] = autorest.Encode("query", "detection_01")
141 }
142
143 preparer := autorest.CreatePreparer(
144 autorest.AsContentType("application/octet-stream"),
145 autorest.AsPost(),
146 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
147 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces", pathParameters),
148 autorest.WithFile(imageParameter),
149 autorest.WithQueryParameters(queryParameters))
150 return preparer.Prepare((&http.Request{}).WithContext(ctx))
151 }
152
153
154
155 func (client LargeFaceListClient) AddFaceFromStreamSender(req *http.Request) (*http.Response, error) {
156 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
157 }
158
159
160
161 func (client LargeFaceListClient) AddFaceFromStreamResponder(resp *http.Response) (result PersistedFace, err error) {
162 err = autorest.Respond(
163 resp,
164 azure.WithErrorUnlessStatusCode(http.StatusOK),
165 autorest.ByUnmarshallingJSON(&result),
166 autorest.ByClosing())
167 result.Response = autorest.Response{Response: resp}
168 return
169 }
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218 func (client LargeFaceListClient) AddFaceFromURL(ctx context.Context, largeFaceListID string, imageURL ImageURL, userData string, targetFace []int32, detectionModel DetectionModel) (result PersistedFace, err error) {
219 if tracing.IsEnabled() {
220 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.AddFaceFromURL")
221 defer func() {
222 sc := -1
223 if result.Response.Response != nil {
224 sc = result.Response.Response.StatusCode
225 }
226 tracing.EndSpan(ctx, sc, err)
227 }()
228 }
229 if err := validation.Validate([]validation.Validation{
230 {TargetValue: largeFaceListID,
231 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
232 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}},
233 {TargetValue: userData,
234 Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false,
235 Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}},
236 {TargetValue: imageURL,
237 Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
238 return result, validation.NewError("face.LargeFaceListClient", "AddFaceFromURL", err.Error())
239 }
240
241 req, err := client.AddFaceFromURLPreparer(ctx, largeFaceListID, imageURL, userData, targetFace, detectionModel)
242 if err != nil {
243 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromURL", nil, "Failure preparing request")
244 return
245 }
246
247 resp, err := client.AddFaceFromURLSender(req)
248 if err != nil {
249 result.Response = autorest.Response{Response: resp}
250 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromURL", resp, "Failure sending request")
251 return
252 }
253
254 result, err = client.AddFaceFromURLResponder(resp)
255 if err != nil {
256 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "AddFaceFromURL", resp, "Failure responding to request")
257 return
258 }
259
260 return
261 }
262
263
264 func (client LargeFaceListClient) AddFaceFromURLPreparer(ctx context.Context, largeFaceListID string, imageURL ImageURL, userData string, targetFace []int32, detectionModel DetectionModel) (*http.Request, error) {
265 urlParameters := map[string]interface{}{
266 "Endpoint": client.Endpoint,
267 }
268
269 pathParameters := map[string]interface{}{
270 "largeFaceListId": autorest.Encode("path", largeFaceListID),
271 }
272
273 queryParameters := map[string]interface{}{}
274 if len(userData) > 0 {
275 queryParameters["userData"] = autorest.Encode("query", userData)
276 }
277 if targetFace != nil && len(targetFace) > 0 {
278 queryParameters["targetFace"] = autorest.Encode("query", targetFace, ",")
279 }
280 if len(string(detectionModel)) > 0 {
281 queryParameters["detectionModel"] = autorest.Encode("query", detectionModel)
282 } else {
283 queryParameters["detectionModel"] = autorest.Encode("query", "detection_01")
284 }
285
286 preparer := autorest.CreatePreparer(
287 autorest.AsContentType("application/json; charset=utf-8"),
288 autorest.AsPost(),
289 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
290 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces", pathParameters),
291 autorest.WithJSON(imageURL),
292 autorest.WithQueryParameters(queryParameters))
293 return preparer.Prepare((&http.Request{}).WithContext(ctx))
294 }
295
296
297
298 func (client LargeFaceListClient) AddFaceFromURLSender(req *http.Request) (*http.Response, error) {
299 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
300 }
301
302
303
304 func (client LargeFaceListClient) AddFaceFromURLResponder(resp *http.Response) (result PersistedFace, err error) {
305 err = autorest.Respond(
306 resp,
307 azure.WithErrorUnlessStatusCode(http.StatusOK),
308 autorest.ByUnmarshallingJSON(&result),
309 autorest.ByClosing())
310 result.Response = autorest.Response{Response: resp}
311 return
312 }
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347 func (client LargeFaceListClient) Create(ctx context.Context, largeFaceListID string, body MetaDataContract) (result autorest.Response, err error) {
348 if tracing.IsEnabled() {
349 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.Create")
350 defer func() {
351 sc := -1
352 if result.Response != nil {
353 sc = result.Response.StatusCode
354 }
355 tracing.EndSpan(ctx, sc, err)
356 }()
357 }
358 if err := validation.Validate([]validation.Validation{
359 {TargetValue: largeFaceListID,
360 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
361 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
362 return result, validation.NewError("face.LargeFaceListClient", "Create", err.Error())
363 }
364
365 req, err := client.CreatePreparer(ctx, largeFaceListID, body)
366 if err != nil {
367 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Create", nil, "Failure preparing request")
368 return
369 }
370
371 resp, err := client.CreateSender(req)
372 if err != nil {
373 result.Response = resp
374 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Create", resp, "Failure sending request")
375 return
376 }
377
378 result, err = client.CreateResponder(resp)
379 if err != nil {
380 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Create", resp, "Failure responding to request")
381 return
382 }
383
384 return
385 }
386
387
388 func (client LargeFaceListClient) CreatePreparer(ctx context.Context, largeFaceListID string, body MetaDataContract) (*http.Request, error) {
389 urlParameters := map[string]interface{}{
390 "Endpoint": client.Endpoint,
391 }
392
393 pathParameters := map[string]interface{}{
394 "largeFaceListId": autorest.Encode("path", largeFaceListID),
395 }
396
397 preparer := autorest.CreatePreparer(
398 autorest.AsContentType("application/json; charset=utf-8"),
399 autorest.AsPut(),
400 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
401 autorest.WithPathParameters("/largefacelists/{largeFaceListId}", pathParameters),
402 autorest.WithJSON(body))
403 return preparer.Prepare((&http.Request{}).WithContext(ctx))
404 }
405
406
407
408 func (client LargeFaceListClient) CreateSender(req *http.Request) (*http.Response, error) {
409 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
410 }
411
412
413
414 func (client LargeFaceListClient) CreateResponder(resp *http.Response) (result autorest.Response, err error) {
415 err = autorest.Respond(
416 resp,
417 azure.WithErrorUnlessStatusCode(http.StatusOK),
418 autorest.ByClosing())
419 result.Response = resp
420 return
421 }
422
423
424
425
426 func (client LargeFaceListClient) Delete(ctx context.Context, largeFaceListID string) (result autorest.Response, err error) {
427 if tracing.IsEnabled() {
428 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.Delete")
429 defer func() {
430 sc := -1
431 if result.Response != nil {
432 sc = result.Response.StatusCode
433 }
434 tracing.EndSpan(ctx, sc, err)
435 }()
436 }
437 if err := validation.Validate([]validation.Validation{
438 {TargetValue: largeFaceListID,
439 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
440 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
441 return result, validation.NewError("face.LargeFaceListClient", "Delete", err.Error())
442 }
443
444 req, err := client.DeletePreparer(ctx, largeFaceListID)
445 if err != nil {
446 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Delete", nil, "Failure preparing request")
447 return
448 }
449
450 resp, err := client.DeleteSender(req)
451 if err != nil {
452 result.Response = resp
453 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Delete", resp, "Failure sending request")
454 return
455 }
456
457 result, err = client.DeleteResponder(resp)
458 if err != nil {
459 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Delete", resp, "Failure responding to request")
460 return
461 }
462
463 return
464 }
465
466
467 func (client LargeFaceListClient) DeletePreparer(ctx context.Context, largeFaceListID string) (*http.Request, error) {
468 urlParameters := map[string]interface{}{
469 "Endpoint": client.Endpoint,
470 }
471
472 pathParameters := map[string]interface{}{
473 "largeFaceListId": autorest.Encode("path", largeFaceListID),
474 }
475
476 preparer := autorest.CreatePreparer(
477 autorest.AsDelete(),
478 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
479 autorest.WithPathParameters("/largefacelists/{largeFaceListId}", pathParameters))
480 return preparer.Prepare((&http.Request{}).WithContext(ctx))
481 }
482
483
484
485 func (client LargeFaceListClient) DeleteSender(req *http.Request) (*http.Response, error) {
486 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
487 }
488
489
490
491 func (client LargeFaceListClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) {
492 err = autorest.Respond(
493 resp,
494 azure.WithErrorUnlessStatusCode(http.StatusOK),
495 autorest.ByClosing())
496 result.Response = resp
497 return
498 }
499
500
501
502
503
504
505
506 func (client LargeFaceListClient) DeleteFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (result autorest.Response, err error) {
507 if tracing.IsEnabled() {
508 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.DeleteFace")
509 defer func() {
510 sc := -1
511 if result.Response != nil {
512 sc = result.Response.StatusCode
513 }
514 tracing.EndSpan(ctx, sc, err)
515 }()
516 }
517 if err := validation.Validate([]validation.Validation{
518 {TargetValue: largeFaceListID,
519 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
520 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
521 return result, validation.NewError("face.LargeFaceListClient", "DeleteFace", err.Error())
522 }
523
524 req, err := client.DeleteFacePreparer(ctx, largeFaceListID, persistedFaceID)
525 if err != nil {
526 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "DeleteFace", nil, "Failure preparing request")
527 return
528 }
529
530 resp, err := client.DeleteFaceSender(req)
531 if err != nil {
532 result.Response = resp
533 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "DeleteFace", resp, "Failure sending request")
534 return
535 }
536
537 result, err = client.DeleteFaceResponder(resp)
538 if err != nil {
539 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "DeleteFace", resp, "Failure responding to request")
540 return
541 }
542
543 return
544 }
545
546
547 func (client LargeFaceListClient) DeleteFacePreparer(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (*http.Request, error) {
548 urlParameters := map[string]interface{}{
549 "Endpoint": client.Endpoint,
550 }
551
552 pathParameters := map[string]interface{}{
553 "largeFaceListId": autorest.Encode("path", largeFaceListID),
554 "persistedFaceId": autorest.Encode("path", persistedFaceID),
555 }
556
557 preparer := autorest.CreatePreparer(
558 autorest.AsDelete(),
559 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
560 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}", pathParameters))
561 return preparer.Prepare((&http.Request{}).WithContext(ctx))
562 }
563
564
565
566 func (client LargeFaceListClient) DeleteFaceSender(req *http.Request) (*http.Response, error) {
567 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
568 }
569
570
571
572 func (client LargeFaceListClient) DeleteFaceResponder(resp *http.Response) (result autorest.Response, err error) {
573 err = autorest.Respond(
574 resp,
575 azure.WithErrorUnlessStatusCode(http.StatusOK),
576 autorest.ByClosing())
577 result.Response = resp
578 return
579 }
580
581
582
583
584
585
586 func (client LargeFaceListClient) Get(ctx context.Context, largeFaceListID string, returnRecognitionModel *bool) (result LargeFaceList, err error) {
587 if tracing.IsEnabled() {
588 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.Get")
589 defer func() {
590 sc := -1
591 if result.Response.Response != nil {
592 sc = result.Response.Response.StatusCode
593 }
594 tracing.EndSpan(ctx, sc, err)
595 }()
596 }
597 if err := validation.Validate([]validation.Validation{
598 {TargetValue: largeFaceListID,
599 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
600 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
601 return result, validation.NewError("face.LargeFaceListClient", "Get", err.Error())
602 }
603
604 req, err := client.GetPreparer(ctx, largeFaceListID, returnRecognitionModel)
605 if err != nil {
606 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Get", nil, "Failure preparing request")
607 return
608 }
609
610 resp, err := client.GetSender(req)
611 if err != nil {
612 result.Response = autorest.Response{Response: resp}
613 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Get", resp, "Failure sending request")
614 return
615 }
616
617 result, err = client.GetResponder(resp)
618 if err != nil {
619 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Get", resp, "Failure responding to request")
620 return
621 }
622
623 return
624 }
625
626
627 func (client LargeFaceListClient) GetPreparer(ctx context.Context, largeFaceListID string, returnRecognitionModel *bool) (*http.Request, error) {
628 urlParameters := map[string]interface{}{
629 "Endpoint": client.Endpoint,
630 }
631
632 pathParameters := map[string]interface{}{
633 "largeFaceListId": autorest.Encode("path", largeFaceListID),
634 }
635
636 queryParameters := map[string]interface{}{}
637 if returnRecognitionModel != nil {
638 queryParameters["returnRecognitionModel"] = autorest.Encode("query", *returnRecognitionModel)
639 } else {
640 queryParameters["returnRecognitionModel"] = autorest.Encode("query", false)
641 }
642
643 preparer := autorest.CreatePreparer(
644 autorest.AsGet(),
645 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
646 autorest.WithPathParameters("/largefacelists/{largeFaceListId}", pathParameters),
647 autorest.WithQueryParameters(queryParameters))
648 return preparer.Prepare((&http.Request{}).WithContext(ctx))
649 }
650
651
652
653 func (client LargeFaceListClient) GetSender(req *http.Request) (*http.Response, error) {
654 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
655 }
656
657
658
659 func (client LargeFaceListClient) GetResponder(resp *http.Response) (result LargeFaceList, err error) {
660 err = autorest.Respond(
661 resp,
662 azure.WithErrorUnlessStatusCode(http.StatusOK),
663 autorest.ByUnmarshallingJSON(&result),
664 autorest.ByClosing())
665 result.Response = autorest.Response{Response: resp}
666 return
667 }
668
669
670
671
672
673
674 func (client LargeFaceListClient) GetFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (result PersistedFace, err error) {
675 if tracing.IsEnabled() {
676 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.GetFace")
677 defer func() {
678 sc := -1
679 if result.Response.Response != nil {
680 sc = result.Response.Response.StatusCode
681 }
682 tracing.EndSpan(ctx, sc, err)
683 }()
684 }
685 if err := validation.Validate([]validation.Validation{
686 {TargetValue: largeFaceListID,
687 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
688 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
689 return result, validation.NewError("face.LargeFaceListClient", "GetFace", err.Error())
690 }
691
692 req, err := client.GetFacePreparer(ctx, largeFaceListID, persistedFaceID)
693 if err != nil {
694 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetFace", nil, "Failure preparing request")
695 return
696 }
697
698 resp, err := client.GetFaceSender(req)
699 if err != nil {
700 result.Response = autorest.Response{Response: resp}
701 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetFace", resp, "Failure sending request")
702 return
703 }
704
705 result, err = client.GetFaceResponder(resp)
706 if err != nil {
707 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetFace", resp, "Failure responding to request")
708 return
709 }
710
711 return
712 }
713
714
715 func (client LargeFaceListClient) GetFacePreparer(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID) (*http.Request, error) {
716 urlParameters := map[string]interface{}{
717 "Endpoint": client.Endpoint,
718 }
719
720 pathParameters := map[string]interface{}{
721 "largeFaceListId": autorest.Encode("path", largeFaceListID),
722 "persistedFaceId": autorest.Encode("path", persistedFaceID),
723 }
724
725 preparer := autorest.CreatePreparer(
726 autorest.AsGet(),
727 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
728 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}", pathParameters))
729 return preparer.Prepare((&http.Request{}).WithContext(ctx))
730 }
731
732
733
734 func (client LargeFaceListClient) GetFaceSender(req *http.Request) (*http.Response, error) {
735 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
736 }
737
738
739
740 func (client LargeFaceListClient) GetFaceResponder(resp *http.Response) (result PersistedFace, err error) {
741 err = autorest.Respond(
742 resp,
743 azure.WithErrorUnlessStatusCode(http.StatusOK),
744 autorest.ByUnmarshallingJSON(&result),
745 autorest.ByClosing())
746 result.Response = autorest.Response{Response: resp}
747 return
748 }
749
750
751
752
753 func (client LargeFaceListClient) GetTrainingStatus(ctx context.Context, largeFaceListID string) (result TrainingStatus, err error) {
754 if tracing.IsEnabled() {
755 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.GetTrainingStatus")
756 defer func() {
757 sc := -1
758 if result.Response.Response != nil {
759 sc = result.Response.Response.StatusCode
760 }
761 tracing.EndSpan(ctx, sc, err)
762 }()
763 }
764 if err := validation.Validate([]validation.Validation{
765 {TargetValue: largeFaceListID,
766 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
767 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
768 return result, validation.NewError("face.LargeFaceListClient", "GetTrainingStatus", err.Error())
769 }
770
771 req, err := client.GetTrainingStatusPreparer(ctx, largeFaceListID)
772 if err != nil {
773 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetTrainingStatus", nil, "Failure preparing request")
774 return
775 }
776
777 resp, err := client.GetTrainingStatusSender(req)
778 if err != nil {
779 result.Response = autorest.Response{Response: resp}
780 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetTrainingStatus", resp, "Failure sending request")
781 return
782 }
783
784 result, err = client.GetTrainingStatusResponder(resp)
785 if err != nil {
786 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "GetTrainingStatus", resp, "Failure responding to request")
787 return
788 }
789
790 return
791 }
792
793
794 func (client LargeFaceListClient) GetTrainingStatusPreparer(ctx context.Context, largeFaceListID string) (*http.Request, error) {
795 urlParameters := map[string]interface{}{
796 "Endpoint": client.Endpoint,
797 }
798
799 pathParameters := map[string]interface{}{
800 "largeFaceListId": autorest.Encode("path", largeFaceListID),
801 }
802
803 preparer := autorest.CreatePreparer(
804 autorest.AsGet(),
805 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
806 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/training", pathParameters))
807 return preparer.Prepare((&http.Request{}).WithContext(ctx))
808 }
809
810
811
812 func (client LargeFaceListClient) GetTrainingStatusSender(req *http.Request) (*http.Response, error) {
813 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
814 }
815
816
817
818 func (client LargeFaceListClient) GetTrainingStatusResponder(resp *http.Response) (result TrainingStatus, err error) {
819 err = autorest.Respond(
820 resp,
821 azure.WithErrorUnlessStatusCode(http.StatusOK),
822 autorest.ByUnmarshallingJSON(&result),
823 autorest.ByClosing())
824 result.Response = autorest.Response{Response: resp}
825 return
826 }
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844 func (client LargeFaceListClient) List(ctx context.Context, returnRecognitionModel *bool) (result ListLargeFaceList, err error) {
845 if tracing.IsEnabled() {
846 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.List")
847 defer func() {
848 sc := -1
849 if result.Response.Response != nil {
850 sc = result.Response.Response.StatusCode
851 }
852 tracing.EndSpan(ctx, sc, err)
853 }()
854 }
855 req, err := client.ListPreparer(ctx, returnRecognitionModel)
856 if err != nil {
857 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "List", nil, "Failure preparing request")
858 return
859 }
860
861 resp, err := client.ListSender(req)
862 if err != nil {
863 result.Response = autorest.Response{Response: resp}
864 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "List", resp, "Failure sending request")
865 return
866 }
867
868 result, err = client.ListResponder(resp)
869 if err != nil {
870 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "List", resp, "Failure responding to request")
871 return
872 }
873
874 return
875 }
876
877
878 func (client LargeFaceListClient) ListPreparer(ctx context.Context, returnRecognitionModel *bool) (*http.Request, error) {
879 urlParameters := map[string]interface{}{
880 "Endpoint": client.Endpoint,
881 }
882
883 queryParameters := map[string]interface{}{}
884 if returnRecognitionModel != nil {
885 queryParameters["returnRecognitionModel"] = autorest.Encode("query", *returnRecognitionModel)
886 } else {
887 queryParameters["returnRecognitionModel"] = autorest.Encode("query", false)
888 }
889
890 preparer := autorest.CreatePreparer(
891 autorest.AsGet(),
892 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
893 autorest.WithPath("/largefacelists"),
894 autorest.WithQueryParameters(queryParameters))
895 return preparer.Prepare((&http.Request{}).WithContext(ctx))
896 }
897
898
899
900 func (client LargeFaceListClient) ListSender(req *http.Request) (*http.Response, error) {
901 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
902 }
903
904
905
906 func (client LargeFaceListClient) ListResponder(resp *http.Response) (result ListLargeFaceList, err error) {
907 err = autorest.Respond(
908 resp,
909 azure.WithErrorUnlessStatusCode(http.StatusOK),
910 autorest.ByUnmarshallingJSON(&result.Value),
911 autorest.ByClosing())
912 result.Response = autorest.Response{Response: resp}
913 return
914 }
915
916
917
918
919
920
921
922 func (client LargeFaceListClient) ListFaces(ctx context.Context, largeFaceListID string, start string, top *int32) (result ListPersistedFace, err error) {
923 if tracing.IsEnabled() {
924 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.ListFaces")
925 defer func() {
926 sc := -1
927 if result.Response.Response != nil {
928 sc = result.Response.Response.StatusCode
929 }
930 tracing.EndSpan(ctx, sc, err)
931 }()
932 }
933 if err := validation.Validate([]validation.Validation{
934 {TargetValue: largeFaceListID,
935 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
936 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}},
937 {TargetValue: top,
938 Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false,
939 Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(1000), Chain: nil},
940 {Target: "top", Name: validation.InclusiveMinimum, Rule: int64(1), Chain: nil},
941 }}}}}); err != nil {
942 return result, validation.NewError("face.LargeFaceListClient", "ListFaces", err.Error())
943 }
944
945 req, err := client.ListFacesPreparer(ctx, largeFaceListID, start, top)
946 if err != nil {
947 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "ListFaces", nil, "Failure preparing request")
948 return
949 }
950
951 resp, err := client.ListFacesSender(req)
952 if err != nil {
953 result.Response = autorest.Response{Response: resp}
954 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "ListFaces", resp, "Failure sending request")
955 return
956 }
957
958 result, err = client.ListFacesResponder(resp)
959 if err != nil {
960 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "ListFaces", resp, "Failure responding to request")
961 return
962 }
963
964 return
965 }
966
967
968 func (client LargeFaceListClient) ListFacesPreparer(ctx context.Context, largeFaceListID string, start string, top *int32) (*http.Request, error) {
969 urlParameters := map[string]interface{}{
970 "Endpoint": client.Endpoint,
971 }
972
973 pathParameters := map[string]interface{}{
974 "largeFaceListId": autorest.Encode("path", largeFaceListID),
975 }
976
977 queryParameters := map[string]interface{}{}
978 if len(start) > 0 {
979 queryParameters["start"] = autorest.Encode("query", start)
980 }
981 if top != nil {
982 queryParameters["top"] = autorest.Encode("query", *top)
983 }
984
985 preparer := autorest.CreatePreparer(
986 autorest.AsGet(),
987 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
988 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces", pathParameters),
989 autorest.WithQueryParameters(queryParameters))
990 return preparer.Prepare((&http.Request{}).WithContext(ctx))
991 }
992
993
994
995 func (client LargeFaceListClient) ListFacesSender(req *http.Request) (*http.Response, error) {
996 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
997 }
998
999
1000
1001 func (client LargeFaceListClient) ListFacesResponder(resp *http.Response) (result ListPersistedFace, err error) {
1002 err = autorest.Respond(
1003 resp,
1004 azure.WithErrorUnlessStatusCode(http.StatusOK),
1005 autorest.ByUnmarshallingJSON(&result.Value),
1006 autorest.ByClosing())
1007 result.Response = autorest.Response{Response: resp}
1008 return
1009 }
1010
1011
1012
1013
1014 func (client LargeFaceListClient) Train(ctx context.Context, largeFaceListID string) (result autorest.Response, err error) {
1015 if tracing.IsEnabled() {
1016 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.Train")
1017 defer func() {
1018 sc := -1
1019 if result.Response != nil {
1020 sc = result.Response.StatusCode
1021 }
1022 tracing.EndSpan(ctx, sc, err)
1023 }()
1024 }
1025 if err := validation.Validate([]validation.Validation{
1026 {TargetValue: largeFaceListID,
1027 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
1028 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
1029 return result, validation.NewError("face.LargeFaceListClient", "Train", err.Error())
1030 }
1031
1032 req, err := client.TrainPreparer(ctx, largeFaceListID)
1033 if err != nil {
1034 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Train", nil, "Failure preparing request")
1035 return
1036 }
1037
1038 resp, err := client.TrainSender(req)
1039 if err != nil {
1040 result.Response = resp
1041 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Train", resp, "Failure sending request")
1042 return
1043 }
1044
1045 result, err = client.TrainResponder(resp)
1046 if err != nil {
1047 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Train", resp, "Failure responding to request")
1048 return
1049 }
1050
1051 return
1052 }
1053
1054
1055 func (client LargeFaceListClient) TrainPreparer(ctx context.Context, largeFaceListID string) (*http.Request, error) {
1056 urlParameters := map[string]interface{}{
1057 "Endpoint": client.Endpoint,
1058 }
1059
1060 pathParameters := map[string]interface{}{
1061 "largeFaceListId": autorest.Encode("path", largeFaceListID),
1062 }
1063
1064 preparer := autorest.CreatePreparer(
1065 autorest.AsPost(),
1066 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
1067 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/train", pathParameters))
1068 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1069 }
1070
1071
1072
1073 func (client LargeFaceListClient) TrainSender(req *http.Request) (*http.Response, error) {
1074 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1075 }
1076
1077
1078
1079 func (client LargeFaceListClient) TrainResponder(resp *http.Response) (result autorest.Response, err error) {
1080 err = autorest.Respond(
1081 resp,
1082 azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted),
1083 autorest.ByClosing())
1084 result.Response = resp
1085 return
1086 }
1087
1088
1089
1090
1091
1092 func (client LargeFaceListClient) Update(ctx context.Context, largeFaceListID string, body NameAndUserDataContract) (result autorest.Response, err error) {
1093 if tracing.IsEnabled() {
1094 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.Update")
1095 defer func() {
1096 sc := -1
1097 if result.Response != nil {
1098 sc = result.Response.StatusCode
1099 }
1100 tracing.EndSpan(ctx, sc, err)
1101 }()
1102 }
1103 if err := validation.Validate([]validation.Validation{
1104 {TargetValue: largeFaceListID,
1105 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
1106 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
1107 return result, validation.NewError("face.LargeFaceListClient", "Update", err.Error())
1108 }
1109
1110 req, err := client.UpdatePreparer(ctx, largeFaceListID, body)
1111 if err != nil {
1112 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Update", nil, "Failure preparing request")
1113 return
1114 }
1115
1116 resp, err := client.UpdateSender(req)
1117 if err != nil {
1118 result.Response = resp
1119 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Update", resp, "Failure sending request")
1120 return
1121 }
1122
1123 result, err = client.UpdateResponder(resp)
1124 if err != nil {
1125 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "Update", resp, "Failure responding to request")
1126 return
1127 }
1128
1129 return
1130 }
1131
1132
1133 func (client LargeFaceListClient) UpdatePreparer(ctx context.Context, largeFaceListID string, body NameAndUserDataContract) (*http.Request, error) {
1134 urlParameters := map[string]interface{}{
1135 "Endpoint": client.Endpoint,
1136 }
1137
1138 pathParameters := map[string]interface{}{
1139 "largeFaceListId": autorest.Encode("path", largeFaceListID),
1140 }
1141
1142 preparer := autorest.CreatePreparer(
1143 autorest.AsContentType("application/json; charset=utf-8"),
1144 autorest.AsPatch(),
1145 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
1146 autorest.WithPathParameters("/largefacelists/{largeFaceListId}", pathParameters),
1147 autorest.WithJSON(body))
1148 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1149 }
1150
1151
1152
1153 func (client LargeFaceListClient) UpdateSender(req *http.Request) (*http.Response, error) {
1154 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1155 }
1156
1157
1158
1159 func (client LargeFaceListClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) {
1160 err = autorest.Respond(
1161 resp,
1162 azure.WithErrorUnlessStatusCode(http.StatusOK),
1163 autorest.ByClosing())
1164 result.Response = resp
1165 return
1166 }
1167
1168
1169
1170
1171
1172
1173 func (client LargeFaceListClient) UpdateFace(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID, body UpdateFaceRequest) (result autorest.Response, err error) {
1174 if tracing.IsEnabled() {
1175 ctx = tracing.StartSpan(ctx, fqdn+"/LargeFaceListClient.UpdateFace")
1176 defer func() {
1177 sc := -1
1178 if result.Response != nil {
1179 sc = result.Response.StatusCode
1180 }
1181 tracing.EndSpan(ctx, sc, err)
1182 }()
1183 }
1184 if err := validation.Validate([]validation.Validation{
1185 {TargetValue: largeFaceListID,
1186 Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil},
1187 {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}}); err != nil {
1188 return result, validation.NewError("face.LargeFaceListClient", "UpdateFace", err.Error())
1189 }
1190
1191 req, err := client.UpdateFacePreparer(ctx, largeFaceListID, persistedFaceID, body)
1192 if err != nil {
1193 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "UpdateFace", nil, "Failure preparing request")
1194 return
1195 }
1196
1197 resp, err := client.UpdateFaceSender(req)
1198 if err != nil {
1199 result.Response = resp
1200 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "UpdateFace", resp, "Failure sending request")
1201 return
1202 }
1203
1204 result, err = client.UpdateFaceResponder(resp)
1205 if err != nil {
1206 err = autorest.NewErrorWithError(err, "face.LargeFaceListClient", "UpdateFace", resp, "Failure responding to request")
1207 return
1208 }
1209
1210 return
1211 }
1212
1213
1214 func (client LargeFaceListClient) UpdateFacePreparer(ctx context.Context, largeFaceListID string, persistedFaceID uuid.UUID, body UpdateFaceRequest) (*http.Request, error) {
1215 urlParameters := map[string]interface{}{
1216 "Endpoint": client.Endpoint,
1217 }
1218
1219 pathParameters := map[string]interface{}{
1220 "largeFaceListId": autorest.Encode("path", largeFaceListID),
1221 "persistedFaceId": autorest.Encode("path", persistedFaceID),
1222 }
1223
1224 preparer := autorest.CreatePreparer(
1225 autorest.AsContentType("application/json; charset=utf-8"),
1226 autorest.AsPatch(),
1227 autorest.WithCustomBaseURL("{Endpoint}/face/v1.0", urlParameters),
1228 autorest.WithPathParameters("/largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}", pathParameters),
1229 autorest.WithJSON(body))
1230 return preparer.Prepare((&http.Request{}).WithContext(ctx))
1231 }
1232
1233
1234
1235 func (client LargeFaceListClient) UpdateFaceSender(req *http.Request) (*http.Response, error) {
1236 return client.Send(req, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
1237 }
1238
1239
1240
1241 func (client LargeFaceListClient) UpdateFaceResponder(resp *http.Response) (result autorest.Response, err error) {
1242 err = autorest.Respond(
1243 resp,
1244 azure.WithErrorUnlessStatusCode(http.StatusOK),
1245 autorest.ByClosing())
1246 result.Response = resp
1247 return
1248 }
1249
View as plain text