Skip to content

CallAutomationClient PMA Endpoint Constructors #50163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: callautomation/release/ga5
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ protected CallAutomationClient() { }
public CallAutomationClient(string connectionString) { }
public CallAutomationClient(string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options) { }
public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, System.Uri acsEndpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(Azure.Communication.CallAutomation.AnswerCallOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(string incomingCallContext, System.Uri callbackUri, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ protected CallAutomationClient() { }
public CallAutomationClient(string connectionString) { }
public CallAutomationClient(string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options) { }
public CallAutomationClient(System.Uri endpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, string connectionString, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public CallAutomationClient(System.Uri pmaEndpoint, System.Uri acsEndpoint, Azure.Core.TokenCredential credential, Azure.Communication.CallAutomation.CallAutomationClientOptions options = null) { }
public Azure.Communication.CommunicationUserIdentifier Source { get { throw null; } }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(Azure.Communication.CallAutomation.AnswerCallOptions options, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
public virtual Azure.Response<Azure.Communication.CallAutomation.AnswerCallResult> AnswerCall(string incomingCallContext, System.Uri callbackUri, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "net",
"TagPrefix": "net/communication/Azure.Communication.CallAutomation",
"Tag": "net/communication/Azure.Communication.CallAutomation_752c087c19"
"Tag": "net/communication/Azure.Communication.CallAutomation_13e45d1662"
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,31 @@ public CallAutomationClient(Uri endpoint, TokenCredential credential, CallAutoma
Argument.CheckNotNull(credential, nameof(credential)),
options ?? new CallAutomationClientOptions())
{ }

/// <summary> Initializes a new instance of <see cref="CallAutomationClient"/> with custom PMA endpoint.</summary>
/// <param name="pmaEndpoint">Endpoint for PMA</param>
/// <param name="connectionString">Connection string acquired from the Azure Communication Services resource.</param>
/// <param name="options">Client option exposing <see cref="ClientOptions.Diagnostics"/>, <see cref="ClientOptions.Retry"/>, <see cref="ClientOptions.Transport"/>, etc.</param>
public CallAutomationClient(Uri pmaEndpoint, string connectionString, CallAutomationClientOptions options = default)
: this(
pmaEndpoint,
options ?? new CallAutomationClientOptions(),
ConnectionString.Parse(connectionString))
{ }

/// <summary> Initializes a new instance of <see cref="CallAutomationClient"/>.</summary>
/// <param name="pmaEndpoint">Endpoint for PMA</param>
/// <param name="acsEndpoint">The URI of the Azure Communication Services resource.</param>
/// <param name="credential">The TokenCredential used to authenticate requests, such as DefaultAzureCredential.</param>
/// <param name="options">Client option exposing <see cref="ClientOptions.Diagnostics"/>, <see cref="ClientOptions.Retry"/>, <see cref="ClientOptions.Transport"/>, etc.</param>
public CallAutomationClient(Uri pmaEndpoint, Uri acsEndpoint, TokenCredential credential, CallAutomationClientOptions options = default)
: this(
pmaEndpoint,
acsEndpoint,
options ?? new CallAutomationClientOptions(),
credential
)
{ }
#endregion

#region private constructors
Expand All @@ -73,6 +98,13 @@ private CallAutomationClient(string endpoint, TokenCredential tokenCredential, C
: this(new Uri(endpoint), options.BuildHttpPipeline(tokenCredential), options)
{ }

private CallAutomationClient(Uri endpoint, CallAutomationClientOptions options, ConnectionString connectionString)
: this(
endpoint: endpoint,
httpPipeline: options.CustomBuildHttpPipeline(connectionString),
options: options)
{ }

private CallAutomationClient(Uri endpoint, HttpPipeline httpPipeline, CallAutomationClientOptions options)
{
_pipeline = httpPipeline;
Expand All @@ -85,6 +117,14 @@ private CallAutomationClient(Uri endpoint, HttpPipeline httpPipeline, CallAutoma
EventProcessor = new CallAutomationEventProcessor();
Source = options.Source;
}

private CallAutomationClient(
Uri pmaEndpoint,
Uri acsEndpoint,
CallAutomationClientOptions options,
TokenCredential tokenCredential)
: this(pmaEndpoint, options.CustomBuildHttpPipeline(acsEndpoint, tokenCredential), options)
{ }
#endregion

/// <summary>Initializes a new instance of <see cref="CallAutomationClient"/> for mocking.</summary>
Expand Down
Loading