diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IOperations.cs
new file mode 100644
index 0000000000000..2a2debb468654
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IOperations.cs
@@ -0,0 +1,70 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Operations operations.
+ ///
+ public partial interface IOperations
+ {
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IUsagesOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IUsagesOperations.cs
new file mode 100644
index 0000000000000..9e73e2b68262b
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IUsagesOperations.cs
@@ -0,0 +1,71 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// UsagesOperations operations.
+ ///
+ public partial interface IUsagesOperations
+ {
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// the location like "eastus"
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubManagementClient.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubManagementClient.cs
new file mode 100644
index 0000000000000..3f7b6ea805a8f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubManagementClient.cs
@@ -0,0 +1,105 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using Newtonsoft.Json;
+
+ ///
+ /// REST API for Azure WebPubSub Service
+ ///
+ public partial interface IWebPubSubManagementClient : System.IDisposable
+ {
+ ///
+ /// The base URI of the service.
+ ///
+ System.Uri BaseUri { get; set; }
+
+ ///
+ /// Gets or sets json serialization settings.
+ ///
+ JsonSerializerSettings SerializationSettings { get; }
+
+ ///
+ /// Gets or sets json deserialization settings.
+ ///
+ JsonSerializerSettings DeserializationSettings { get; }
+
+ ///
+ /// Credentials needed for the client to connect to Azure.
+ ///
+ ServiceClientCredentials Credentials { get; }
+
+ ///
+ /// Client Api Version.
+ ///
+ string ApiVersion { get; }
+
+ ///
+ /// Gets subscription Id which uniquely identify the Microsoft Azure
+ /// subscription. The subscription ID forms part of the URI for every
+ /// service call.
+ ///
+ string SubscriptionId { get; set; }
+
+ ///
+ /// The preferred language for the response.
+ ///
+ string AcceptLanguage { get; set; }
+
+ ///
+ /// The retry timeout in seconds for Long Running Operations. Default
+ /// value is 30.
+ ///
+ int? LongRunningOperationRetryTimeout { get; set; }
+
+ ///
+ /// Whether a unique x-ms-client-request-id should be generated. When
+ /// set to true a unique x-ms-client-request-id value is generated and
+ /// included in each request. Default is true.
+ ///
+ bool? GenerateClientRequestId { get; set; }
+
+
+ ///
+ /// Gets the IOperations.
+ ///
+ IOperations Operations { get; }
+
+ ///
+ /// Gets the IWebPubSubOperations.
+ ///
+ IWebPubSubOperations WebPubSub { get; }
+
+ ///
+ /// Gets the IUsagesOperations.
+ ///
+ IUsagesOperations Usages { get; }
+
+ ///
+ /// Gets the IWebPubSubPrivateEndpointConnectionsOperations.
+ ///
+ IWebPubSubPrivateEndpointConnectionsOperations WebPubSubPrivateEndpointConnections { get; }
+
+ ///
+ /// Gets the IWebPubSubPrivateLinkResourcesOperations.
+ ///
+ IWebPubSubPrivateLinkResourcesOperations WebPubSubPrivateLinkResources { get; }
+
+ ///
+ /// Gets the IWebPubSubSharedPrivateLinkResourcesOperations.
+ ///
+ IWebPubSubSharedPrivateLinkResourcesOperations WebPubSubSharedPrivateLinkResources { get; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubOperations.cs
new file mode 100644
index 0000000000000..cbad671cc2940
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubOperations.cs
@@ -0,0 +1,471 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// WebPubSubOperations operations.
+ ///
+ public partial interface IWebPubSubOperations
+ {
+ ///
+ /// Checks that the resource name is valid and is not already in use.
+ ///
+ ///
+ /// the region
+ ///
+ ///
+ /// Parameters supplied to the operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> CheckNameAvailabilityWithHttpMessagesAsync(string location, NameAvailabilityParameters parameters, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Handles requests to list all resources in a subscription.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListBySubscriptionWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Handles requests to list all resources in a resource group.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Get the resource and its properties.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> GetWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Create or update a resource.
+ ///
+ ///
+ /// Parameters for the create or update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> CreateOrUpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to delete a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task DeleteWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to update an exiting resource.
+ ///
+ ///
+ /// Parameters for the update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> UpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Get the access keys of the resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> ListKeysWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Regenerate the access key for the resource. PrimaryKey and
+ /// SecondaryKey cannot be regenerated at the same time.
+ ///
+ ///
+ /// Parameter that describes the Regenerate Key Operation.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> RegenerateKeyWithHttpMessagesAsync(RegenerateKeyParameters parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to restart a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task RestartWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Create or update a resource.
+ ///
+ ///
+ /// Parameters for the create or update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginCreateOrUpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to delete a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task BeginDeleteWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to update an exiting resource.
+ ///
+ ///
+ /// Parameters for the update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginUpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Regenerate the access key for the resource. PrimaryKey and
+ /// SecondaryKey cannot be regenerated at the same time.
+ ///
+ ///
+ /// Parameter that describes the Regenerate Key Operation.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginRegenerateKeyWithHttpMessagesAsync(RegenerateKeyParameters parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Operation to restart a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task BeginRestartWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Handles requests to list all resources in a subscription.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListBySubscriptionNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Handles requests to list all resources in a resource group.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListByResourceGroupNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateEndpointConnectionsOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateEndpointConnectionsOperations.cs
new file mode 100644
index 0000000000000..b87f3a0f737ce
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateEndpointConnectionsOperations.cs
@@ -0,0 +1,193 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// WebPubSubPrivateEndpointConnectionsOperations operations.
+ ///
+ public partial interface IWebPubSubPrivateEndpointConnectionsOperations
+ {
+ ///
+ /// List private endpoint connections
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Get the specified private endpoint connection
+ ///
+ ///
+ /// The name of the private endpoint connection
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> GetWithHttpMessagesAsync(string privateEndpointConnectionName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Update the state of specified private endpoint connection
+ ///
+ ///
+ /// The name of the private endpoint connection
+ ///
+ ///
+ /// The resource of private endpoint and its properties
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> UpdateWithHttpMessagesAsync(string privateEndpointConnectionName, PrivateEndpointConnection parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Delete the specified private endpoint connection
+ ///
+ ///
+ /// The name of the private endpoint connection
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task DeleteWithHttpMessagesAsync(string privateEndpointConnectionName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Delete the specified private endpoint connection
+ ///
+ ///
+ /// The name of the private endpoint connection
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task BeginDeleteWithHttpMessagesAsync(string privateEndpointConnectionName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// List private endpoint connections
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateLinkResourcesOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateLinkResourcesOperations.cs
new file mode 100644
index 0000000000000..d9e0be35b630f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubPrivateLinkResourcesOperations.cs
@@ -0,0 +1,78 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// WebPubSubPrivateLinkResourcesOperations operations.
+ ///
+ public partial interface IWebPubSubPrivateLinkResourcesOperations
+ {
+ ///
+ /// Get the private link resources that need to be created for a
+ /// resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Get the private link resources that need to be created for a
+ /// resource.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubSharedPrivateLinkResourcesOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubSharedPrivateLinkResourcesOperations.cs
new file mode 100644
index 0000000000000..6d59d8360751f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/IWebPubSubSharedPrivateLinkResourcesOperations.cs
@@ -0,0 +1,226 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// WebPubSubSharedPrivateLinkResourcesOperations operations.
+ ///
+ public partial interface IWebPubSubSharedPrivateLinkResourcesOperations
+ {
+ ///
+ /// List shared private link resources
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Get the specified shared private link resource
+ ///
+ ///
+ /// The name of the shared private link resource
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> GetWithHttpMessagesAsync(string sharedPrivateLinkResourceName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Create or update a shared private link resource
+ ///
+ ///
+ /// The name of the shared private link resource
+ ///
+ ///
+ /// The shared private link resource
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> CreateOrUpdateWithHttpMessagesAsync(string sharedPrivateLinkResourceName, SharedPrivateLinkResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Delete the specified shared private link resource
+ ///
+ ///
+ /// The name of the shared private link resource
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task DeleteWithHttpMessagesAsync(string sharedPrivateLinkResourceName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Create or update a shared private link resource
+ ///
+ ///
+ /// The name of the shared private link resource
+ ///
+ ///
+ /// The shared private link resource
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginCreateOrUpdateWithHttpMessagesAsync(string sharedPrivateLinkResourceName, SharedPrivateLinkResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Delete the specified shared private link resource
+ ///
+ ///
+ /// The name of the shared private link resource
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can
+ /// obtain this value from the Azure Resource Manager API or the
+ /// portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task BeginDeleteWithHttpMessagesAsync(string sharedPrivateLinkResourceName, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// List shared private link resources
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ACLAction.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ACLAction.cs
new file mode 100644
index 0000000000000..baa3281ee53bc
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ACLAction.cs
@@ -0,0 +1,22 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for ACLAction.
+ ///
+ public static class ACLAction
+ {
+ public const string Allow = "Allow";
+ public const string Deny = "Deny";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/CreatedByType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/CreatedByType.cs
new file mode 100644
index 0000000000000..65ff3c677c275
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/CreatedByType.cs
@@ -0,0 +1,24 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for CreatedByType.
+ ///
+ public static class CreatedByType
+ {
+ public const string User = "User";
+ public const string Application = "Application";
+ public const string ManagedIdentity = "ManagedIdentity";
+ public const string Key = "Key";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/DiagnosticConfiguration.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/DiagnosticConfiguration.cs
new file mode 100644
index 0000000000000..a3c54d5227efa
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/DiagnosticConfiguration.cs
@@ -0,0 +1,91 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Diagnostic configuration of a Microsoft.SignalRService resource. Used
+ /// together with Azure monitor DiagnosticSettings.
+ ///
+ public partial class DiagnosticConfiguration
+ {
+ ///
+ /// Initializes a new instance of the DiagnosticConfiguration class.
+ ///
+ public DiagnosticConfiguration()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the DiagnosticConfiguration class.
+ ///
+ /// Indicate whether or not enable
+ /// Connectivity logs.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ /// Indicate whether or not enable
+ /// Messaging logs.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ /// Indicate whether or not enable Live
+ /// Trace.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ /// Live Trace allows you to know what's happening inside Azure SignalR
+ /// service, it will give you live traces in real time, it will be
+ /// helpful when you developing your own Azure SignalR based web
+ /// application or self-troubleshooting some issues.
+ public DiagnosticConfiguration(string enableConnectivityLogs = default(string), string enableMessagingLogs = default(string), string enableLiveTrace = default(string))
+ {
+ EnableConnectivityLogs = enableConnectivityLogs;
+ EnableMessagingLogs = enableMessagingLogs;
+ EnableLiveTrace = enableLiveTrace;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets indicate whether or not enable Connectivity logs.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ ///
+ [JsonProperty(PropertyName = "enableConnectivityLogs")]
+ public string EnableConnectivityLogs { get; set; }
+
+ ///
+ /// Gets or sets indicate whether or not enable Messaging logs.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ ///
+ [JsonProperty(PropertyName = "enableMessagingLogs")]
+ public string EnableMessagingLogs { get; set; }
+
+ ///
+ /// Gets or sets indicate whether or not enable Live Trace.
+ /// Available values: Enabled, Disabled.
+ /// Case insensitive.
+ /// Live Trace allows you to know what's happening inside Azure SignalR
+ /// service, it will give you live traces in real time, it will be
+ /// helpful when you developing your own Azure SignalR based web
+ /// application or self-troubleshooting some issues.
+ ///
+ [JsonProperty(PropertyName = "enableLiveTrace")]
+ public string EnableLiveTrace { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Dimension.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Dimension.cs
new file mode 100644
index 0000000000000..e3bef5bfc9596
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Dimension.cs
@@ -0,0 +1,80 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Specifications of the Dimension of metrics.
+ ///
+ public partial class Dimension
+ {
+ ///
+ /// Initializes a new instance of the Dimension class.
+ ///
+ public Dimension()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the Dimension class.
+ ///
+ /// The public facing name of the dimension.
+ /// Localized friendly display name of the
+ /// dimension.
+ /// Name of the dimension as it appears in
+ /// MDM.
+ /// A Boolean flag indicating
+ /// whether this dimension should be included for the shoebox export
+ /// scenario.
+ public Dimension(string name = default(string), string displayName = default(string), string internalName = default(string), bool? toBeExportedForShoebox = default(bool?))
+ {
+ Name = name;
+ DisplayName = displayName;
+ InternalName = internalName;
+ ToBeExportedForShoebox = toBeExportedForShoebox;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the public facing name of the dimension.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets localized friendly display name of the dimension.
+ ///
+ [JsonProperty(PropertyName = "displayName")]
+ public string DisplayName { get; set; }
+
+ ///
+ /// Gets or sets name of the dimension as it appears in MDM.
+ ///
+ [JsonProperty(PropertyName = "internalName")]
+ public string InternalName { get; set; }
+
+ ///
+ /// Gets or sets a Boolean flag indicating whether this dimension
+ /// should be included for the shoebox export scenario.
+ ///
+ [JsonProperty(PropertyName = "toBeExportedForShoebox")]
+ public bool? ToBeExportedForShoebox { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorAdditionalInfo.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorAdditionalInfo.cs
new file mode 100644
index 0000000000000..7d4dcd588cd5e
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorAdditionalInfo.cs
@@ -0,0 +1,59 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// The resource management error additional info.
+ ///
+ public partial class ErrorAdditionalInfo
+ {
+ ///
+ /// Initializes a new instance of the ErrorAdditionalInfo class.
+ ///
+ public ErrorAdditionalInfo()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ErrorAdditionalInfo class.
+ ///
+ /// The additional info type.
+ /// The additional info.
+ public ErrorAdditionalInfo(string type = default(string), object info = default(object))
+ {
+ Type = type;
+ Info = info;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets the additional info type.
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; private set; }
+
+ ///
+ /// Gets the additional info.
+ ///
+ [JsonProperty(PropertyName = "info")]
+ public object Info { get; private set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorDetail.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorDetail.cs
new file mode 100644
index 0000000000000..4e918ff56b80e
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorDetail.cs
@@ -0,0 +1,85 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// The error detail.
+ ///
+ public partial class ErrorDetail
+ {
+ ///
+ /// Initializes a new instance of the ErrorDetail class.
+ ///
+ public ErrorDetail()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ErrorDetail class.
+ ///
+ /// The error code.
+ /// The error message.
+ /// The error target.
+ /// The error details.
+ /// The error additional info.
+ public ErrorDetail(string code = default(string), string message = default(string), string target = default(string), IList details = default(IList), IList additionalInfo = default(IList))
+ {
+ Code = code;
+ Message = message;
+ Target = target;
+ Details = details;
+ AdditionalInfo = additionalInfo;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets the error code.
+ ///
+ [JsonProperty(PropertyName = "code")]
+ public string Code { get; private set; }
+
+ ///
+ /// Gets the error message.
+ ///
+ [JsonProperty(PropertyName = "message")]
+ public string Message { get; private set; }
+
+ ///
+ /// Gets the error target.
+ ///
+ [JsonProperty(PropertyName = "target")]
+ public string Target { get; private set; }
+
+ ///
+ /// Gets the error details.
+ ///
+ [JsonProperty(PropertyName = "details")]
+ public IList Details { get; private set; }
+
+ ///
+ /// Gets the error additional info.
+ ///
+ [JsonProperty(PropertyName = "additionalInfo")]
+ public IList AdditionalInfo { get; private set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponse.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponse.cs
new file mode 100644
index 0000000000000..5193484308bce
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponse.cs
@@ -0,0 +1,56 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Error response
+ ///
+ ///
+ /// Common error response for all Azure Resource Manager APIs to return
+ /// error details for failed operations. (This also follows the OData error
+ /// response format.).
+ ///
+ public partial class ErrorResponse
+ {
+ ///
+ /// Initializes a new instance of the ErrorResponse class.
+ ///
+ public ErrorResponse()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ErrorResponse class.
+ ///
+ /// The error object.
+ public ErrorResponse(ErrorDetail error = default(ErrorDetail))
+ {
+ Error = error;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the error object.
+ ///
+ [JsonProperty(PropertyName = "error")]
+ public ErrorDetail Error { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponseException.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponseException.cs
new file mode 100644
index 0000000000000..0f2b5f108164f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ErrorResponseException.cs
@@ -0,0 +1,62 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+
+ ///
+ /// Exception thrown for an invalid response with ErrorResponse
+ /// information.
+ ///
+ public partial class ErrorResponseException : RestException
+ {
+ ///
+ /// Gets information about the associated HTTP request.
+ ///
+ public HttpRequestMessageWrapper Request { get; set; }
+
+ ///
+ /// Gets information about the associated HTTP response.
+ ///
+ public HttpResponseMessageWrapper Response { get; set; }
+
+ ///
+ /// Gets or sets the body object.
+ ///
+ public ErrorResponse Body { get; set; }
+
+ ///
+ /// Initializes a new instance of the ErrorResponseException class.
+ ///
+ public ErrorResponseException()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the ErrorResponseException class.
+ ///
+ /// The exception message.
+ public ErrorResponseException(string message)
+ : this(message, null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the ErrorResponseException class.
+ ///
+ /// The exception message.
+ /// Inner exception.
+ public ErrorResponseException(string message, System.Exception innerException)
+ : base(message, innerException)
+ {
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerSettings.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerSettings.cs
new file mode 100644
index 0000000000000..a8dc7ad6d345f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerSettings.cs
@@ -0,0 +1,56 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// The settings for event handler in webpubsub service
+ ///
+ public partial class EventHandlerSettings
+ {
+ ///
+ /// Initializes a new instance of the EventHandlerSettings class.
+ ///
+ public EventHandlerSettings()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the EventHandlerSettings class.
+ ///
+ /// Get or set the EventHandler items. The key is
+ /// the hub name and the value is the corresponding
+ /// EventHandlerTemplate.
+ public EventHandlerSettings(IDictionary> items = default(IDictionary>))
+ {
+ Items = items;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets get or set the EventHandler items. The key is the hub
+ /// name and the value is the corresponding EventHandlerTemplate.
+ ///
+ [JsonProperty(PropertyName = "items")]
+ public IDictionary> Items { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerTemplate.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerTemplate.cs
new file mode 100644
index 0000000000000..b7ea89fd42e09
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/EventHandlerTemplate.cs
@@ -0,0 +1,129 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// EventHandler template item settings.
+ ///
+ public partial class EventHandlerTemplate
+ {
+ ///
+ /// Initializes a new instance of the EventHandlerTemplate class.
+ ///
+ public EventHandlerTemplate()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the EventHandlerTemplate class.
+ ///
+ /// Gets or sets the EventHandler URL
+ /// template. You can use a predefined parameter {hub} and {event}
+ /// inside the template, the value of the EventHandler URL is
+ /// dynamically calculated when the client request comes in.
+ /// For example, UrlTemplate can be
+ /// `http://example.com/api/{hub}/{event}`. The host part can't
+ /// contains parameters.
+ /// Gets or sets the matching pattern
+ /// for event names.
+ /// There are 3 kind of patterns supported:
+ /// 1. "*", it to matches any event name
+ /// 2. Combine multiple events with ",", for example "event1,event2",
+ /// it matches event "event1" and "event2"
+ /// 3. The single event name, for example, "event1", it matches
+ /// "event1"
+ /// Gets ot sets the system event
+ /// pattern.
+ /// There are 2 kind of patterns supported:
+ /// 1. The single event name, for example, "connect", it matches
+ /// "connect"
+ /// 2. Combine multiple events with ",", for example
+ /// "connect,disconnected", it matches event "connect" and
+ /// "disconnected"
+ /// Gets or sets the auth settings for an event
+ /// handler. If not set, no auth is used.
+ public EventHandlerTemplate(string urlTemplate, string userEventPattern = default(string), string systemEventPattern = default(string), UpstreamAuthSettings auth = default(UpstreamAuthSettings))
+ {
+ UrlTemplate = urlTemplate;
+ UserEventPattern = userEventPattern;
+ SystemEventPattern = systemEventPattern;
+ Auth = auth;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the EventHandler URL template. You can use a
+ /// predefined parameter {hub} and {event} inside the template, the
+ /// value of the EventHandler URL is dynamically calculated when the
+ /// client request comes in.
+ /// For example, UrlTemplate can be
+ /// `http://example.com/api/{hub}/{event}`. The host part can't
+ /// contains parameters.
+ ///
+ [JsonProperty(PropertyName = "urlTemplate")]
+ public string UrlTemplate { get; set; }
+
+ ///
+ /// Gets or sets the matching pattern for event names.
+ /// There are 3 kind of patterns supported:
+ /// 1. "*", it to matches any event name
+ /// 2. Combine multiple events with ",", for example "event1,event2",
+ /// it matches event "event1" and "event2"
+ /// 3. The single event name, for example, "event1", it matches
+ /// "event1"
+ ///
+ [JsonProperty(PropertyName = "userEventPattern")]
+ public string UserEventPattern { get; set; }
+
+ ///
+ /// Gets ot sets the system event pattern.
+ /// There are 2 kind of patterns supported:
+ /// 1. The single event name, for example, "connect", it matches
+ /// "connect"
+ /// 2. Combine multiple events with ",", for example
+ /// "connect,disconnected", it matches event "connect" and
+ /// "disconnected"
+ ///
+ [JsonProperty(PropertyName = "systemEventPattern")]
+ public string SystemEventPattern { get; set; }
+
+ ///
+ /// Gets or sets the auth settings for an event handler. If not set, no
+ /// auth is used.
+ ///
+ [JsonProperty(PropertyName = "auth")]
+ public UpstreamAuthSettings Auth { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (UrlTemplate == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "UrlTemplate");
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/KeyType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/KeyType.cs
new file mode 100644
index 0000000000000..9f53d1768ff19
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/KeyType.cs
@@ -0,0 +1,22 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for KeyType.
+ ///
+ public static class KeyType
+ {
+ public const string Primary = "Primary";
+ public const string Secondary = "Secondary";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/LogSpecification.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/LogSpecification.cs
new file mode 100644
index 0000000000000..5943129cc5106
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/LogSpecification.cs
@@ -0,0 +1,60 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Specifications of the Logs for Azure Monitoring.
+ ///
+ public partial class LogSpecification
+ {
+ ///
+ /// Initializes a new instance of the LogSpecification class.
+ ///
+ public LogSpecification()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the LogSpecification class.
+ ///
+ /// Name of the log.
+ /// Localized friendly display name of the
+ /// log.
+ public LogSpecification(string name = default(string), string displayName = default(string))
+ {
+ Name = name;
+ DisplayName = displayName;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets name of the log.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets localized friendly display name of the log.
+ ///
+ [JsonProperty(PropertyName = "displayName")]
+ public string DisplayName { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentity.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentity.cs
new file mode 100644
index 0000000000000..d68642f9c2ed0
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentity.cs
@@ -0,0 +1,88 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// A class represent managed identities used for request and response
+ ///
+ public partial class ManagedIdentity
+ {
+ ///
+ /// Initializes a new instance of the ManagedIdentity class.
+ ///
+ public ManagedIdentity()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ManagedIdentity class.
+ ///
+ /// Represent the identity type: systemAssigned,
+ /// userAssigned, None. Possible values include: 'None',
+ /// 'SystemAssigned', 'UserAssigned'
+ /// Get or set the user assigned
+ /// identities
+ /// Get the principal id for the system
+ /// assigned identity.
+ /// Only be used in response.
+ /// Get the tenant id for the system assigned
+ /// identity.
+ /// Only be used in response
+ public ManagedIdentity(string type = default(string), IDictionary userAssignedIdentities = default(IDictionary), string principalId = default(string), string tenantId = default(string))
+ {
+ Type = type;
+ UserAssignedIdentities = userAssignedIdentities;
+ PrincipalId = principalId;
+ TenantId = tenantId;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets represent the identity type: systemAssigned,
+ /// userAssigned, None. Possible values include: 'None',
+ /// 'SystemAssigned', 'UserAssigned'
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ ///
+ /// Gets or sets get or set the user assigned identities
+ ///
+ [JsonProperty(PropertyName = "userAssignedIdentities")]
+ public IDictionary UserAssignedIdentities { get; set; }
+
+ ///
+ /// Gets get the principal id for the system assigned identity.
+ /// Only be used in response.
+ ///
+ [JsonProperty(PropertyName = "principalId")]
+ public string PrincipalId { get; private set; }
+
+ ///
+ /// Gets get the tenant id for the system assigned identity.
+ /// Only be used in response
+ ///
+ [JsonProperty(PropertyName = "tenantId")]
+ public string TenantId { get; private set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs
new file mode 100644
index 0000000000000..0c68c71f3c3b5
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentitySettings.cs
@@ -0,0 +1,56 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Managed identity settings for upstream.
+ ///
+ public partial class ManagedIdentitySettings
+ {
+ ///
+ /// Initializes a new instance of the ManagedIdentitySettings class.
+ ///
+ public ManagedIdentitySettings()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ManagedIdentitySettings class.
+ ///
+ /// The Resource indicating the App ID URI of
+ /// the target resource.
+ /// It also appears in the aud (audience) claim of the issued
+ /// token.
+ public ManagedIdentitySettings(string resource = default(string))
+ {
+ Resource = resource;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the Resource indicating the App ID URI of the target
+ /// resource.
+ /// It also appears in the aud (audience) claim of the issued token.
+ ///
+ [JsonProperty(PropertyName = "resource")]
+ public string Resource { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentityType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentityType.cs
new file mode 100644
index 0000000000000..7a9e6975f0283
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ManagedIdentityType.cs
@@ -0,0 +1,23 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for ManagedIdentityType.
+ ///
+ public static class ManagedIdentityType
+ {
+ public const string None = "None";
+ public const string SystemAssigned = "SystemAssigned";
+ public const string UserAssigned = "UserAssigned";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/MetricSpecification.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/MetricSpecification.cs
new file mode 100644
index 0000000000000..26016a91ed780
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/MetricSpecification.cs
@@ -0,0 +1,129 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// Specifications of the Metrics for Azure Monitoring.
+ ///
+ public partial class MetricSpecification
+ {
+ ///
+ /// Initializes a new instance of the MetricSpecification class.
+ ///
+ public MetricSpecification()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the MetricSpecification class.
+ ///
+ /// Name of the metric.
+ /// Localized friendly display name of the
+ /// metric.
+ /// Localized friendly description of
+ /// the metric.
+ /// The unit that makes sense for the
+ /// metric.
+ /// Only provide one value for this
+ /// field. Valid values: Average, Minimum, Maximum, Total,
+ /// Count.
+ /// Optional. If set to true, then zero
+ /// will be returned for time duration where no metric is
+ /// emitted/published.
+ /// Ex. a metric that returns the number of times a particular error
+ /// code was emitted. The error code may not appear
+ /// often, instead of the RP publishing 0, Shoebox can auto fill in 0s
+ /// for time periods where nothing was emitted.
+ /// The name of the metric category that the
+ /// metric belongs to. A metric can only belong to a single
+ /// category.
+ /// The dimensions of the metrics.
+ public MetricSpecification(string name = default(string), string displayName = default(string), string displayDescription = default(string), string unit = default(string), string aggregationType = default(string), string fillGapWithZero = default(string), string category = default(string), IList dimensions = default(IList))
+ {
+ Name = name;
+ DisplayName = displayName;
+ DisplayDescription = displayDescription;
+ Unit = unit;
+ AggregationType = aggregationType;
+ FillGapWithZero = fillGapWithZero;
+ Category = category;
+ Dimensions = dimensions;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets name of the metric.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets localized friendly display name of the metric.
+ ///
+ [JsonProperty(PropertyName = "displayName")]
+ public string DisplayName { get; set; }
+
+ ///
+ /// Gets or sets localized friendly description of the metric.
+ ///
+ [JsonProperty(PropertyName = "displayDescription")]
+ public string DisplayDescription { get; set; }
+
+ ///
+ /// Gets or sets the unit that makes sense for the metric.
+ ///
+ [JsonProperty(PropertyName = "unit")]
+ public string Unit { get; set; }
+
+ ///
+ /// Gets or sets only provide one value for this field. Valid values:
+ /// Average, Minimum, Maximum, Total, Count.
+ ///
+ [JsonProperty(PropertyName = "aggregationType")]
+ public string AggregationType { get; set; }
+
+ ///
+ /// Gets or sets optional. If set to true, then zero will be returned
+ /// for time duration where no metric is emitted/published.
+ /// Ex. a metric that returns the number of times a particular error
+ /// code was emitted. The error code may not appear
+ /// often, instead of the RP publishing 0, Shoebox can auto fill in 0s
+ /// for time periods where nothing was emitted.
+ ///
+ [JsonProperty(PropertyName = "fillGapWithZero")]
+ public string FillGapWithZero { get; set; }
+
+ ///
+ /// Gets or sets the name of the metric category that the metric
+ /// belongs to. A metric can only belong to a single category.
+ ///
+ [JsonProperty(PropertyName = "category")]
+ public string Category { get; set; }
+
+ ///
+ /// Gets or sets the dimensions of the metrics.
+ ///
+ [JsonProperty(PropertyName = "dimensions")]
+ public IList Dimensions { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailability.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailability.cs
new file mode 100644
index 0000000000000..aac28fc185489
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailability.cs
@@ -0,0 +1,71 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Result of the request to check name availability. It contains a flag
+ /// and possible reason of failure.
+ ///
+ public partial class NameAvailability
+ {
+ ///
+ /// Initializes a new instance of the NameAvailability class.
+ ///
+ public NameAvailability()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the NameAvailability class.
+ ///
+ /// Indicates whether the name is available
+ /// or not.
+ /// The reason of the availability. Required if
+ /// name is not available.
+ /// The message of the operation.
+ public NameAvailability(bool? nameAvailable = default(bool?), string reason = default(string), string message = default(string))
+ {
+ NameAvailable = nameAvailable;
+ Reason = reason;
+ Message = message;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets indicates whether the name is available or not.
+ ///
+ [JsonProperty(PropertyName = "nameAvailable")]
+ public bool? NameAvailable { get; set; }
+
+ ///
+ /// Gets or sets the reason of the availability. Required if name is
+ /// not available.
+ ///
+ [JsonProperty(PropertyName = "reason")]
+ public string Reason { get; set; }
+
+ ///
+ /// Gets or sets the message of the operation.
+ ///
+ [JsonProperty(PropertyName = "message")]
+ public string Message { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailabilityParameters.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailabilityParameters.cs
new file mode 100644
index 0000000000000..1ac6739c428c3
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NameAvailabilityParameters.cs
@@ -0,0 +1,82 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Data POST-ed to the nameAvailability action
+ ///
+ public partial class NameAvailabilityParameters
+ {
+ ///
+ /// Initializes a new instance of the NameAvailabilityParameters class.
+ ///
+ public NameAvailabilityParameters()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the NameAvailabilityParameters class.
+ ///
+ /// The resource type. Can be
+ /// "Microsoft.SignalRService/SignalR" or
+ /// "Microsoft.SignalRService/webPubSub"
+ /// The resource name to validate.
+ /// e.g."my-resource-name"
+ public NameAvailabilityParameters(string type, string name)
+ {
+ Type = type;
+ Name = name;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the resource type. Can be
+ /// "Microsoft.SignalRService/SignalR" or
+ /// "Microsoft.SignalRService/webPubSub"
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ ///
+ /// Gets or sets the resource name to validate. e.g."my-resource-name"
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (Type == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "Type");
+ }
+ if (Name == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "Name");
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NetworkACL.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NetworkACL.cs
new file mode 100644
index 0000000000000..0e161b259ff94
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/NetworkACL.cs
@@ -0,0 +1,65 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// Network ACL
+ ///
+ public partial class NetworkACL
+ {
+ ///
+ /// Initializes a new instance of the NetworkACL class.
+ ///
+ public NetworkACL()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the NetworkACL class.
+ ///
+ /// Allowed request types. The value can be one or
+ /// more of: ClientConnection, ServerConnection, RESTAPI.
+ /// Denied request types. The value can be one or
+ /// more of: ClientConnection, ServerConnection, RESTAPI.
+ public NetworkACL(IList allow = default(IList), IList deny = default(IList))
+ {
+ Allow = allow;
+ Deny = deny;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets allowed request types. The value can be one or more
+ /// of: ClientConnection, ServerConnection, RESTAPI.
+ ///
+ [JsonProperty(PropertyName = "allow")]
+ public IList Allow { get; set; }
+
+ ///
+ /// Gets or sets denied request types. The value can be one or more of:
+ /// ClientConnection, ServerConnection, RESTAPI.
+ ///
+ [JsonProperty(PropertyName = "deny")]
+ public IList Deny { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Operation.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Operation.cs
new file mode 100644
index 0000000000000..315c427605a05
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Operation.cs
@@ -0,0 +1,93 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// REST API operation supported by resource provider.
+ ///
+ public partial class Operation
+ {
+ ///
+ /// Initializes a new instance of the Operation class.
+ ///
+ public Operation()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the Operation class.
+ ///
+ /// Name of the operation with format:
+ /// {provider}/{resource}/{operation}
+ /// If the operation is a data action. (for
+ /// data plane rbac)
+ /// The object that describes the
+ /// operation.
+ /// Optional. The intended executor of the
+ /// operation; governs the display of the operation in the RBAC UX and
+ /// the audit logs UX.
+ /// Extra properties for the
+ /// operation.
+ public Operation(string name = default(string), bool? isDataAction = default(bool?), OperationDisplay display = default(OperationDisplay), string origin = default(string), OperationProperties properties = default(OperationProperties))
+ {
+ Name = name;
+ IsDataAction = isDataAction;
+ Display = display;
+ Origin = origin;
+ Properties = properties;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets name of the operation with format:
+ /// {provider}/{resource}/{operation}
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets if the operation is a data action. (for data plane
+ /// rbac)
+ ///
+ [JsonProperty(PropertyName = "isDataAction")]
+ public bool? IsDataAction { get; set; }
+
+ ///
+ /// Gets or sets the object that describes the operation.
+ ///
+ [JsonProperty(PropertyName = "display")]
+ public OperationDisplay Display { get; set; }
+
+ ///
+ /// Gets or sets optional. The intended executor of the operation;
+ /// governs the display of the operation in the RBAC UX and the audit
+ /// logs UX.
+ ///
+ [JsonProperty(PropertyName = "origin")]
+ public string Origin { get; set; }
+
+ ///
+ /// Gets or sets extra properties for the operation.
+ ///
+ [JsonProperty(PropertyName = "properties")]
+ public OperationProperties Properties { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationDisplay.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationDisplay.cs
new file mode 100644
index 0000000000000..b137d317caa36
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationDisplay.cs
@@ -0,0 +1,79 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// The object that describes a operation.
+ ///
+ public partial class OperationDisplay
+ {
+ ///
+ /// Initializes a new instance of the OperationDisplay class.
+ ///
+ public OperationDisplay()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the OperationDisplay class.
+ ///
+ /// Friendly name of the resource
+ /// provider
+ /// Resource type on which the operation is
+ /// performed.
+ /// The localized friendly name for the
+ /// operation.
+ /// The localized friendly description for
+ /// the operation
+ public OperationDisplay(string provider = default(string), string resource = default(string), string operation = default(string), string description = default(string))
+ {
+ Provider = provider;
+ Resource = resource;
+ Operation = operation;
+ Description = description;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets friendly name of the resource provider
+ ///
+ [JsonProperty(PropertyName = "provider")]
+ public string Provider { get; set; }
+
+ ///
+ /// Gets or sets resource type on which the operation is performed.
+ ///
+ [JsonProperty(PropertyName = "resource")]
+ public string Resource { get; set; }
+
+ ///
+ /// Gets or sets the localized friendly name for the operation.
+ ///
+ [JsonProperty(PropertyName = "operation")]
+ public string Operation { get; set; }
+
+ ///
+ /// Gets or sets the localized friendly description for the operation
+ ///
+ [JsonProperty(PropertyName = "description")]
+ public string Description { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationProperties.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationProperties.cs
new file mode 100644
index 0000000000000..190e318e635cf
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/OperationProperties.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Extra Operation properties.
+ ///
+ public partial class OperationProperties
+ {
+ ///
+ /// Initializes a new instance of the OperationProperties class.
+ ///
+ public OperationProperties()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the OperationProperties class.
+ ///
+ /// The service
+ /// specifications.
+ public OperationProperties(ServiceSpecification serviceSpecification = default(ServiceSpecification))
+ {
+ ServiceSpecification = serviceSpecification;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the service specifications.
+ ///
+ [JsonProperty(PropertyName = "serviceSpecification")]
+ public ServiceSpecification ServiceSpecification { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Page.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Page.cs
new file mode 100644
index 0000000000000..6ed6edef0b3fc
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Page.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+
+ ///
+ /// Defines a page in Azure responses.
+ ///
+ /// Type of the page content items
+ [JsonObject]
+ public class Page : IPage
+ {
+ ///
+ /// Gets the link to the next page.
+ ///
+ [JsonProperty("nextLink")]
+ public string NextPageLink { get; private set; }
+
+ [JsonProperty("value")]
+ private IList Items{ get; set; }
+
+ ///
+ /// Returns an enumerator that iterates through the collection.
+ ///
+ /// A an enumerator that can be used to iterate through the collection.
+ public IEnumerator GetEnumerator()
+ {
+ return Items == null ? System.Linq.Enumerable.Empty().GetEnumerator() : Items.GetEnumerator();
+ }
+
+ ///
+ /// Returns an enumerator that iterates through the collection.
+ ///
+ /// A an enumerator that can be used to iterate through the collection.
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpoint.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpoint.cs
new file mode 100644
index 0000000000000..4a79c56deb854
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpoint.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Private endpoint
+ ///
+ public partial class PrivateEndpoint
+ {
+ ///
+ /// Initializes a new instance of the PrivateEndpoint class.
+ ///
+ public PrivateEndpoint()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the PrivateEndpoint class.
+ ///
+ /// Full qualified Id of the private endpoint
+ public PrivateEndpoint(string id = default(string))
+ {
+ Id = id;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets full qualified Id of the private endpoint
+ ///
+ [JsonProperty(PropertyName = "id")]
+ public string Id { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointACL.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointACL.cs
new file mode 100644
index 0000000000000..9385998f295ba
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointACL.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// ACL for a private endpoint
+ ///
+ public partial class PrivateEndpointACL : NetworkACL
+ {
+ ///
+ /// Initializes a new instance of the PrivateEndpointACL class.
+ ///
+ public PrivateEndpointACL()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the PrivateEndpointACL class.
+ ///
+ /// Name of the private endpoint connection
+ /// Allowed request types. The value can be one or
+ /// more of: ClientConnection, ServerConnection, RESTAPI.
+ /// Denied request types. The value can be one or
+ /// more of: ClientConnection, ServerConnection, RESTAPI.
+ public PrivateEndpointACL(string name, IList allow = default(IList), IList deny = default(IList))
+ : base(allow, deny)
+ {
+ Name = name;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets name of the private endpoint connection
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (Name == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "Name");
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointConnection.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointConnection.cs
new file mode 100644
index 0000000000000..8f3e3f0577aa0
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateEndpointConnection.cs
@@ -0,0 +1,94 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Serialization;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// A private endpoint connection to an azure resource
+ ///
+ [Rest.Serialization.JsonTransformation]
+ public partial class PrivateEndpointConnection : ProxyResource
+ {
+ ///
+ /// Initializes a new instance of the PrivateEndpointConnection class.
+ ///
+ public PrivateEndpointConnection()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the PrivateEndpointConnection class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ /// Metadata pertaining to creation and last
+ /// modification of the resource.
+ /// Provisioning state of the private
+ /// endpoint connection. Possible values include: 'Unknown',
+ /// 'Succeeded', 'Failed', 'Canceled', 'Running', 'Creating',
+ /// 'Updating', 'Deleting', 'Moving'
+ /// Private endpoint associated with the
+ /// private endpoint connection
+ /// Connection
+ /// state
+ public PrivateEndpointConnection(string id = default(string), string name = default(string), string type = default(string), SystemData systemData = default(SystemData), string provisioningState = default(string), PrivateEndpoint privateEndpoint = default(PrivateEndpoint), PrivateLinkServiceConnectionState privateLinkServiceConnectionState = default(PrivateLinkServiceConnectionState))
+ : base(id, name, type)
+ {
+ SystemData = systemData;
+ ProvisioningState = provisioningState;
+ PrivateEndpoint = privateEndpoint;
+ PrivateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets metadata pertaining to creation and last modification of the
+ /// resource.
+ ///
+ [JsonProperty(PropertyName = "systemData")]
+ public SystemData SystemData { get; private set; }
+
+ ///
+ /// Gets provisioning state of the private endpoint connection.
+ /// Possible values include: 'Unknown', 'Succeeded', 'Failed',
+ /// 'Canceled', 'Running', 'Creating', 'Updating', 'Deleting', 'Moving'
+ ///
+ [JsonProperty(PropertyName = "properties.provisioningState")]
+ public string ProvisioningState { get; private set; }
+
+ ///
+ /// Gets or sets private endpoint associated with the private endpoint
+ /// connection
+ ///
+ [JsonProperty(PropertyName = "properties.privateEndpoint")]
+ public PrivateEndpoint PrivateEndpoint { get; set; }
+
+ ///
+ /// Gets or sets connection state
+ ///
+ [JsonProperty(PropertyName = "properties.privateLinkServiceConnectionState")]
+ public PrivateLinkServiceConnectionState PrivateLinkServiceConnectionState { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkResource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkResource.cs
new file mode 100644
index 0000000000000..450631b59b2fb
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkResource.cs
@@ -0,0 +1,90 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Serialization;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// Private link resource
+ ///
+ [Rest.Serialization.JsonTransformation]
+ public partial class PrivateLinkResource : ProxyResource
+ {
+ ///
+ /// Initializes a new instance of the PrivateLinkResource class.
+ ///
+ public PrivateLinkResource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the PrivateLinkResource class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ /// Group Id of the private link resource
+ /// Required members of the private link
+ /// resource
+ /// Required private DNS zone
+ /// names
+ /// The list of
+ /// resources that are onboarded to private link service
+ public PrivateLinkResource(string id = default(string), string name = default(string), string type = default(string), string groupId = default(string), IList requiredMembers = default(IList), IList requiredZoneNames = default(IList), IList shareablePrivateLinkResourceTypes = default(IList))
+ : base(id, name, type)
+ {
+ GroupId = groupId;
+ RequiredMembers = requiredMembers;
+ RequiredZoneNames = requiredZoneNames;
+ ShareablePrivateLinkResourceTypes = shareablePrivateLinkResourceTypes;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets group Id of the private link resource
+ ///
+ [JsonProperty(PropertyName = "properties.groupId")]
+ public string GroupId { get; set; }
+
+ ///
+ /// Gets or sets required members of the private link resource
+ ///
+ [JsonProperty(PropertyName = "properties.requiredMembers")]
+ public IList RequiredMembers { get; set; }
+
+ ///
+ /// Gets or sets required private DNS zone names
+ ///
+ [JsonProperty(PropertyName = "properties.requiredZoneNames")]
+ public IList RequiredZoneNames { get; set; }
+
+ ///
+ /// Gets or sets the list of resources that are onboarded to private
+ /// link service
+ ///
+ [JsonProperty(PropertyName = "properties.shareablePrivateLinkResourceTypes")]
+ public IList ShareablePrivateLinkResourceTypes { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionState.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionState.cs
new file mode 100644
index 0000000000000..29a6334b8108c
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionState.cs
@@ -0,0 +1,77 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Connection state of the private endpoint connection
+ ///
+ public partial class PrivateLinkServiceConnectionState
+ {
+ ///
+ /// Initializes a new instance of the PrivateLinkServiceConnectionState
+ /// class.
+ ///
+ public PrivateLinkServiceConnectionState()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the PrivateLinkServiceConnectionState
+ /// class.
+ ///
+ /// Indicates whether the connection has been
+ /// Approved/Rejected/Removed by the owner of the service. Possible
+ /// values include: 'Pending', 'Approved', 'Rejected',
+ /// 'Disconnected'
+ /// The reason for approval/rejection of the
+ /// connection.
+ /// A message indicating if changes on
+ /// the service provider require any updates on the consumer.
+ public PrivateLinkServiceConnectionState(string status = default(string), string description = default(string), string actionsRequired = default(string))
+ {
+ Status = status;
+ Description = description;
+ ActionsRequired = actionsRequired;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets indicates whether the connection has been
+ /// Approved/Rejected/Removed by the owner of the service. Possible
+ /// values include: 'Pending', 'Approved', 'Rejected', 'Disconnected'
+ ///
+ [JsonProperty(PropertyName = "status")]
+ public string Status { get; set; }
+
+ ///
+ /// Gets or sets the reason for approval/rejection of the connection.
+ ///
+ [JsonProperty(PropertyName = "description")]
+ public string Description { get; set; }
+
+ ///
+ /// Gets or sets a message indicating if changes on the service
+ /// provider require any updates on the consumer.
+ ///
+ [JsonProperty(PropertyName = "actionsRequired")]
+ public string ActionsRequired { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionStatus.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionStatus.cs
new file mode 100644
index 0000000000000..b7d1e9b7d5ffc
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/PrivateLinkServiceConnectionStatus.cs
@@ -0,0 +1,24 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for PrivateLinkServiceConnectionStatus.
+ ///
+ public static class PrivateLinkServiceConnectionStatus
+ {
+ public const string Pending = "Pending";
+ public const string Approved = "Approved";
+ public const string Rejected = "Rejected";
+ public const string Disconnected = "Disconnected";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProvisioningState.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProvisioningState.cs
new file mode 100644
index 0000000000000..b073289f52dff
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProvisioningState.cs
@@ -0,0 +1,29 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for ProvisioningState.
+ ///
+ public static class ProvisioningState
+ {
+ public const string Unknown = "Unknown";
+ public const string Succeeded = "Succeeded";
+ public const string Failed = "Failed";
+ public const string Canceled = "Canceled";
+ public const string Running = "Running";
+ public const string Creating = "Creating";
+ public const string Updating = "Updating";
+ public const string Deleting = "Deleting";
+ public const string Moving = "Moving";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProxyResource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProxyResource.cs
new file mode 100644
index 0000000000000..51b2b1b94b962
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ProxyResource.cs
@@ -0,0 +1,49 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using System.Linq;
+
+ ///
+ /// The resource model definition for a ARM proxy resource. It will have
+ /// everything other than required location and tags
+ ///
+ public partial class ProxyResource : Resource
+ {
+ ///
+ /// Initializes a new instance of the ProxyResource class.
+ ///
+ public ProxyResource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ProxyResource class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ public ProxyResource(string id = default(string), string name = default(string), string type = default(string))
+ : base(id, name, type)
+ {
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/RegenerateKeyParameters.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/RegenerateKeyParameters.cs
new file mode 100644
index 0000000000000..0df2bff2883c1
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/RegenerateKeyParameters.cs
@@ -0,0 +1,55 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Parameters describes the request to regenerate access keys
+ ///
+ public partial class RegenerateKeyParameters
+ {
+ ///
+ /// Initializes a new instance of the RegenerateKeyParameters class.
+ ///
+ public RegenerateKeyParameters()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the RegenerateKeyParameters class.
+ ///
+ /// The keyType to regenerate. Must be either
+ /// 'primary' or 'secondary'(case-insensitive). Possible values
+ /// include: 'Primary', 'Secondary'
+ public RegenerateKeyParameters(string keyType = default(string))
+ {
+ KeyType = keyType;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the keyType to regenerate. Must be either 'primary' or
+ /// 'secondary'(case-insensitive). Possible values include: 'Primary',
+ /// 'Secondary'
+ ///
+ [JsonProperty(PropertyName = "keyType")]
+ public string KeyType { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Resource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Resource.cs
new file mode 100644
index 0000000000000..65bd29e773cdd
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/Resource.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// The core properties of ARM resources.
+ ///
+ public partial class Resource : IResource
+ {
+ ///
+ /// Initializes a new instance of the Resource class.
+ ///
+ public Resource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the Resource class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ public Resource(string id = default(string), string name = default(string), string type = default(string))
+ {
+ Id = id;
+ Name = name;
+ Type = type;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets fully qualified resource Id for the resource.
+ ///
+ [JsonProperty(PropertyName = "id")]
+ public string Id { get; private set; }
+
+ ///
+ /// Gets the name of the resource.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; private set; }
+
+ ///
+ /// Gets the type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; private set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ResourceSku.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ResourceSku.cs
new file mode 100644
index 0000000000000..32ded4acc0675
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ResourceSku.cs
@@ -0,0 +1,119 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// The billing information of the resource.
+ ///
+ public partial class ResourceSku
+ {
+ ///
+ /// Initializes a new instance of the ResourceSku class.
+ ///
+ public ResourceSku()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ResourceSku class.
+ ///
+ /// The name of the SKU. Required.
+ ///
+ /// Allowed values: Standard_S1, Free_F1
+ /// Optional tier of this particular SKU. 'Standard'
+ /// or 'Free'.
+ ///
+ /// `Basic` is deprecated, use `Standard` instead. Possible values
+ /// include: 'Free', 'Basic', 'Standard', 'Premium'
+ /// Not used. Retained for future use.
+ /// Not used. Retained for future use.
+ /// Optional, integer. The unit count of the
+ /// resource. 1 by default.
+ ///
+ /// If present, following values are allowed:
+ /// Free: 1
+ /// Standard: 1,2,5,10,20,50,100
+ public ResourceSku(string name, string tier = default(string), string size = default(string), string family = default(string), int? capacity = default(int?))
+ {
+ Name = name;
+ Tier = tier;
+ Size = size;
+ Family = family;
+ Capacity = capacity;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the name of the SKU. Required.
+ ///
+ /// Allowed values: Standard_S1, Free_F1
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets optional tier of this particular SKU. 'Standard' or
+ /// 'Free'.
+ ///
+ /// `Basic` is deprecated, use `Standard` instead. Possible values
+ /// include: 'Free', 'Basic', 'Standard', 'Premium'
+ ///
+ [JsonProperty(PropertyName = "tier")]
+ public string Tier { get; set; }
+
+ ///
+ /// Gets not used. Retained for future use.
+ ///
+ [JsonProperty(PropertyName = "size")]
+ public string Size { get; private set; }
+
+ ///
+ /// Gets not used. Retained for future use.
+ ///
+ [JsonProperty(PropertyName = "family")]
+ public string Family { get; private set; }
+
+ ///
+ /// Gets or sets optional, integer. The unit count of the resource. 1
+ /// by default.
+ ///
+ /// If present, following values are allowed:
+ /// Free: 1
+ /// Standard: 1,2,5,10,20,50,100
+ ///
+ [JsonProperty(PropertyName = "capacity")]
+ public int? Capacity { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (Name == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "Name");
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ServiceSpecification.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ServiceSpecification.cs
new file mode 100644
index 0000000000000..95480c9ac1e81
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ServiceSpecification.cs
@@ -0,0 +1,63 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// An object that describes a specification.
+ ///
+ public partial class ServiceSpecification
+ {
+ ///
+ /// Initializes a new instance of the ServiceSpecification class.
+ ///
+ public ServiceSpecification()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ServiceSpecification class.
+ ///
+ /// Specifications of the Metrics
+ /// for Azure Monitoring.
+ /// Specifications of the Logs for
+ /// Azure Monitoring.
+ public ServiceSpecification(IList metricSpecifications = default(IList), IList logSpecifications = default(IList))
+ {
+ MetricSpecifications = metricSpecifications;
+ LogSpecifications = logSpecifications;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets specifications of the Metrics for Azure Monitoring.
+ ///
+ [JsonProperty(PropertyName = "metricSpecifications")]
+ public IList MetricSpecifications { get; set; }
+
+ ///
+ /// Gets or sets specifications of the Logs for Azure Monitoring.
+ ///
+ [JsonProperty(PropertyName = "logSpecifications")]
+ public IList LogSpecifications { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceProperties.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceProperties.cs
new file mode 100644
index 0000000000000..52215fff66c6e
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceProperties.cs
@@ -0,0 +1,76 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Describes the properties of a resource type that has been onboarded to
+ /// private link service
+ ///
+ public partial class ShareablePrivateLinkResourceProperties
+ {
+ ///
+ /// Initializes a new instance of the
+ /// ShareablePrivateLinkResourceProperties class.
+ ///
+ public ShareablePrivateLinkResourceProperties()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// ShareablePrivateLinkResourceProperties class.
+ ///
+ /// The description of the resource type that
+ /// has been onboarded to private link service
+ /// The resource provider group id for the
+ /// resource that has been onboarded to private link service
+ /// The resource provider type for the resource that
+ /// has been onboarded to private link service
+ public ShareablePrivateLinkResourceProperties(string description = default(string), string groupId = default(string), string type = default(string))
+ {
+ Description = description;
+ GroupId = groupId;
+ Type = type;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the description of the resource type that has been
+ /// onboarded to private link service
+ ///
+ [JsonProperty(PropertyName = "description")]
+ public string Description { get; set; }
+
+ ///
+ /// Gets or sets the resource provider group id for the resource that
+ /// has been onboarded to private link service
+ ///
+ [JsonProperty(PropertyName = "groupId")]
+ public string GroupId { get; set; }
+
+ ///
+ /// Gets or sets the resource provider type for the resource that has
+ /// been onboarded to private link service
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceType.cs
new file mode 100644
index 0000000000000..cb00e152565bb
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/ShareablePrivateLinkResourceType.cs
@@ -0,0 +1,66 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Describes a resource type that has been onboarded to private link
+ /// service
+ ///
+ public partial class ShareablePrivateLinkResourceType
+ {
+ ///
+ /// Initializes a new instance of the ShareablePrivateLinkResourceType
+ /// class.
+ ///
+ public ShareablePrivateLinkResourceType()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ShareablePrivateLinkResourceType
+ /// class.
+ ///
+ /// The name of the resource type that has been
+ /// onboarded to private link service
+ /// Describes the properties of a resource
+ /// type that has been onboarded to private link service
+ public ShareablePrivateLinkResourceType(string name = default(string), ShareablePrivateLinkResourceProperties properties = default(ShareablePrivateLinkResourceProperties))
+ {
+ Name = name;
+ Properties = properties;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the name of the resource type that has been onboarded
+ /// to private link service
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ ///
+ /// Gets or sets describes the properties of a resource type that has
+ /// been onboarded to private link service
+ ///
+ [JsonProperty(PropertyName = "properties")]
+ public ShareablePrivateLinkResourceProperties Properties { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResource.cs
new file mode 100644
index 0000000000000..a3d71ef0b132f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResource.cs
@@ -0,0 +1,134 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Serialization;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Describes a Shared Private Link Resource
+ ///
+ [Rest.Serialization.JsonTransformation]
+ public partial class SharedPrivateLinkResource : ProxyResource
+ {
+ ///
+ /// Initializes a new instance of the SharedPrivateLinkResource class.
+ ///
+ public SharedPrivateLinkResource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the SharedPrivateLinkResource class.
+ ///
+ /// The group id from the provider of resource
+ /// the shared private link resource is for
+ /// The resource id of the resource
+ /// the shared private link resource is for
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ /// Metadata pertaining to creation and last
+ /// modification of the resource.
+ /// Provisioning state of the shared
+ /// private link resource. Possible values include: 'Unknown',
+ /// 'Succeeded', 'Failed', 'Canceled', 'Running', 'Creating',
+ /// 'Updating', 'Deleting', 'Moving'
+ /// The request message for requesting
+ /// approval of the shared private link resource
+ /// Status of the shared private link resource.
+ /// Possible values include: 'Pending', 'Approved', 'Rejected',
+ /// 'Disconnected', 'Timeout'
+ public SharedPrivateLinkResource(string groupId, string privateLinkResourceId, string id = default(string), string name = default(string), string type = default(string), SystemData systemData = default(SystemData), string provisioningState = default(string), string requestMessage = default(string), string status = default(string))
+ : base(id, name, type)
+ {
+ SystemData = systemData;
+ GroupId = groupId;
+ PrivateLinkResourceId = privateLinkResourceId;
+ ProvisioningState = provisioningState;
+ RequestMessage = requestMessage;
+ Status = status;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets metadata pertaining to creation and last modification of the
+ /// resource.
+ ///
+ [JsonProperty(PropertyName = "systemData")]
+ public SystemData SystemData { get; private set; }
+
+ ///
+ /// Gets or sets the group id from the provider of resource the shared
+ /// private link resource is for
+ ///
+ [JsonProperty(PropertyName = "properties.groupId")]
+ public string GroupId { get; set; }
+
+ ///
+ /// Gets or sets the resource id of the resource the shared private
+ /// link resource is for
+ ///
+ [JsonProperty(PropertyName = "properties.privateLinkResourceId")]
+ public string PrivateLinkResourceId { get; set; }
+
+ ///
+ /// Gets provisioning state of the shared private link resource.
+ /// Possible values include: 'Unknown', 'Succeeded', 'Failed',
+ /// 'Canceled', 'Running', 'Creating', 'Updating', 'Deleting', 'Moving'
+ ///
+ [JsonProperty(PropertyName = "properties.provisioningState")]
+ public string ProvisioningState { get; private set; }
+
+ ///
+ /// Gets or sets the request message for requesting approval of the
+ /// shared private link resource
+ ///
+ [JsonProperty(PropertyName = "properties.requestMessage")]
+ public string RequestMessage { get; set; }
+
+ ///
+ /// Gets status of the shared private link resource. Possible values
+ /// include: 'Pending', 'Approved', 'Rejected', 'Disconnected',
+ /// 'Timeout'
+ ///
+ [JsonProperty(PropertyName = "properties.status")]
+ public string Status { get; private set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (GroupId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "GroupId");
+ }
+ if (PrivateLinkResourceId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "PrivateLinkResourceId");
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceStatus.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceStatus.cs
new file mode 100644
index 0000000000000..b53122c30a76f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SharedPrivateLinkResourceStatus.cs
@@ -0,0 +1,25 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for SharedPrivateLinkResourceStatus.
+ ///
+ public static class SharedPrivateLinkResourceStatus
+ {
+ public const string Pending = "Pending";
+ public const string Approved = "Approved";
+ public const string Rejected = "Rejected";
+ public const string Disconnected = "Disconnected";
+ public const string Timeout = "Timeout";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs
new file mode 100644
index 0000000000000..0189f2d82bdbe
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsage.cs
@@ -0,0 +1,92 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Object that describes a specific usage of the resources.
+ ///
+ public partial class SignalRServiceUsage
+ {
+ ///
+ /// Initializes a new instance of the SignalRServiceUsage class.
+ ///
+ public SignalRServiceUsage()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the SignalRServiceUsage class.
+ ///
+ /// Fully qualified ARM resource id
+ /// Current value for the usage
+ /// quota.
+ /// The maximum permitted value for the usage
+ /// quota. If there is no limit, this value will be -1.
+ /// Localizable String object containing the name
+ /// and a localized value.
+ /// Representing the units of the usage quota.
+ /// Possible values are: Count, Bytes, Seconds, Percent,
+ /// CountPerSecond, BytesPerSecond.
+ public SignalRServiceUsage(string id = default(string), long? currentValue = default(long?), long? limit = default(long?), SignalRServiceUsageName name = default(SignalRServiceUsageName), string unit = default(string))
+ {
+ Id = id;
+ CurrentValue = currentValue;
+ Limit = limit;
+ Name = name;
+ Unit = unit;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets fully qualified ARM resource id
+ ///
+ [JsonProperty(PropertyName = "id")]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or sets current value for the usage quota.
+ ///
+ [JsonProperty(PropertyName = "currentValue")]
+ public long? CurrentValue { get; set; }
+
+ ///
+ /// Gets or sets the maximum permitted value for the usage quota. If
+ /// there is no limit, this value will be -1.
+ ///
+ [JsonProperty(PropertyName = "limit")]
+ public long? Limit { get; set; }
+
+ ///
+ /// Gets or sets localizable String object containing the name and a
+ /// localized value.
+ ///
+ [JsonProperty(PropertyName = "name")]
+ public SignalRServiceUsageName Name { get; set; }
+
+ ///
+ /// Gets or sets representing the units of the usage quota. Possible
+ /// values are: Count, Bytes, Seconds, Percent, CountPerSecond,
+ /// BytesPerSecond.
+ ///
+ [JsonProperty(PropertyName = "unit")]
+ public string Unit { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs
new file mode 100644
index 0000000000000..ab50852bdc4b8
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SignalRServiceUsageName.cs
@@ -0,0 +1,59 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Localizable String object containing the name and a localized value.
+ ///
+ public partial class SignalRServiceUsageName
+ {
+ ///
+ /// Initializes a new instance of the SignalRServiceUsageName class.
+ ///
+ public SignalRServiceUsageName()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the SignalRServiceUsageName class.
+ ///
+ /// The identifier of the usage.
+ /// Localized name of the usage.
+ public SignalRServiceUsageName(string value = default(string), string localizedValue = default(string))
+ {
+ Value = value;
+ LocalizedValue = localizedValue;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the identifier of the usage.
+ ///
+ [JsonProperty(PropertyName = "value")]
+ public string Value { get; set; }
+
+ ///
+ /// Gets or sets localized name of the usage.
+ ///
+ [JsonProperty(PropertyName = "localizedValue")]
+ public string LocalizedValue { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SystemData.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SystemData.cs
new file mode 100644
index 0000000000000..e832e5b8ad6ab
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/SystemData.cs
@@ -0,0 +1,103 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Metadata pertaining to creation and last modification of the resource.
+ ///
+ public partial class SystemData
+ {
+ ///
+ /// Initializes a new instance of the SystemData class.
+ ///
+ public SystemData()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the SystemData class.
+ ///
+ /// The identity that created the
+ /// resource.
+ /// The type of identity that created the
+ /// resource. Possible values include: 'User', 'Application',
+ /// 'ManagedIdentity', 'Key'
+ /// The timestamp of resource creation
+ /// (UTC).
+ /// The identity that last modified the
+ /// resource.
+ /// The type of identity that last
+ /// modified the resource. Possible values include: 'User',
+ /// 'Application', 'ManagedIdentity', 'Key'
+ /// The timestamp of resource last
+ /// modification (UTC)
+ public SystemData(string createdBy = default(string), string createdByType = default(string), System.DateTime? createdAt = default(System.DateTime?), string lastModifiedBy = default(string), string lastModifiedByType = default(string), System.DateTime? lastModifiedAt = default(System.DateTime?))
+ {
+ CreatedBy = createdBy;
+ CreatedByType = createdByType;
+ CreatedAt = createdAt;
+ LastModifiedBy = lastModifiedBy;
+ LastModifiedByType = lastModifiedByType;
+ LastModifiedAt = lastModifiedAt;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the identity that created the resource.
+ ///
+ [JsonProperty(PropertyName = "createdBy")]
+ public string CreatedBy { get; set; }
+
+ ///
+ /// Gets or sets the type of identity that created the resource.
+ /// Possible values include: 'User', 'Application', 'ManagedIdentity',
+ /// 'Key'
+ ///
+ [JsonProperty(PropertyName = "createdByType")]
+ public string CreatedByType { get; set; }
+
+ ///
+ /// Gets or sets the timestamp of resource creation (UTC).
+ ///
+ [JsonProperty(PropertyName = "createdAt")]
+ public System.DateTime? CreatedAt { get; set; }
+
+ ///
+ /// Gets or sets the identity that last modified the resource.
+ ///
+ [JsonProperty(PropertyName = "lastModifiedBy")]
+ public string LastModifiedBy { get; set; }
+
+ ///
+ /// Gets or sets the type of identity that last modified the resource.
+ /// Possible values include: 'User', 'Application', 'ManagedIdentity',
+ /// 'Key'
+ ///
+ [JsonProperty(PropertyName = "lastModifiedByType")]
+ public string LastModifiedByType { get; set; }
+
+ ///
+ /// Gets or sets the timestamp of resource last modification (UTC)
+ ///
+ [JsonProperty(PropertyName = "lastModifiedAt")]
+ public System.DateTime? LastModifiedAt { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/TrackedResource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/TrackedResource.cs
new file mode 100644
index 0000000000000..d805c1a625b31
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/TrackedResource.cs
@@ -0,0 +1,71 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// The resource model definition for a ARM tracked top level resource.
+ ///
+ public partial class TrackedResource : Resource
+ {
+ ///
+ /// Initializes a new instance of the TrackedResource class.
+ ///
+ public TrackedResource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the TrackedResource class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ /// The GEO location of the resource. e.g. West
+ /// US | East US | North Central US | South Central US.
+ /// Tags of the service which is a list of key value
+ /// pairs that describe the resource.
+ public TrackedResource(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary tags = default(IDictionary))
+ : base(id, name, type)
+ {
+ Location = location;
+ Tags = tags;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the GEO location of the resource. e.g. West US | East
+ /// US | North Central US | South Central US.
+ ///
+ [JsonProperty(PropertyName = "location")]
+ public string Location { get; set; }
+
+ ///
+ /// Gets or sets tags of the service which is a list of key value pairs
+ /// that describe the resource.
+ ///
+ [JsonProperty(PropertyName = "tags")]
+ public IDictionary Tags { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs
new file mode 100644
index 0000000000000..6d8f2cc5187e8
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthSettings.cs
@@ -0,0 +1,65 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Upstream auth settings.
+ ///
+ public partial class UpstreamAuthSettings
+ {
+ ///
+ /// Initializes a new instance of the UpstreamAuthSettings class.
+ ///
+ public UpstreamAuthSettings()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the UpstreamAuthSettings class.
+ ///
+ /// Gets or sets the type of auth. None or
+ /// ManagedIdentity is supported now. Possible values include: 'None',
+ /// 'ManagedIdentity'
+ /// Gets or sets the managed identity
+ /// settings. It's required if the auth type is set to
+ /// ManagedIdentity.
+ public UpstreamAuthSettings(string type = default(string), ManagedIdentitySettings managedIdentity = default(ManagedIdentitySettings))
+ {
+ Type = type;
+ ManagedIdentity = managedIdentity;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the type of auth. None or ManagedIdentity is supported
+ /// now. Possible values include: 'None', 'ManagedIdentity'
+ ///
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ ///
+ /// Gets or sets the managed identity settings. It's required if the
+ /// auth type is set to ManagedIdentity.
+ ///
+ [JsonProperty(PropertyName = "managedIdentity")]
+ public ManagedIdentitySettings ManagedIdentity { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthType.cs
new file mode 100644
index 0000000000000..e54c829ef2c21
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UpstreamAuthType.cs
@@ -0,0 +1,22 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for UpstreamAuthType.
+ ///
+ public static class UpstreamAuthType
+ {
+ public const string None = "None";
+ public const string ManagedIdentity = "ManagedIdentity";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UserAssignedIdentityProperty.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UserAssignedIdentityProperty.cs
new file mode 100644
index 0000000000000..76c2287230638
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/UserAssignedIdentityProperty.cs
@@ -0,0 +1,63 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Properties of user assigned identity.
+ ///
+ public partial class UserAssignedIdentityProperty
+ {
+ ///
+ /// Initializes a new instance of the UserAssignedIdentityProperty
+ /// class.
+ ///
+ public UserAssignedIdentityProperty()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the UserAssignedIdentityProperty
+ /// class.
+ ///
+ /// Get the principal id for the user
+ /// assigned identity
+ /// Get the client id for the user assigned
+ /// identity
+ public UserAssignedIdentityProperty(string principalId = default(string), string clientId = default(string))
+ {
+ PrincipalId = principalId;
+ ClientId = clientId;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets get the principal id for the user assigned identity
+ ///
+ [JsonProperty(PropertyName = "principalId")]
+ public string PrincipalId { get; private set; }
+
+ ///
+ /// Gets get the client id for the user assigned identity
+ ///
+ [JsonProperty(PropertyName = "clientId")]
+ public string ClientId { get; private set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubKeys.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubKeys.cs
new file mode 100644
index 0000000000000..fae6d732cde65
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubKeys.cs
@@ -0,0 +1,77 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// A class represents the access keys of the resource.
+ ///
+ public partial class WebPubSubKeys
+ {
+ ///
+ /// Initializes a new instance of the WebPubSubKeys class.
+ ///
+ public WebPubSubKeys()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubKeys class.
+ ///
+ /// The primary access key.
+ /// The secondary access key.
+ /// Connection string constructed
+ /// via the primaryKey
+ /// Connection string
+ /// constructed via the secondaryKey
+ public WebPubSubKeys(string primaryKey = default(string), string secondaryKey = default(string), string primaryConnectionString = default(string), string secondaryConnectionString = default(string))
+ {
+ PrimaryKey = primaryKey;
+ SecondaryKey = secondaryKey;
+ PrimaryConnectionString = primaryConnectionString;
+ SecondaryConnectionString = secondaryConnectionString;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the primary access key.
+ ///
+ [JsonProperty(PropertyName = "primaryKey")]
+ public string PrimaryKey { get; set; }
+
+ ///
+ /// Gets or sets the secondary access key.
+ ///
+ [JsonProperty(PropertyName = "secondaryKey")]
+ public string SecondaryKey { get; set; }
+
+ ///
+ /// Gets or sets connection string constructed via the primaryKey
+ ///
+ [JsonProperty(PropertyName = "primaryConnectionString")]
+ public string PrimaryConnectionString { get; set; }
+
+ ///
+ /// Gets or sets connection string constructed via the secondaryKey
+ ///
+ [JsonProperty(PropertyName = "secondaryConnectionString")]
+ public string SecondaryConnectionString { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubNetworkACLs.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubNetworkACLs.cs
new file mode 100644
index 0000000000000..8d84e1ab8663f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubNetworkACLs.cs
@@ -0,0 +1,73 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// Network ACLs for the resource
+ ///
+ public partial class WebPubSubNetworkACLs
+ {
+ ///
+ /// Initializes a new instance of the WebPubSubNetworkACLs class.
+ ///
+ public WebPubSubNetworkACLs()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubNetworkACLs class.
+ ///
+ /// Default action when no other rule
+ /// matches. Possible values include: 'Allow', 'Deny'
+ /// ACL for requests from public
+ /// network
+ /// ACLs for requests from private
+ /// endpoints
+ public WebPubSubNetworkACLs(string defaultAction = default(string), NetworkACL publicNetwork = default(NetworkACL), IList privateEndpoints = default(IList))
+ {
+ DefaultAction = defaultAction;
+ PublicNetwork = publicNetwork;
+ PrivateEndpoints = privateEndpoints;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets default action when no other rule matches. Possible
+ /// values include: 'Allow', 'Deny'
+ ///
+ [JsonProperty(PropertyName = "defaultAction")]
+ public string DefaultAction { get; set; }
+
+ ///
+ /// Gets or sets ACL for requests from public network
+ ///
+ [JsonProperty(PropertyName = "publicNetwork")]
+ public NetworkACL PublicNetwork { get; set; }
+
+ ///
+ /// Gets or sets aCLs for requests from private endpoints
+ ///
+ [JsonProperty(PropertyName = "privateEndpoints")]
+ public IList PrivateEndpoints { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubRequestType.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubRequestType.cs
new file mode 100644
index 0000000000000..0629abc22034e
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubRequestType.cs
@@ -0,0 +1,24 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for WebPubSubRequestType.
+ ///
+ public static class WebPubSubRequestType
+ {
+ public const string ClientConnection = "ClientConnection";
+ public const string ServerConnection = "ServerConnection";
+ public const string RESTAPI = "RESTAPI";
+ public const string Trace = "Trace";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubResource.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubResource.cs
new file mode 100644
index 0000000000000..dae09d949722f
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubResource.cs
@@ -0,0 +1,263 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Serialization;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ ///
+ /// A class represent a resource.
+ ///
+ [Rest.Serialization.JsonTransformation]
+ public partial class WebPubSubResource : TrackedResource
+ {
+ ///
+ /// Initializes a new instance of the WebPubSubResource class.
+ ///
+ public WebPubSubResource()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubResource class.
+ ///
+ /// Fully qualified resource Id for the
+ /// resource.
+ /// The name of the resource.
+ /// The type of the resource - e.g.
+ /// "Microsoft.SignalRService/SignalR"
+ /// The GEO location of the resource. e.g. West
+ /// US | East US | North Central US | South Central US.
+ /// Tags of the service which is a list of key value
+ /// pairs that describe the resource.
+ /// The billing information of the resource.(e.g.
+ /// Free, Standard)
+ /// Provisioning state of the resource.
+ /// Possible values include: 'Unknown', 'Succeeded', 'Failed',
+ /// 'Canceled', 'Running', 'Creating', 'Updating', 'Deleting',
+ /// 'Moving'
+ /// The publicly accessible IP of the
+ /// resource.
+ /// FQDN of the service instance.
+ /// The publicly accessible port of the
+ /// resource which is designed for browser/client side usage.
+ /// The publicly accessible port of the
+ /// resource which is designed for customer server side usage.
+ /// Version of the resource. Probably you need
+ /// the same or higher version of client SDKs.
+ /// Private endpoint
+ /// connections to the resource.
+ /// The list of shared private
+ /// link resources.
+ /// TLS settings.
+ /// Diagnostic configuration of a
+ /// Microsoft.SignalRService resource. Used together with Azure monitor
+ /// DiagnosticSettings.
+ /// The settings for event handler in
+ /// webpubsub service.
+ /// Network ACLs
+ /// Enable or disable public network
+ /// access. Default to "Enabled".
+ /// When it's Enabled, network ACLs still apply.
+ /// When it's Disabled, public network access is always disabled no
+ /// matter what you set in network ACLs.
+ /// DisableLocalAuth
+ /// Enable or disable local auth with AccessKey
+ /// When set as true, connection with AccessKey=xxx won't work.
+ /// DisableLocalAuth
+ /// Enable or disable aad auth
+ /// When set as true, connection with AuthType=aad won't work.
+ /// The managed identity response
+ /// Metadata pertaining to creation and last
+ /// modification of the resource.
+ public WebPubSubResource(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary tags = default(IDictionary), ResourceSku sku = default(ResourceSku), string provisioningState = default(string), string externalIP = default(string), string hostName = default(string), int? publicPort = default(int?), int? serverPort = default(int?), string version = default(string), IList privateEndpointConnections = default(IList), IList sharedPrivateLinkResources = default(IList), WebPubSubTlsSettings tls = default(WebPubSubTlsSettings), DiagnosticConfiguration diagnosticConfiguration = default(DiagnosticConfiguration), EventHandlerSettings eventHandler = default(EventHandlerSettings), WebPubSubNetworkACLs networkACLs = default(WebPubSubNetworkACLs), string publicNetworkAccess = default(string), bool? disableLocalAuth = default(bool?), bool? disableAadAuth = default(bool?), ManagedIdentity identity = default(ManagedIdentity), SystemData systemData = default(SystemData))
+ : base(id, name, type, location, tags)
+ {
+ Sku = sku;
+ ProvisioningState = provisioningState;
+ ExternalIP = externalIP;
+ HostName = hostName;
+ PublicPort = publicPort;
+ ServerPort = serverPort;
+ Version = version;
+ PrivateEndpointConnections = privateEndpointConnections;
+ SharedPrivateLinkResources = sharedPrivateLinkResources;
+ Tls = tls;
+ DiagnosticConfiguration = diagnosticConfiguration;
+ EventHandler = eventHandler;
+ NetworkACLs = networkACLs;
+ PublicNetworkAccess = publicNetworkAccess;
+ DisableLocalAuth = disableLocalAuth;
+ DisableAadAuth = disableAadAuth;
+ Identity = identity;
+ SystemData = systemData;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets the billing information of the resource.(e.g. Free,
+ /// Standard)
+ ///
+ [JsonProperty(PropertyName = "sku")]
+ public ResourceSku Sku { get; set; }
+
+ ///
+ /// Gets provisioning state of the resource. Possible values include:
+ /// 'Unknown', 'Succeeded', 'Failed', 'Canceled', 'Running',
+ /// 'Creating', 'Updating', 'Deleting', 'Moving'
+ ///
+ [JsonProperty(PropertyName = "properties.provisioningState")]
+ public string ProvisioningState { get; private set; }
+
+ ///
+ /// Gets the publicly accessible IP of the resource.
+ ///
+ [JsonProperty(PropertyName = "properties.externalIP")]
+ public string ExternalIP { get; private set; }
+
+ ///
+ /// Gets FQDN of the service instance.
+ ///
+ [JsonProperty(PropertyName = "properties.hostName")]
+ public string HostName { get; private set; }
+
+ ///
+ /// Gets the publicly accessible port of the resource which is designed
+ /// for browser/client side usage.
+ ///
+ [JsonProperty(PropertyName = "properties.publicPort")]
+ public int? PublicPort { get; private set; }
+
+ ///
+ /// Gets the publicly accessible port of the resource which is designed
+ /// for customer server side usage.
+ ///
+ [JsonProperty(PropertyName = "properties.serverPort")]
+ public int? ServerPort { get; private set; }
+
+ ///
+ /// Gets version of the resource. Probably you need the same or higher
+ /// version of client SDKs.
+ ///
+ [JsonProperty(PropertyName = "properties.version")]
+ public string Version { get; private set; }
+
+ ///
+ /// Gets private endpoint connections to the resource.
+ ///
+ [JsonProperty(PropertyName = "properties.privateEndpointConnections")]
+ public IList PrivateEndpointConnections { get; private set; }
+
+ ///
+ /// Gets the list of shared private link resources.
+ ///
+ [JsonProperty(PropertyName = "properties.sharedPrivateLinkResources")]
+ public IList SharedPrivateLinkResources { get; private set; }
+
+ ///
+ /// Gets or sets TLS settings.
+ ///
+ [JsonProperty(PropertyName = "properties.tls")]
+ public WebPubSubTlsSettings Tls { get; set; }
+
+ ///
+ /// Gets or sets diagnostic configuration of a Microsoft.SignalRService
+ /// resource. Used together with Azure monitor DiagnosticSettings.
+ ///
+ [JsonProperty(PropertyName = "properties.diagnosticConfiguration")]
+ public DiagnosticConfiguration DiagnosticConfiguration { get; set; }
+
+ ///
+ /// Gets or sets the settings for event handler in webpubsub service.
+ ///
+ [JsonProperty(PropertyName = "properties.eventHandler")]
+ public EventHandlerSettings EventHandler { get; set; }
+
+ ///
+ /// Gets or sets network ACLs
+ ///
+ [JsonProperty(PropertyName = "properties.networkACLs")]
+ public WebPubSubNetworkACLs NetworkACLs { get; set; }
+
+ ///
+ /// Gets or sets enable or disable public network access. Default to
+ /// "Enabled".
+ /// When it's Enabled, network ACLs still apply.
+ /// When it's Disabled, public network access is always disabled no
+ /// matter what you set in network ACLs.
+ ///
+ [JsonProperty(PropertyName = "properties.publicNetworkAccess")]
+ public string PublicNetworkAccess { get; set; }
+
+ ///
+ /// Gets or sets disableLocalAuth
+ /// Enable or disable local auth with AccessKey
+ /// When set as true, connection with AccessKey=xxx won't work.
+ ///
+ [JsonProperty(PropertyName = "properties.disableLocalAuth")]
+ public bool? DisableLocalAuth { get; set; }
+
+ ///
+ /// Gets or sets disableLocalAuth
+ /// Enable or disable aad auth
+ /// When set as true, connection with AuthType=aad won't work.
+ ///
+ [JsonProperty(PropertyName = "properties.disableAadAuth")]
+ public bool? DisableAadAuth { get; set; }
+
+ ///
+ /// Gets or sets the managed identity response
+ ///
+ [JsonProperty(PropertyName = "identity")]
+ public ManagedIdentity Identity { get; set; }
+
+ ///
+ /// Gets metadata pertaining to creation and last modification of the
+ /// resource.
+ ///
+ [JsonProperty(PropertyName = "systemData")]
+ public SystemData SystemData { get; private set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (Sku != null)
+ {
+ Sku.Validate();
+ }
+ if (SharedPrivateLinkResources != null)
+ {
+ foreach (var element in SharedPrivateLinkResources)
+ {
+ if (element != null)
+ {
+ element.Validate();
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubSkuTier.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubSkuTier.cs
new file mode 100644
index 0000000000000..caa4e866a0fa9
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubSkuTier.cs
@@ -0,0 +1,24 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+
+ ///
+ /// Defines values for WebPubSubSkuTier.
+ ///
+ public static class WebPubSubSkuTier
+ {
+ public const string Free = "Free";
+ public const string Basic = "Basic";
+ public const string Standard = "Standard";
+ public const string Premium = "Premium";
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs
new file mode 100644
index 0000000000000..a67e66899b22c
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Models/WebPubSubTlsSettings.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// TLS settings for the resource
+ ///
+ public partial class WebPubSubTlsSettings
+ {
+ ///
+ /// Initializes a new instance of the WebPubSubTlsSettings class.
+ ///
+ public WebPubSubTlsSettings()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubTlsSettings class.
+ ///
+ /// Request client certificate during
+ /// TLS handshake if enabled
+ public WebPubSubTlsSettings(bool? clientCertEnabled = default(bool?))
+ {
+ ClientCertEnabled = clientCertEnabled;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets request client certificate during TLS handshake if
+ /// enabled
+ ///
+ [JsonProperty(PropertyName = "clientCertEnabled")]
+ public bool? ClientCertEnabled { get; set; }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Operations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Operations.cs
new file mode 100644
index 0000000000000..dca0276200da3
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/Operations.cs
@@ -0,0 +1,392 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Operations operations.
+ ///
+ internal partial class Operations : IServiceOperations, IOperations
+ {
+ ///
+ /// Initializes a new instance of the Operations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ internal Operations(WebPubSubManagementClient client)
+ {
+ if (client == null)
+ {
+ throw new System.ArgumentNullException("client");
+ }
+ Client = client;
+ }
+
+ ///
+ /// Gets a reference to the WebPubSubManagementClient
+ ///
+ public WebPubSubManagementClient Client { get; private set; }
+
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "providers/Microsoft.SignalRService/operations").ToString();
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (nextPageLink == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("nextPageLink", nextPageLink);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters);
+ }
+ // Construct URL
+ string _url = "{nextLink}";
+ _url = _url.Replace("{nextLink}", nextPageLink);
+ List _queryParameters = new List();
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/OperationsExtensions.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/OperationsExtensions.cs
new file mode 100644
index 0000000000000..080f5892d4a54
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/OperationsExtensions.cs
@@ -0,0 +1,91 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Extension methods for Operations.
+ ///
+ public static partial class OperationsExtensions
+ {
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ public static IPage List(this IOperations operations)
+ {
+ return operations.ListAsync().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task> ListAsync(this IOperations operations, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ListWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ public static IPage ListNext(this IOperations operations, string nextPageLink)
+ {
+ return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists all of the available REST API operations of the
+ /// Microsoft.SignalRService provider.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task> ListNextAsync(this IOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/SdkInfo_WebPubSubManagementClient.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/SdkInfo_WebPubSubManagementClient.cs
new file mode 100644
index 0000000000000..51127d9439dd3
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/SdkInfo_WebPubSubManagementClient.cs
@@ -0,0 +1,32 @@
+
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+
+ internal static partial class SdkInfo
+ {
+ public static IEnumerable> ApiInfo_WebPubSubManagementClient
+ {
+ get
+ {
+ return new Tuple[]
+ {
+ new Tuple("SignalRService", "Operations", "2021-06-01-preview"),
+ new Tuple("SignalRService", "Usages", "2021-06-01-preview"),
+ new Tuple("SignalRService", "WebPubSub", "2021-06-01-preview"),
+ new Tuple("SignalRService", "WebPubSubPrivateEndpointConnections", "2021-06-01-preview"),
+ new Tuple("SignalRService", "WebPubSubPrivateLinkResources", "2021-06-01-preview"),
+ new Tuple("SignalRService", "WebPubSubSharedPrivateLinkResources", "2021-06-01-preview"),
+ }.AsEnumerable();
+ }
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperations.cs
new file mode 100644
index 0000000000000..6b63ea903763b
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperations.cs
@@ -0,0 +1,404 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// UsagesOperations operations.
+ ///
+ internal partial class UsagesOperations : IServiceOperations, IUsagesOperations
+ {
+ ///
+ /// Initializes a new instance of the UsagesOperations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ internal UsagesOperations(WebPubSubManagementClient client)
+ {
+ if (client == null)
+ {
+ throw new System.ArgumentNullException("client");
+ }
+ Client = client;
+ }
+
+ ///
+ /// Gets a reference to the WebPubSubManagementClient
+ ///
+ public WebPubSubManagementClient Client { get; private set; }
+
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// the location like "eastus"
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (location == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "location");
+ }
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("location", location);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages").ToString();
+ _url = _url.Replace("{location}", System.Uri.EscapeDataString(location));
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListNextWithHttpMessagesAsync(string nextPageLink, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (nextPageLink == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "nextPageLink");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("nextPageLink", nextPageLink);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "ListNext", tracingParameters);
+ }
+ // Construct URL
+ string _url = "{nextLink}";
+ _url = _url.Replace("{nextLink}", nextPageLink);
+ List _queryParameters = new List();
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperationsExtensions.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperationsExtensions.cs
new file mode 100644
index 0000000000000..13f0147752816
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/UsagesOperationsExtensions.cs
@@ -0,0 +1,93 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Extension methods for UsagesOperations.
+ ///
+ public static partial class UsagesOperationsExtensions
+ {
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// the location like "eastus"
+ ///
+ public static IPage List(this IUsagesOperations operations, string location)
+ {
+ return operations.ListAsync(location).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// the location like "eastus"
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task> ListAsync(this IUsagesOperations operations, string location, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ListWithHttpMessagesAsync(location, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ public static IPage ListNext(this IUsagesOperations operations, string nextPageLink)
+ {
+ return operations.ListNextAsync(nextPageLink).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// List resource usage quotas by location.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// The NextLink from the previous successful call to List operation.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task> ListNextAsync(this IUsagesOperations operations, string nextPageLink, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ListNextWithHttpMessagesAsync(nextPageLink, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubManagementClient.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubManagementClient.cs
new file mode 100644
index 0000000000000..bf600e42b21cb
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubManagementClient.cs
@@ -0,0 +1,392 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Microsoft.Rest.Serialization;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+
+ ///
+ /// REST API for Azure WebPubSub Service
+ ///
+ public partial class WebPubSubManagementClient : ServiceClient, IWebPubSubManagementClient, IAzureClient
+ {
+ ///
+ /// The base URI of the service.
+ ///
+ public System.Uri BaseUri { get; set; }
+
+ ///
+ /// Gets or sets json serialization settings.
+ ///
+ public JsonSerializerSettings SerializationSettings { get; private set; }
+
+ ///
+ /// Gets or sets json deserialization settings.
+ ///
+ public JsonSerializerSettings DeserializationSettings { get; private set; }
+
+ ///
+ /// Credentials needed for the client to connect to Azure.
+ ///
+ public ServiceClientCredentials Credentials { get; private set; }
+
+ ///
+ /// Client Api Version.
+ ///
+ public string ApiVersion { get; private set; }
+
+ ///
+ /// Gets subscription Id which uniquely identify the Microsoft Azure
+ /// subscription. The subscription ID forms part of the URI for every service
+ /// call.
+ ///
+ public string SubscriptionId { get; set; }
+
+ ///
+ /// The preferred language for the response.
+ ///
+ public string AcceptLanguage { get; set; }
+
+ ///
+ /// The retry timeout in seconds for Long Running Operations. Default value is
+ /// 30.
+ ///
+ public int? LongRunningOperationRetryTimeout { get; set; }
+
+ ///
+ /// Whether a unique x-ms-client-request-id should be generated. When set to
+ /// true a unique x-ms-client-request-id value is generated and included in
+ /// each request. Default is true.
+ ///
+ public bool? GenerateClientRequestId { get; set; }
+
+ ///
+ /// Gets the IOperations.
+ ///
+ public virtual IOperations Operations { get; private set; }
+
+ ///
+ /// Gets the IWebPubSubOperations.
+ ///
+ public virtual IWebPubSubOperations WebPubSub { get; private set; }
+
+ ///
+ /// Gets the IUsagesOperations.
+ ///
+ public virtual IUsagesOperations Usages { get; private set; }
+
+ ///
+ /// Gets the IWebPubSubPrivateEndpointConnectionsOperations.
+ ///
+ public virtual IWebPubSubPrivateEndpointConnectionsOperations WebPubSubPrivateEndpointConnections { get; private set; }
+
+ ///
+ /// Gets the IWebPubSubPrivateLinkResourcesOperations.
+ ///
+ public virtual IWebPubSubPrivateLinkResourcesOperations WebPubSubPrivateLinkResources { get; private set; }
+
+ ///
+ /// Gets the IWebPubSubSharedPrivateLinkResourcesOperations.
+ ///
+ public virtual IWebPubSubSharedPrivateLinkResourcesOperations WebPubSubSharedPrivateLinkResources { get; private set; }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// HttpClient to be used
+ ///
+ ///
+ /// True: will dispose the provided httpClient on calling WebPubSubManagementClient.Dispose(). False: will not dispose provided httpClient
+ protected WebPubSubManagementClient(HttpClient httpClient, bool disposeHttpClient) : base(httpClient, disposeHttpClient)
+ {
+ Initialize();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ protected WebPubSubManagementClient(params DelegatingHandler[] handlers) : base(handlers)
+ {
+ Initialize();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ protected WebPubSubManagementClient(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers)
+ {
+ Initialize();
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ protected WebPubSubManagementClient(System.Uri baseUri, params DelegatingHandler[] handlers) : this(handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ BaseUri = baseUri;
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ protected WebPubSubManagementClient(System.Uri baseUri, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ BaseUri = baseUri;
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Required. Credentials needed for the client to connect to Azure.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public WebPubSubManagementClient(ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers)
+ {
+ if (credentials == null)
+ {
+ throw new System.ArgumentNullException("credentials");
+ }
+ Credentials = credentials;
+ if (Credentials != null)
+ {
+ Credentials.InitializeServiceClient(this);
+ }
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Required. Credentials needed for the client to connect to Azure.
+ ///
+ ///
+ /// HttpClient to be used
+ ///
+ ///
+ /// True: will dispose the provided httpClient on calling WebPubSubManagementClient.Dispose(). False: will not dispose provided httpClient
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public WebPubSubManagementClient(ServiceClientCredentials credentials, HttpClient httpClient, bool disposeHttpClient) : this(httpClient, disposeHttpClient)
+ {
+ if (credentials == null)
+ {
+ throw new System.ArgumentNullException("credentials");
+ }
+ Credentials = credentials;
+ if (Credentials != null)
+ {
+ Credentials.InitializeServiceClient(this);
+ }
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Required. Credentials needed for the client to connect to Azure.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public WebPubSubManagementClient(ServiceClientCredentials credentials, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers)
+ {
+ if (credentials == null)
+ {
+ throw new System.ArgumentNullException("credentials");
+ }
+ Credentials = credentials;
+ if (Credentials != null)
+ {
+ Credentials.InitializeServiceClient(this);
+ }
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Required. Credentials needed for the client to connect to Azure.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public WebPubSubManagementClient(System.Uri baseUri, ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ if (credentials == null)
+ {
+ throw new System.ArgumentNullException("credentials");
+ }
+ BaseUri = baseUri;
+ Credentials = credentials;
+ if (Credentials != null)
+ {
+ Credentials.InitializeServiceClient(this);
+ }
+ }
+
+ ///
+ /// Initializes a new instance of the WebPubSubManagementClient class.
+ ///
+ ///
+ /// Optional. The base URI of the service.
+ ///
+ ///
+ /// Required. Credentials needed for the client to connect to Azure.
+ ///
+ ///
+ /// Optional. The http client handler used to handle http transport.
+ ///
+ ///
+ /// Optional. The delegating handlers to add to the http client pipeline.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ public WebPubSubManagementClient(System.Uri baseUri, ServiceClientCredentials credentials, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers)
+ {
+ if (baseUri == null)
+ {
+ throw new System.ArgumentNullException("baseUri");
+ }
+ if (credentials == null)
+ {
+ throw new System.ArgumentNullException("credentials");
+ }
+ BaseUri = baseUri;
+ Credentials = credentials;
+ if (Credentials != null)
+ {
+ Credentials.InitializeServiceClient(this);
+ }
+ }
+
+ ///
+ /// An optional partial-method to perform custom initialization.
+ ///
+ partial void CustomInitialize();
+ ///
+ /// Initializes client properties.
+ ///
+ private void Initialize()
+ {
+ Operations = new Operations(this);
+ WebPubSub = new WebPubSubOperations(this);
+ Usages = new UsagesOperations(this);
+ WebPubSubPrivateEndpointConnections = new WebPubSubPrivateEndpointConnectionsOperations(this);
+ WebPubSubPrivateLinkResources = new WebPubSubPrivateLinkResourcesOperations(this);
+ WebPubSubSharedPrivateLinkResources = new WebPubSubSharedPrivateLinkResourcesOperations(this);
+ BaseUri = new System.Uri("https://management.azure.com");
+ ApiVersion = "2021-06-01-preview";
+ AcceptLanguage = "en-US";
+ LongRunningOperationRetryTimeout = 30;
+ GenerateClientRequestId = true;
+ SerializationSettings = new JsonSerializerSettings
+ {
+ Formatting = Newtonsoft.Json.Formatting.Indented,
+ DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
+ DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc,
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
+ ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
+ ContractResolver = new ReadOnlyJsonContractResolver(),
+ Converters = new List
+ {
+ new Iso8601TimeSpanConverter()
+ }
+ };
+ SerializationSettings.Converters.Add(new TransformationJsonConverter());
+ DeserializationSettings = new JsonSerializerSettings
+ {
+ DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat,
+ DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc,
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore,
+ ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize,
+ ContractResolver = new ReadOnlyJsonContractResolver(),
+ Converters = new List
+ {
+ new Iso8601TimeSpanConverter()
+ }
+ };
+ CustomInitialize();
+ DeserializationSettings.Converters.Add(new TransformationJsonConverter());
+ DeserializationSettings.Converters.Add(new CloudErrorJsonConverter());
+ }
+ }
+}
diff --git a/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubOperations.cs b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubOperations.cs
new file mode 100644
index 0000000000000..ae4a64c630ddf
--- /dev/null
+++ b/sdk/webpubsub/Microsoft.Azure.Management.WebPubSub/src/Generated/WebPubSubOperations.cs
@@ -0,0 +1,2438 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.WebPubSub
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// WebPubSubOperations operations.
+ ///
+ internal partial class WebPubSubOperations : IServiceOperations, IWebPubSubOperations
+ {
+ ///
+ /// Initializes a new instance of the WebPubSubOperations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ internal WebPubSubOperations(WebPubSubManagementClient client)
+ {
+ if (client == null)
+ {
+ throw new System.ArgumentNullException("client");
+ }
+ Client = client;
+ }
+
+ ///
+ /// Gets a reference to the WebPubSubManagementClient
+ ///
+ public WebPubSubManagementClient Client { get; private set; }
+
+ ///
+ /// Checks that the resource name is valid and is not already in use.
+ ///
+ ///
+ /// the region
+ ///
+ ///
+ /// Parameters supplied to the operation.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> CheckNameAvailabilityWithHttpMessagesAsync(string location, NameAvailabilityParameters parameters, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (location == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "location");
+ }
+ if (parameters == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "parameters");
+ }
+ if (parameters != null)
+ {
+ parameters.Validate();
+ }
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("location", location);
+ tracingParameters.Add("parameters", parameters);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "CheckNameAvailability", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability").ToString();
+ _url = _url.Replace("{location}", System.Uri.EscapeDataString(location));
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(parameters != null)
+ {
+ _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Handles requests to list all resources in a subscription.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListBySubscriptionWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "ListBySubscription", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/webPubSub").ToString();
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Handles requests to list all resources in a resource group.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task>> ListByResourceGroupWithHttpMessagesAsync(string resourceGroupName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ if (resourceGroupName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "ListByResourceGroup", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub").ToString();
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse>();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Get the resource and its properties.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> GetWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ if (resourceGroupName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName");
+ }
+ if (resourceName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceName");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("resourceName", resourceName);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}").ToString();
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName));
+ _url = _url.Replace("{resourceName}", System.Uri.EscapeDataString(resourceName));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("GET");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Create or update a resource.
+ ///
+ ///
+ /// Parameters for the create or update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task> CreateOrUpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send Request
+ AzureOperationResponse _response = await BeginCreateOrUpdateWithHttpMessagesAsync(parameters, resourceGroupName, resourceName, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Operation to delete a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task DeleteWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send request
+ AzureOperationResponse _response = await BeginDeleteWithHttpMessagesAsync(resourceGroupName, resourceName, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Operation to update an exiting resource.
+ ///
+ ///
+ /// Parameters for the update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task> UpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send Request
+ AzureOperationResponse _response = await BeginUpdateWithHttpMessagesAsync(parameters, resourceGroupName, resourceName, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPutOrPatchOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Get the access keys of the resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> ListKeysWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ if (resourceGroupName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName");
+ }
+ if (resourceName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceName");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("resourceName", resourceName);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "ListKeys", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/listKeys").ToString();
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName));
+ _url = _url.Replace("{resourceName}", System.Uri.EscapeDataString(resourceName));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Regenerate the access key for the resource. PrimaryKey and SecondaryKey
+ /// cannot be regenerated at the same time.
+ ///
+ ///
+ /// Parameter that describes the Regenerate Key Operation.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task> RegenerateKeyWithHttpMessagesAsync(RegenerateKeyParameters parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send request
+ AzureOperationResponse _response = await BeginRegenerateKeyWithHttpMessagesAsync(parameters, resourceGroupName, resourceName, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Operation to restart a resource.
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task RestartWithHttpMessagesAsync(string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send request
+ AzureOperationResponse _response = await BeginRestartWithHttpMessagesAsync(resourceGroupName, resourceName, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Create or update a resource.
+ ///
+ ///
+ /// Parameters for the create or update operation
+ ///
+ ///
+ /// The name of the resource group that contains the resource. You can obtain
+ /// this value from the Azure Resource Manager API or the portal.
+ ///
+ ///
+ /// The name of the resource.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> BeginCreateOrUpdateWithHttpMessagesAsync(WebPubSubResource parameters, string resourceGroupName, string resourceName, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (parameters == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "parameters");
+ }
+ if (parameters != null)
+ {
+ parameters.Validate();
+ }
+ if (Client.ApiVersion == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.ApiVersion");
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ if (resourceGroupName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceGroupName");
+ }
+ if (resourceName == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "resourceName");
+ }
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("parameters", parameters);
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("resourceName", resourceName);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "BeginCreateOrUpdate", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}").ToString();
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ _url = _url.Replace("{resourceGroupName}", System.Uri.EscapeDataString(resourceGroupName));
+ _url = _url.Replace("{resourceName}", System.Uri.EscapeDataString(resourceName));
+ List _queryParameters = new List();
+ if (Client.ApiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(Client.ApiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("PUT");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(parameters != null)
+ {
+ _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200 && (int)_statusCode != 201 && (int)_statusCode != 202)
+ {
+ var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ ErrorResponse _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse