-
Notifications
You must be signed in to change notification settings - Fork 4.9k
/
FaceAdministrationClient.cs
123 lines (106 loc) · 6.99 KB
/
FaceAdministrationClient.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// <auto-generated/>
#nullable disable
using System;
using Azure.Core;
using Azure.Core.Pipeline;
namespace Azure.AI.Vision.Face
{
// Data plane generated client.
/// <summary> The FaceAdministration service client. </summary>
public partial class FaceAdministrationClient
{
private const string AuthorizationHeader = "Ocp-Apim-Subscription-Key";
private readonly AzureKeyCredential _keyCredential;
private static readonly string[] AuthorizationScopes = new string[] { "https://cognitiveservices.azure.com/.default" };
private readonly TokenCredential _tokenCredential;
private readonly HttpPipeline _pipeline;
private readonly Uri _endpoint;
private readonly string _apiVersion;
/// <summary> The ClientDiagnostics is used to provide tracing support for the client library. </summary>
internal ClientDiagnostics ClientDiagnostics { get; }
/// <summary> The HTTP pipeline for sending and receiving REST requests and responses. </summary>
public virtual HttpPipeline Pipeline => _pipeline;
/// <summary> Initializes a new instance of FaceAdministrationClient for mocking. </summary>
protected FaceAdministrationClient()
{
}
/// <summary> Initializes a new instance of FaceAdministrationClient. </summary>
/// <param name="endpoint">
/// Supported Cognitive Services endpoints (protocol and hostname, for example:
/// https://{resource-name}.cognitiveservices.azure.com).
/// </param>
/// <param name="credential"> A credential used to authenticate to an Azure Service. </param>
/// <exception cref="ArgumentNullException"> <paramref name="endpoint"/> or <paramref name="credential"/> is null. </exception>
public FaceAdministrationClient(Uri endpoint, AzureKeyCredential credential) : this(endpoint, credential, new AzureAIVisionFaceClientOptions())
{
}
/// <summary> Initializes a new instance of FaceAdministrationClient. </summary>
/// <param name="endpoint">
/// Supported Cognitive Services endpoints (protocol and hostname, for example:
/// https://{resource-name}.cognitiveservices.azure.com).
/// </param>
/// <param name="credential"> A credential used to authenticate to an Azure Service. </param>
/// <exception cref="ArgumentNullException"> <paramref name="endpoint"/> or <paramref name="credential"/> is null. </exception>
public FaceAdministrationClient(Uri endpoint, TokenCredential credential) : this(endpoint, credential, new AzureAIVisionFaceClientOptions())
{
}
/// <summary> Initializes a new instance of FaceAdministrationClient. </summary>
/// <param name="endpoint">
/// Supported Cognitive Services endpoints (protocol and hostname, for example:
/// https://{resource-name}.cognitiveservices.azure.com).
/// </param>
/// <param name="credential"> A credential used to authenticate to an Azure Service. </param>
/// <param name="options"> The options for configuring the client. </param>
/// <exception cref="ArgumentNullException"> <paramref name="endpoint"/> or <paramref name="credential"/> is null. </exception>
public FaceAdministrationClient(Uri endpoint, AzureKeyCredential credential, AzureAIVisionFaceClientOptions options)
{
Argument.AssertNotNull(endpoint, nameof(endpoint));
Argument.AssertNotNull(credential, nameof(credential));
options ??= new AzureAIVisionFaceClientOptions();
ClientDiagnostics = new ClientDiagnostics(options, true);
_keyCredential = credential;
_pipeline = HttpPipelineBuilder.Build(options, Array.Empty<HttpPipelinePolicy>(), new HttpPipelinePolicy[] { new AzureKeyCredentialPolicy(_keyCredential, AuthorizationHeader) }, new ResponseClassifier());
_endpoint = endpoint;
_apiVersion = options.Version;
}
/// <summary> Initializes a new instance of FaceAdministrationClient. </summary>
/// <param name="endpoint">
/// Supported Cognitive Services endpoints (protocol and hostname, for example:
/// https://{resource-name}.cognitiveservices.azure.com).
/// </param>
/// <param name="credential"> A credential used to authenticate to an Azure Service. </param>
/// <param name="options"> The options for configuring the client. </param>
/// <exception cref="ArgumentNullException"> <paramref name="endpoint"/> or <paramref name="credential"/> is null. </exception>
public FaceAdministrationClient(Uri endpoint, TokenCredential credential, AzureAIVisionFaceClientOptions options)
{
Argument.AssertNotNull(endpoint, nameof(endpoint));
Argument.AssertNotNull(credential, nameof(credential));
options ??= new AzureAIVisionFaceClientOptions();
ClientDiagnostics = new ClientDiagnostics(options, true);
_tokenCredential = credential;
_pipeline = HttpPipelineBuilder.Build(options, Array.Empty<HttpPipelinePolicy>(), new HttpPipelinePolicy[] { new BearerTokenAuthenticationPolicy(_tokenCredential, AuthorizationScopes) }, new ResponseClassifier());
_endpoint = endpoint;
_apiVersion = options.Version;
}
/// <summary> Initializes a new instance of LargeFaceListClient. </summary>
/// <param name="largeFaceListId"> Valid character is letter in lower case or digit or '-' or '_', maximum length is 64. </param>
/// <exception cref="ArgumentNullException"> <paramref name="largeFaceListId"/> is null. </exception>
/// <exception cref="ArgumentException"> <paramref name="largeFaceListId"/> is an empty string, and was expected to be non-empty. </exception>
public virtual LargeFaceListClient GetLargeFaceListClient(string largeFaceListId)
{
Argument.AssertNotNullOrEmpty(largeFaceListId, nameof(largeFaceListId));
return new LargeFaceListClient(ClientDiagnostics, _pipeline, _keyCredential, _tokenCredential, _endpoint, largeFaceListId, _apiVersion);
}
/// <summary> Initializes a new instance of LargePersonGroupClient. </summary>
/// <param name="largePersonGroupId"> ID of the container. </param>
/// <exception cref="ArgumentNullException"> <paramref name="largePersonGroupId"/> is null. </exception>
/// <exception cref="ArgumentException"> <paramref name="largePersonGroupId"/> is an empty string, and was expected to be non-empty. </exception>
public virtual LargePersonGroupClient GetLargePersonGroupClient(string largePersonGroupId)
{
Argument.AssertNotNullOrEmpty(largePersonGroupId, nameof(largePersonGroupId));
return new LargePersonGroupClient(ClientDiagnostics, _pipeline, _keyCredential, _tokenCredential, _endpoint, largePersonGroupId, _apiVersion);
}
}
}