diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Azure.ResourceManager.Notificationhubs.sln b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Azure.ResourceManager.Notificationhubs.sln
new file mode 100644
index 000000000000..3eb7376a4155
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Azure.ResourceManager.Notificationhubs.sln
@@ -0,0 +1,56 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29709.97
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Azure.ResourceManager.Notificationhubs.Samples", "samples\Azure.ResourceManager.Notificationhubs.Samples.csproj", "{7A2DFF15-5746-49F4-BD0F-C6C35337088A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.ResourceManager.Notificationhubs", "src\Azure.ResourceManager.Notificationhubs.csproj", "{28FF4005-4467-4E36-92E7-DEA27DEB1519}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azure.ResourceManager.Notificationhubs.Tests", "tests\Azure.ResourceManager.Notificationhubs.Tests.csproj", "{1F1CD1D4-9932-4B73-99D8-C252A67D4B46}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B0C276D1-2930-4887-B29A-D1A33E7009A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E9A77AC-792A-4432-8320-ACFD46730401}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7A2DFF15-5746-49F4-BD0F-C6C35337088A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7A2DFF15-5746-49F4-BD0F-C6C35337088A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7A2DFF15-5746-49F4-BD0F-C6C35337088A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7A2DFF15-5746-49F4-BD0F-C6C35337088A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A4241C1F-A53D-474C-9E4E-075054407E74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FA8BD3F1-8616-47B6-974C-7576CDF4717E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {85677AD3-C214-42FA-AE6E-49B956CAC8DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {28FF4005-4467-4E36-92E7-DEA27DEB1519}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F1CD1D4-9932-4B73-99D8-C252A67D4B46}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {A97F4B90-2591-4689-B1F8-5F21FE6D6CAE}
+ EndGlobalSection
+EndGlobal
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/CHANGELOG.md b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/CHANGELOG.md
new file mode 100644
index 000000000000..8b33f0fedccc
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Release History
+
+## 1.0.0-beta.1 (Unreleased)
+
+### Features Added
+
+### Breaking Changes
+
+### Bugs Fixed
+
+### Other Changes
\ No newline at end of file
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Directory.Build.props b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Directory.Build.props
new file mode 100644
index 000000000000..63bd836ad44b
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/Directory.Build.props
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/README.md b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/README.md
new file mode 100644
index 000000000000..cf5869aa2ce7
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/README.md
@@ -0,0 +1,80 @@
+# Microsoft Azure Notificationhubs management client library for .NET
+
+**[Describe the service briefly first.]**
+
+This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities:
+
+ - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET.
+ - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing.
+ - HTTP pipeline with custom policies.
+ - Better error-handling.
+ - Support uniform telemetry across all languages.
+
+## Getting started
+
+### Install the package
+
+Install the Microsoft Azure Notificationhubs management library for .NET with [NuGet](https://www.nuget.org/):
+
+```dotnetcli
+dotnet add package Azure.ResourceManager.Notificationhubs --prerelease
+```
+
+### Prerequisites
+
+* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/).
+
+### Authenticate the Client
+
+To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/main/doc/dev/mgmt_quickstart.md).
+
+## Key concepts
+
+Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html)
+
+## Documentation
+
+Documentation is available to help you learn how to use this package:
+
+- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/main/doc/dev/mgmt_quickstart.md).
+- [API References](https://learn.microsoft.com/dotnet/api/?view=azure-dotnet).
+- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity/README.md).
+
+## Examples
+
+Code samples for using the management library for .NET can be found in the following locations
+- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples)
+
+## Troubleshooting
+
+- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues).
+- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags.
+
+## Next steps
+
+For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/).
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing
+guide][cg].
+
+This project welcomes contributions and suggestions. Most contributions
+require you to agree to a Contributor License Agreement (CLA) declaring
+that you have the right to, and actually do, grant us the rights to use
+your contribution. For details, visit .
+
+When you submit a pull request, a CLA-bot will automatically determine
+whether you need to provide a CLA and decorate the PR appropriately
+(for example, label, comment). Follow the instructions provided by the
+bot. You'll only need to do this action once across all repositories
+using our CLA.
+
+This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For
+more information, see the [Code of Conduct FAQ][coc_faq] or contact
+ with any other questions or comments.
+
+
+[cg]: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md
+[coc]: https://opensource.microsoft.com/codeofconduct/
+[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/
\ No newline at end of file
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/assets.json b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/assets.json
new file mode 100644
index 000000000000..ea46a87ee6ad
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/assets.json
@@ -0,0 +1,7 @@
+
+{
+ "AssetsRepo": "Azure/azure-sdk-assets",
+ "AssetsRepoPrefixPath": "net",
+ "TagPrefix": "net/notificationhubs/Azure.ResourceManager.Notificationhubs",
+ "Tag": ""
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Azure.ResourceManager.Notificationhubs.Samples.csproj b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Azure.ResourceManager.Notificationhubs.Samples.csproj
new file mode 100644
index 000000000000..57f6e86ade53
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Azure.ResourceManager.Notificationhubs.Samples.csproj
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Generated/Samples/Sample_TenantResourceExtensions.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Generated/Samples/Sample_TenantResourceExtensions.cs
new file mode 100644
index 000000000000..4f3ef8f5f269
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/samples/Generated/Samples/Sample_TenantResourceExtensions.cs
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Threading.Tasks;
+using Azure.Core;
+using Azure.Identity;
+using Azure.ResourceManager.Notificationhubs.Models;
+using Azure.ResourceManager.Resources;
+using NUnit.Framework;
+
+namespace Azure.ResourceManager.Notificationhubs.Samples
+{
+ public partial class Sample_TenantResourceExtensions
+ {
+ [Test]
+ [Ignore("Only validating compilation of examples")]
+ public async Task GetOperations_OperationsList()
+ {
+ // Generated from example definition: 2023-10-01-preview/NHOperationsList.json
+ // this example is just showing the usage of "Operations_List" operation, for the dependent resources, they will have to be created separately.
+
+ // get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
+ TokenCredential cred = new DefaultAzureCredential();
+ // authenticate your client
+ ArmClient client = new ArmClient(cred);
+
+ TenantResource tenantResource = client.GetTenants().GetAllAsync().GetAsyncEnumerator().Current;
+
+ // invoke the operation and iterate over the result
+ await foreach (Info item in tenantResource.GetOperationsAsync())
+ {
+ Console.WriteLine($"Succeeded: {item}");
+ }
+
+ Console.WriteLine("Succeeded");
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Azure.ResourceManager.Notificationhubs.csproj b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Azure.ResourceManager.Notificationhubs.csproj
new file mode 100644
index 000000000000..b96ea7ffb777
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Azure.ResourceManager.Notificationhubs.csproj
@@ -0,0 +1,8 @@
+
+
+ Azure Resource Manager client SDK for Azure resource provider Notificationhubs.
+ 1.0.0-beta.1
+ azure;management;arm;resource manager;notificationhubs
+ Azure.ResourceManager.Notificationhubs
+
+
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/ArmNotificationhubsModelFactory.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/ArmNotificationhubsModelFactory.cs
new file mode 100644
index 000000000000..c708b4b384f2
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/ArmNotificationhubsModelFactory.cs
@@ -0,0 +1,631 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Azure.Core;
+using Azure.ResourceManager.Models;
+
+namespace Azure.ResourceManager.Notificationhubs.Models
+{
+ /// Model factory for models.
+ public static partial class ArmNotificationhubsModelFactory
+ {
+ /// Initializes a new instance of .
+ /// The name of the operation being performed on this particular object.".
+ /// he localized display information for this particular operation / action.
+ /// The intended executor of the operation.".
+ /// Additional descriptions for the operation.
+ /// A new instance for mocking.
+ public static Info Info(string name = null, OperationDisplay display = null, bool? isDataAction = null, ServiceSpecification operationServiceSpecification = null)
+ {
+ return new Info(name, display, isDataAction, operationServiceSpecification != null ? new OperationProperties(operationServiceSpecification, serializedAdditionalRawData: null) : null, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute".
+ /// The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections".
+ /// The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine".
+ /// The short, localized friendly description of the operation; suitable for tool tips and detailed views.
+ /// A new instance for mocking.
+ public static OperationDisplay OperationDisplay(string provider = null, string resource = null, string operation = null, string description = null)
+ {
+ return new OperationDisplay(provider, resource, operation, description, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Log specifications.
+ /// Metric specification.
+ /// A new instance for mocking.
+ public static ServiceSpecification ServiceSpecification(IEnumerable logSpecifications = null, IEnumerable metricSpecifications = null)
+ {
+ logSpecifications ??= new List();
+ metricSpecifications ??= new List();
+
+ return new ServiceSpecification(logSpecifications?.ToList(), metricSpecifications?.ToList(), serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Name of the log category.
+ /// Display name of the log category.
+ /// Duration of data written to a single blob.
+ /// Category group for the log specification.
+ /// A new instance for mocking.
+ public static LogSpecification LogSpecification(string name = null, string displayName = null, string blobDuration = null, IEnumerable categoryGroups = null)
+ {
+ categoryGroups ??= new List();
+
+ return new LogSpecification(name, displayName, blobDuration, categoryGroups?.ToList(), serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Metric name / id.
+ /// User-visible metric name.
+ /// Description of the metric.
+ /// Metric unit.
+ /// Type of the aggregation (Average, Minimum, Maximum, Total or Count).
+ /// List of availabilities.
+ /// List of supported time grain types.
+ /// The matching regex pattern to be applied to the field pointed by the "metricsFilterPathSelector" flag in the ARM manifest.
+ /// Optional property. If set to true, then zero will be returned for time duration where no metric is emitted / published.
+ /// A new instance for mocking.
+ public static MetricSpecification MetricSpecification(string name = null, string displayName = null, string displayDescription = null, string unit = null, string aggregationType = null, IEnumerable availabilities = null, IEnumerable supportedTimeGrainTypes = null, string metricFilterPattern = null, bool? fillGapWithZero = null)
+ {
+ availabilities ??= new List();
+ supportedTimeGrainTypes ??= new List();
+
+ return new MetricSpecification(
+ name,
+ displayName,
+ displayDescription,
+ unit,
+ aggregationType,
+ availabilities?.ToList(),
+ supportedTimeGrainTypes?.ToList(),
+ metricFilterPattern,
+ fillGapWithZero,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Time grain of the availability.
+ /// Duration of the availability blob.
+ /// A new instance for mocking.
+ public static Availability Availability(string timeGrain = null, string blobDuration = null)
+ {
+ return new Availability(timeGrain, blobDuration, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// The tags.
+ /// The location.
+ /// Gets or sets the RegistrationTtl of the created NotificationHub.
+ /// Gets or sets the AuthorizationRules of the created NotificationHub.
+ /// Description of a NotificationHub ApnsCredential.
+ /// Description of a NotificationHub WnsCredential.
+ /// Description of a NotificationHub GcmCredential.
+ /// Description of a NotificationHub MpnsCredential.
+ /// Description of a NotificationHub AdmCredential.
+ /// Description of a NotificationHub BaiduCredential.
+ /// Description of a NotificationHub BrowserCredential.
+ /// Description of a NotificationHub XiaomiCredential.
+ /// Description of a NotificationHub FcmV1Credential.
+ ///
+ /// The Sku description for a namespace.
+ /// A new instance for mocking.
+ public static NotificationHubResourceData NotificationHubResourceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, string registrationTtl = null, IEnumerable authorizationRules = null, ApnsCredential apnsCredential = null, WnsCredential wnsCredential = null, GcmCredential gcmCredential = null, MpnsCredential mpnsCredential = null, AdmCredential admCredential = null, BaiduCredential baiduCredential = null, BrowserCredential browserCredential = null, XiaomiCredential xiaomiCredential = null, FcmV1Credential fcmV1Credential = null, long? dailyMaxActiveDevices = null, NotificationhubsSku sku = null)
+ {
+ tags ??= new Dictionary();
+ authorizationRules ??= new List();
+
+ return new NotificationHubResourceData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ tags,
+ location,
+ registrationTtl,
+ authorizationRules?.ToList(),
+ apnsCredential,
+ wnsCredential,
+ gcmCredential,
+ mpnsCredential,
+ admCredential,
+ baiduCredential,
+ browserCredential,
+ xiaomiCredential,
+ fcmV1Credential,
+ dailyMaxActiveDevices,
+ sku,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Gets or sets the rights associated with the rule.
+ ///
+ /// Gets a base64-encoded 256-bit primary key for signing and
+ /// validating the SAS token.
+ ///
+ ///
+ /// Gets a base64-encoded 256-bit primary key for signing and
+ /// validating the SAS token.
+ ///
+ /// Gets a string that describes the authorization rule.
+ /// Gets the last modified time for this rule.
+ /// Gets the created time for this rule.
+ /// Gets a string that describes the claim type.
+ /// Gets a string that describes the claim value.
+ /// Gets the revision number for the rule.
+ /// A new instance for mocking.
+ public static SharedAccessAuthorizationRuleProperties SharedAccessAuthorizationRuleProperties(IEnumerable rights = null, string primaryKey = null, string secondaryKey = null, string keyName = null, DateTimeOffset? modifiedOn = null, DateTimeOffset? createdOn = null, string claimType = null, string claimValue = null, int? revision = null)
+ {
+ rights ??= new List();
+
+ return new SharedAccessAuthorizationRuleProperties(
+ rights?.ToList(),
+ primaryKey,
+ secondaryKey,
+ keyName,
+ modifiedOn,
+ createdOn,
+ claimType,
+ claimValue,
+ revision,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Gets or sets the NotificationHub name.
+ /// Gets or sets the RegistrationTtl of the created NotificationHub.
+ /// Gets or sets the AuthorizationRules of the created NotificationHub.
+ /// Description of a NotificationHub ApnsCredential.
+ /// Description of a NotificationHub WnsCredential.
+ /// Description of a NotificationHub GcmCredential.
+ /// Description of a NotificationHub MpnsCredential.
+ /// Description of a NotificationHub AdmCredential.
+ /// Description of a NotificationHub BaiduCredential.
+ /// Description of a NotificationHub BrowserCredential.
+ /// Description of a NotificationHub XiaomiCredential.
+ /// Description of a NotificationHub FcmV1Credential.
+ ///
+ /// The Sku description for a namespace.
+ /// Dictionary of <string>.
+ /// A new instance for mocking.
+ public static NotificationHubResourcePatch NotificationHubResourcePatch(string name = null, string registrationTtl = null, IEnumerable authorizationRules = null, ApnsCredential apnsCredential = null, WnsCredential wnsCredential = null, GcmCredential gcmCredential = null, MpnsCredential mpnsCredential = null, AdmCredential admCredential = null, BaiduCredential baiduCredential = null, BrowserCredential browserCredential = null, XiaomiCredential xiaomiCredential = null, FcmV1Credential fcmV1Credential = null, long? dailyMaxActiveDevices = null, NotificationhubsSku sku = null, IDictionary tags = null)
+ {
+ authorizationRules ??= new List();
+ tags ??= new Dictionary();
+
+ return new NotificationHubResourcePatch(
+ name,
+ registrationTtl,
+ authorizationRules?.ToList(),
+ apnsCredential,
+ wnsCredential,
+ gcmCredential,
+ mpnsCredential,
+ admCredential,
+ baiduCredential,
+ browserCredential,
+ xiaomiCredential,
+ fcmV1Credential,
+ dailyMaxActiveDevices,
+ sku,
+ tags,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// Gets or sets successful send.
+ /// Gets or sets send failure.
+ /// Gets or sets actual failure description.
+ /// Deprecated - only for compatibility.
+ /// Deprecated - only for compatibility.
+ /// A new instance for mocking.
+ public static DebugSendResponseResult DebugSendResponseResult(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, long? success = null, long? failure = null, IEnumerable results = null, string location = null, IReadOnlyDictionary tags = null)
+ {
+ results ??= new List();
+ tags ??= new Dictionary();
+
+ return new DebugSendResponseResult(
+ id,
+ name,
+ resourceType,
+ systemData,
+ success,
+ failure,
+ results?.ToList(),
+ location,
+ tags,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// PNS type.
+ /// PNS handle.
+ /// Registration id.
+ /// Notification outcome.
+ /// A new instance for mocking.
+ public static RegistrationResult RegistrationResult(string applicationPlatform = null, string pnsHandle = null, string registrationId = null, string outcome = null)
+ {
+ return new RegistrationResult(applicationPlatform, pnsHandle, registrationId, outcome, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// Description of a NotificationHub AdmCredential.
+ /// Description of a NotificationHub ApnsCredential.
+ /// Description of a NotificationHub BaiduCredential.
+ /// Description of a NotificationHub BrowserCredential.
+ /// Description of a NotificationHub GcmCredential.
+ /// Description of a NotificationHub MpnsCredential.
+ /// Description of a NotificationHub WnsCredential.
+ /// Description of a NotificationHub XiaomiCredential.
+ /// Description of a NotificationHub FcmV1Credential.
+ /// Deprecated - only for compatibility.
+ /// Deprecated - only for compatibility.
+ /// A new instance for mocking.
+ public static PnsCredentialsResource PnsCredentialsResource(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, AdmCredential admCredential = null, ApnsCredential apnsCredential = null, BaiduCredential baiduCredential = null, BrowserCredential browserCredential = null, GcmCredential gcmCredential = null, MpnsCredential mpnsCredential = null, WnsCredential wnsCredential = null, XiaomiCredential xiaomiCredential = null, FcmV1Credential fcmV1Credential = null, string location = null, IReadOnlyDictionary tags = null)
+ {
+ tags ??= new Dictionary();
+
+ return new PnsCredentialsResource(
+ id,
+ name,
+ resourceType,
+ systemData,
+ admCredential,
+ apnsCredential,
+ baiduCredential,
+ browserCredential,
+ gcmCredential,
+ mpnsCredential,
+ wnsCredential,
+ xiaomiCredential,
+ fcmV1Credential,
+ location,
+ tags,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// The tags.
+ /// The location.
+ /// The Sku description for a namespace.
+ /// Defines values for OperationProvisioningState.
+ /// Namespace status.
+ /// Gets or sets whether or not the namespace is currently enabled.
+ /// Gets or sets whether or not the namespace is set as Critical.
+ /// Namespace subscription id.
+ ///
+ /// Region. The value is always set to the same value as Namespace.Location, so we are deprecating
+ /// this property.
+ ///
+ /// Azure Insights Metrics id.
+ /// Time when the namespace was created.
+ /// Time when the namespace was updated.
+ /// Defines values for NamespaceType.
+ /// Allowed replication region.
+ /// Namespace SKU name.
+ /// A collection of network authorization rules.
+ /// Collection of Notification Hub or Notification Hub Namespace PNS credentials.
+ ///
+ /// Gets or sets endpoint you can use to perform NotificationHub
+ /// operations.
+ ///
+ /// Private Endpoint Connections for namespace.
+ /// Gets or sets scaleUnit where the namespace gets created.
+ /// Deprecated.
+ /// Type of public network access.
+ /// A new instance for mocking.
+ public static NamespaceResourceData NamespaceResourceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, NotificationhubsSku sku = null, OperationProvisioningState? provisioningState = null, NamespaceStatus? status = null, bool? enabled = null, bool? critical = null, string subscriptionId = null, string region = null, string metricId = null, DateTimeOffset? createdOn = null, DateTimeOffset? updatedOn = null, NamespaceType? namespaceType = null, ReplicationRegion? replicationRegion = null, ZoneRedundancyPreference? zoneRedundancy = null, NetworkAcls networkAcls = null, PnsCredentials pnsCredentials = null, string serviceBusEndpoint = null, IEnumerable privateEndpointConnections = null, string scaleUnit = null, string dataCenter = null, PublicNetworkAccess? publicNetworkAccess = null)
+ {
+ tags ??= new Dictionary();
+ privateEndpointConnections ??= new List();
+
+ return new NamespaceResourceData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ tags,
+ location,
+ sku,
+ provisioningState,
+ status,
+ enabled,
+ critical,
+ subscriptionId,
+ region,
+ metricId,
+ createdOn,
+ updatedOn,
+ namespaceType,
+ replicationRegion,
+ zoneRedundancy,
+ networkAcls,
+ pnsCredentials,
+ serviceBusEndpoint,
+ privateEndpointConnections?.ToList(),
+ scaleUnit,
+ dataCenter,
+ publicNetworkAccess,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ ///
+ /// Name of the Notification Hubs namespace. This is immutable property, set automatically
+ /// by the service when the namespace is created.
+ ///
+ /// Defines values for OperationProvisioningState.
+ /// Namespace status.
+ /// Gets or sets whether or not the namespace is currently enabled.
+ /// Gets or sets whether or not the namespace is set as Critical.
+ /// Namespace subscription id.
+ ///
+ /// Region. The value is always set to the same value as Namespace.Location, so we are deprecating
+ /// this property.
+ ///
+ /// Azure Insights Metrics id.
+ /// Time when the namespace was created.
+ /// Time when the namespace was updated.
+ /// Defines values for NamespaceType.
+ /// Allowed replication region.
+ /// Namespace SKU name.
+ /// A collection of network authorization rules.
+ /// Collection of Notification Hub or Notification Hub Namespace PNS credentials.
+ ///
+ /// Gets or sets endpoint you can use to perform NotificationHub
+ /// operations.
+ ///
+ /// Private Endpoint Connections for namespace.
+ /// Gets or sets scaleUnit where the namespace gets created.
+ /// Deprecated.
+ /// Type of public network access.
+ /// A new instance for mocking.
+ public static NamespaceProperties NamespaceProperties(string name = null, OperationProvisioningState? provisioningState = null, NamespaceStatus? status = null, bool? enabled = null, bool? critical = null, string subscriptionId = null, string region = null, string metricId = null, DateTimeOffset? createdOn = null, DateTimeOffset? updatedOn = null, NamespaceType? namespaceType = null, ReplicationRegion? replicationRegion = null, ZoneRedundancyPreference? zoneRedundancy = null, NetworkAcls networkAcls = null, PnsCredentials pnsCredentials = null, string serviceBusEndpoint = null, IEnumerable privateEndpointConnections = null, string scaleUnit = null, string dataCenter = null, PublicNetworkAccess? publicNetworkAccess = null)
+ {
+ privateEndpointConnections ??= new List();
+
+ return new NamespaceProperties(
+ name,
+ provisioningState,
+ status,
+ enabled,
+ critical,
+ subscriptionId,
+ region,
+ metricId,
+ createdOn,
+ updatedOn,
+ namespaceType,
+ replicationRegion,
+ zoneRedundancy,
+ networkAcls,
+ pnsCredentials,
+ serviceBusEndpoint,
+ privateEndpointConnections?.ToList(),
+ scaleUnit,
+ dataCenter,
+ publicNetworkAccess,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// Private Endpoint Connection properties.
+ /// A new instance for mocking.
+ public static PrivateEndpointConnectionResourceData PrivateEndpointConnectionResourceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, PrivateEndpointConnectionProperties properties = null)
+ {
+ return new PrivateEndpointConnectionResourceData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ properties,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// State of Private Endpoint Connection.
+ /// Represents a Private Endpoint that is connected to Notification Hubs namespace using Private Endpoint Connection.
+ /// List of group ids. For Notification Hubs, it always contains a single "namespace" element.
+ /// State of the Private Link Service connection.
+ /// A new instance for mocking.
+ public static PrivateEndpointConnectionProperties PrivateEndpointConnectionProperties(NotificationhubsPrivateEndpointConnectionProvisioningState? provisioningState = null, ResourceIdentifier privateEndpointId = null, IEnumerable groupIds = null, RemotePrivateLinkServiceConnectionState privateLinkServiceConnectionState = null)
+ {
+ groupIds ??= new List();
+
+ return new PrivateEndpointConnectionProperties(provisioningState, privateEndpointId != null ? ResourceManagerModelFactory.SubResource(privateEndpointId) : null, groupIds?.ToList(), privateLinkServiceConnectionState, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// State of Private Link Connection.
+ /// Human-friendly description.
+ /// Human-friendly description of required actions.
+ /// A new instance for mocking.
+ public static RemotePrivateLinkServiceConnectionState RemotePrivateLinkServiceConnectionState(PrivateLinkConnectionStatus? status = null, string description = null, string actionsRequired = null)
+ {
+ return new RemotePrivateLinkServiceConnectionState(status, description, actionsRequired, serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// The tags.
+ /// The location.
+ /// Not used and deprecated since API version 2023-01-01-preview.
+ /// The Sku description for a namespace.
+ /// A new instance for mocking.
+ public static CheckAvailabilityContent CheckAvailabilityContent(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, bool? isAvailiable = null, NotificationhubsSku sku = null)
+ {
+ tags ??= new Dictionary();
+
+ return new CheckAvailabilityContent(
+ id,
+ name,
+ resourceType,
+ systemData,
+ tags,
+ location,
+ isAvailiable,
+ sku,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ ///
+ /// Gets or sets true if the name is available and can be used to
+ /// create new Namespace/NotificationHub. Otherwise false.
+ ///
+ /// Deprecated - only for compatibility.
+ /// Deprecated - only for compatibility.
+ /// The Sku description for a namespace.
+ /// A new instance for mocking.
+ public static CheckAvailabilityResult CheckAvailabilityResult(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, bool? isAvailiable = null, string location = null, IReadOnlyDictionary tags = null, NotificationhubsSku sku = null)
+ {
+ tags ??= new Dictionary();
+
+ return new CheckAvailabilityResult(
+ id,
+ name,
+ resourceType,
+ systemData,
+ isAvailiable,
+ location,
+ tags,
+ sku,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// The tags.
+ /// The location.
+ /// Gets or sets the rights associated with the rule.
+ ///
+ /// Gets a base64-encoded 256-bit primary key for signing and
+ /// validating the SAS token.
+ ///
+ ///
+ /// Gets a base64-encoded 256-bit primary key for signing and
+ /// validating the SAS token.
+ ///
+ /// Gets a string that describes the authorization rule.
+ /// Gets the last modified time for this rule.
+ /// Gets the created time for this rule.
+ /// Gets a string that describes the claim type.
+ /// Gets a string that describes the claim value.
+ /// Gets the revision number for the rule.
+ /// A new instance for mocking.
+ public static SharedAccessAuthorizationRuleResourceData SharedAccessAuthorizationRuleResourceData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, IDictionary tags = null, AzureLocation location = default, IEnumerable rights = null, string primaryKey = null, string secondaryKey = null, string keyName = null, DateTimeOffset? modifiedOn = null, DateTimeOffset? createdOn = null, string claimType = null, string claimValue = null, int? revision = null)
+ {
+ tags ??= new Dictionary();
+ rights ??= new List();
+
+ return new SharedAccessAuthorizationRuleResourceData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ tags,
+ location,
+ rights?.ToList(),
+ primaryKey,
+ secondaryKey,
+ keyName,
+ modifiedOn,
+ createdOn,
+ claimType,
+ claimValue,
+ revision,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// Gets or sets primaryConnectionString of the AuthorizationRule.
+ ///
+ /// Gets or sets secondaryConnectionString of the created
+ /// AuthorizationRule
+ ///
+ /// Gets or sets primaryKey of the created AuthorizationRule.
+ /// Gets or sets secondaryKey of the created AuthorizationRule.
+ /// Gets or sets keyName of the created AuthorizationRule.
+ /// A new instance for mocking.
+ public static ResourceListKeys ResourceListKeys(string primaryConnectionString = null, string secondaryConnectionString = null, string primaryKey = null, string secondaryKey = null, string keyName = null)
+ {
+ return new ResourceListKeys(
+ primaryConnectionString,
+ secondaryConnectionString,
+ primaryKey,
+ secondaryKey,
+ keyName,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// The id.
+ /// The name.
+ /// The resourceType.
+ /// The systemData.
+ /// Represents properties of Private Link Resource.
+ /// A new instance for mocking.
+ public static NotificationhubsPrivateLinkResourceDataData NotificationhubsPrivateLinkResourceDataData(ResourceIdentifier id = null, string name = null, ResourceType resourceType = default, SystemData systemData = null, NotificationhubsPrivateLinkResourceProperties properties = null)
+ {
+ return new NotificationhubsPrivateLinkResourceDataData(
+ id,
+ name,
+ resourceType,
+ systemData,
+ properties,
+ serializedAdditionalRawData: null);
+ }
+
+ /// Initializes a new instance of .
+ /// A Group Id for Private Link. For Notification Hubs, it is always set to "namespace".
+ /// Required members. For Notification Hubs, it's always a collection with a single "namespace" item.
+ /// Required DNS zone names. For Notification Hubs, it contains two CNames for Service Bus and Notification Hubs zones.
+ /// A new instance for mocking.
+ public static NotificationhubsPrivateLinkResourceProperties NotificationhubsPrivateLinkResourceProperties(string groupId = null, IEnumerable requiredMembers = null, IEnumerable requiredZoneNames = null)
+ {
+ requiredMembers ??= new List();
+ requiredZoneNames ??= new List();
+
+ return new NotificationhubsPrivateLinkResourceProperties(groupId, requiredMembers?.ToList(), requiredZoneNames?.ToList(), serializedAdditionalRawData: null);
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsArmClient.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsArmClient.cs
new file mode 100644
index 000000000000..8fc7ed7b5ab3
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsArmClient.cs
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using Azure.Core;
+
+namespace Azure.ResourceManager.Notificationhubs.Mocking
+{
+ /// A class to add extension methods to ArmClient.
+ public partial class MockableNotificationhubsArmClient : ArmResource
+ {
+ /// Initializes a new instance of the class for mocking.
+ protected MockableNotificationhubsArmClient()
+ {
+ }
+
+ /// Initializes a new instance of the class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal MockableNotificationhubsArmClient(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ }
+
+ internal MockableNotificationhubsArmClient(ArmClient client) : this(client, ResourceIdentifier.Root)
+ {
+ }
+
+ private string GetApiVersionOrNull(ResourceType resourceType)
+ {
+ TryGetApiVersion(resourceType, out string apiVersion);
+ return apiVersion;
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual NotificationHubResource GetNotificationHubResource(ResourceIdentifier id)
+ {
+ NotificationHubResource.ValidateResourceId(id);
+ return new NotificationHubResource(Client, id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual NamespaceResource GetNamespaceResource(ResourceIdentifier id)
+ {
+ NamespaceResource.ValidateResourceId(id);
+ return new NamespaceResource(Client, id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual NamespaceNotificationHubAuthorizationRuleResource GetNamespaceNotificationHubAuthorizationRuleResource(ResourceIdentifier id)
+ {
+ NamespaceNotificationHubAuthorizationRuleResource.ValidateResourceId(id);
+ return new NamespaceNotificationHubAuthorizationRuleResource(Client, id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual NamespaceAuthorizationRuleResource GetNamespaceAuthorizationRuleResource(ResourceIdentifier id)
+ {
+ NamespaceAuthorizationRuleResource.ValidateResourceId(id);
+ return new NamespaceAuthorizationRuleResource(Client, id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual PrivateEndpointConnectionResource GetPrivateEndpointConnectionResource(ResourceIdentifier id)
+ {
+ PrivateEndpointConnectionResource.ValidateResourceId(id);
+ return new PrivateEndpointConnectionResource(Client, id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// The resource ID of the resource to get.
+ /// Returns a object.
+ public virtual NotificationhubsPrivateLinkResourceDataResource GetNotificationhubsPrivateLinkResourceDataResource(ResourceIdentifier id)
+ {
+ NotificationhubsPrivateLinkResourceDataResource.ValidateResourceId(id);
+ return new NotificationhubsPrivateLinkResourceDataResource(Client, id);
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsResourceGroupResource.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsResourceGroupResource.cs
new file mode 100644
index 000000000000..ed13a5d526f3
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsResourceGroupResource.cs
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure.Core;
+
+namespace Azure.ResourceManager.Notificationhubs.Mocking
+{
+ /// A class to add extension methods to ResourceGroupResource.
+ public partial class MockableNotificationhubsResourceGroupResource : ArmResource
+ {
+ /// Initializes a new instance of the class for mocking.
+ protected MockableNotificationhubsResourceGroupResource()
+ {
+ }
+
+ /// Initializes a new instance of the class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal MockableNotificationhubsResourceGroupResource(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ }
+
+ private string GetApiVersionOrNull(ResourceType resourceType)
+ {
+ TryGetApiVersion(resourceType, out string apiVersion);
+ return apiVersion;
+ }
+
+ /// Gets a collection of NamespaceResources in the ResourceGroupResource.
+ /// An object representing collection of NamespaceResources and their operations over a NamespaceResource.
+ public virtual NamespaceResourceCollection GetNamespaceResources()
+ {
+ return GetCachedClient(client => new NamespaceResourceCollection(client, Id));
+ }
+
+ ///
+ /// Returns the given namespace.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_Get
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Namespace name.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public virtual async Task> GetNamespaceResourceAsync(string namespaceName, CancellationToken cancellationToken = default)
+ {
+ return await GetNamespaceResources().GetAsync(namespaceName, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Returns the given namespace.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_Get
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Namespace name.
+ /// The cancellation token to use.
+ /// is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public virtual Response GetNamespaceResource(string namespaceName, CancellationToken cancellationToken = default)
+ {
+ return GetNamespaceResources().Get(namespaceName, cancellationToken);
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsSubscriptionResource.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsSubscriptionResource.cs
new file mode 100644
index 000000000000..1792f2f005db
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsSubscriptionResource.cs
@@ -0,0 +1,189 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Autorest.CSharp.Core;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.Notificationhubs.Models;
+
+namespace Azure.ResourceManager.Notificationhubs.Mocking
+{
+ /// A class to add extension methods to SubscriptionResource.
+ public partial class MockableNotificationhubsSubscriptionResource : ArmResource
+ {
+ private ClientDiagnostics _namespaceResourceClientDiagnostics;
+ private NamespaceResourcesRestOperations _namespaceResourceRestClient;
+ private ClientDiagnostics _namespacesOperationGroupClientDiagnostics;
+ private NamespacesOperationGroupRestOperations _namespacesOperationGroupRestClient;
+
+ /// Initializes a new instance of the class for mocking.
+ protected MockableNotificationhubsSubscriptionResource()
+ {
+ }
+
+ /// Initializes a new instance of the class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal MockableNotificationhubsSubscriptionResource(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ }
+
+ private ClientDiagnostics NamespaceResourceClientDiagnostics => _namespaceResourceClientDiagnostics ??= new ClientDiagnostics("Azure.ResourceManager.Notificationhubs", NamespaceResource.ResourceType.Namespace, Diagnostics);
+ private NamespaceResourcesRestOperations NamespaceResourceRestClient => _namespaceResourceRestClient ??= new NamespaceResourcesRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint, GetApiVersionOrNull(NamespaceResource.ResourceType));
+ private ClientDiagnostics NamespacesOperationGroupClientDiagnostics => _namespacesOperationGroupClientDiagnostics ??= new ClientDiagnostics("Azure.ResourceManager.Notificationhubs", ProviderConstants.DefaultProviderNamespace, Diagnostics);
+ private NamespacesOperationGroupRestOperations NamespacesOperationGroupRestClient => _namespacesOperationGroupRestClient ??= new NamespacesOperationGroupRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint);
+
+ private string GetApiVersionOrNull(ResourceType resourceType)
+ {
+ TryGetApiVersion(resourceType, out string apiVersion);
+ return apiVersion;
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_ListAll
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Skip token for subsequent requests.
+ /// Maximum number of results to return.
+ /// The cancellation token to use.
+ /// An async collection of that may take multiple service requests to iterate over.
+ public virtual AsyncPageable GetNamespaceResourcesAsync(string skipToken = null, int? top = null, CancellationToken cancellationToken = default)
+ {
+ HttpMessage FirstPageRequest(int? pageSizeHint) => NamespaceResourceRestClient.CreateListAllRequest(Id.SubscriptionId, skipToken, top);
+ HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => NamespaceResourceRestClient.CreateListAllNextPageRequest(nextLink, Id.SubscriptionId, skipToken, top);
+ return GeneratorPageableHelpers.CreateAsyncPageable(FirstPageRequest, NextPageRequest, e => new NamespaceResource(Client, NamespaceResourceData.DeserializeNamespaceResourceData(e)), NamespaceResourceClientDiagnostics, Pipeline, "MockableNotificationhubsSubscriptionResource.GetNamespaceResources", "value", "nextLink", cancellationToken);
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_ListAll
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Skip token for subsequent requests.
+ /// Maximum number of results to return.
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual Pageable GetNamespaceResources(string skipToken = null, int? top = null, CancellationToken cancellationToken = default)
+ {
+ HttpMessage FirstPageRequest(int? pageSizeHint) => NamespaceResourceRestClient.CreateListAllRequest(Id.SubscriptionId, skipToken, top);
+ HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => NamespaceResourceRestClient.CreateListAllNextPageRequest(nextLink, Id.SubscriptionId, skipToken, top);
+ return GeneratorPageableHelpers.CreatePageable(FirstPageRequest, NextPageRequest, e => new NamespaceResource(Client, NamespaceResourceData.DeserializeNamespaceResourceData(e)), NamespaceResourceClientDiagnostics, Pipeline, "MockableNotificationhubsSubscriptionResource.GetNamespaceResources", "value", "nextLink", cancellationToken);
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability
+ ///
+ ///
+ /// Operation Id
+ /// NamespacesOperationGroup_CheckAvailability
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// The request body.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual async Task> CheckAvailabilityNamespacesOperationGroupAsync(CheckAvailabilityContent content, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(content, nameof(content));
+
+ using var scope = NamespacesOperationGroupClientDiagnostics.CreateScope("MockableNotificationhubsSubscriptionResource.CheckAvailabilityNamespacesOperationGroup");
+ scope.Start();
+ try
+ {
+ var response = await NamespacesOperationGroupRestClient.CheckAvailabilityAsync(Id.SubscriptionId, content, cancellationToken).ConfigureAwait(false);
+ return response;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability
+ ///
+ ///
+ /// Operation Id
+ /// NamespacesOperationGroup_CheckAvailability
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// The request body.
+ /// The cancellation token to use.
+ /// is null.
+ public virtual Response CheckAvailabilityNamespacesOperationGroup(CheckAvailabilityContent content, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(content, nameof(content));
+
+ using var scope = NamespacesOperationGroupClientDiagnostics.CreateScope("MockableNotificationhubsSubscriptionResource.CheckAvailabilityNamespacesOperationGroup");
+ scope.Start();
+ try
+ {
+ var response = NamespacesOperationGroupRestClient.CheckAvailability(Id.SubscriptionId, content, cancellationToken);
+ return response;
+ }
+ catch (Exception e)
+ {
+ scope.Failed(e);
+ throw;
+ }
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsTenantResource.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsTenantResource.cs
new file mode 100644
index 000000000000..d93043403e78
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/MockableNotificationhubsTenantResource.cs
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System.Threading;
+using Autorest.CSharp.Core;
+using Azure.Core;
+using Azure.Core.Pipeline;
+using Azure.ResourceManager.Notificationhubs.Models;
+
+namespace Azure.ResourceManager.Notificationhubs.Mocking
+{
+ /// A class to add extension methods to TenantResource.
+ public partial class MockableNotificationhubsTenantResource : ArmResource
+ {
+ private ClientDiagnostics _operationsClientDiagnostics;
+ private OperationsRestOperations _operationsRestClient;
+
+ /// Initializes a new instance of the class for mocking.
+ protected MockableNotificationhubsTenantResource()
+ {
+ }
+
+ /// Initializes a new instance of the class.
+ /// The client parameters to use in these operations.
+ /// The identifier of the resource that is the target of operations.
+ internal MockableNotificationhubsTenantResource(ArmClient client, ResourceIdentifier id) : base(client, id)
+ {
+ }
+
+ private ClientDiagnostics OperationsClientDiagnostics => _operationsClientDiagnostics ??= new ClientDiagnostics("Azure.ResourceManager.Notificationhubs", ProviderConstants.DefaultProviderNamespace, Diagnostics);
+ private OperationsRestOperations OperationsRestClient => _operationsRestClient ??= new OperationsRestOperations(Pipeline, Diagnostics.ApplicationId, Endpoint);
+
+ private string GetApiVersionOrNull(ResourceType resourceType)
+ {
+ TryGetApiVersion(resourceType, out string apiVersion);
+ return apiVersion;
+ }
+
+ ///
+ /// List the operations for the provider
+ ///
+ ///
+ /// Request Path
+ /// /providers/Microsoft.NotificationHubs/operations
+ ///
+ ///
+ /// Operation Id
+ /// Operations_List
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// An async collection of that may take multiple service requests to iterate over.
+ public virtual AsyncPageable GetOperationsAsync(CancellationToken cancellationToken = default)
+ {
+ HttpMessage FirstPageRequest(int? pageSizeHint) => OperationsRestClient.CreateListRequest();
+ HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => OperationsRestClient.CreateListNextPageRequest(nextLink);
+ return GeneratorPageableHelpers.CreateAsyncPageable(FirstPageRequest, NextPageRequest, e => Info.DeserializeInfo(e), OperationsClientDiagnostics, Pipeline, "MockableNotificationhubsTenantResource.GetOperations", "value", "nextLink", cancellationToken);
+ }
+
+ ///
+ /// List the operations for the provider
+ ///
+ ///
+ /// Request Path
+ /// /providers/Microsoft.NotificationHubs/operations
+ ///
+ ///
+ /// Operation Id
+ /// Operations_List
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// The cancellation token to use.
+ /// A collection of that may take multiple service requests to iterate over.
+ public virtual Pageable GetOperations(CancellationToken cancellationToken = default)
+ {
+ HttpMessage FirstPageRequest(int? pageSizeHint) => OperationsRestClient.CreateListRequest();
+ HttpMessage NextPageRequest(int? pageSizeHint, string nextLink) => OperationsRestClient.CreateListNextPageRequest(nextLink);
+ return GeneratorPageableHelpers.CreatePageable(FirstPageRequest, NextPageRequest, e => Info.DeserializeInfo(e), OperationsClientDiagnostics, Pipeline, "MockableNotificationhubsTenantResource.GetOperations", "value", "nextLink", cancellationToken);
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/NotificationhubsExtensions.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/NotificationhubsExtensions.cs
new file mode 100644
index 000000000000..00e2eaa01a5e
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Extensions/NotificationhubsExtensions.cs
@@ -0,0 +1,452 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+using Azure.Core;
+using Azure.ResourceManager.Notificationhubs.Mocking;
+using Azure.ResourceManager.Notificationhubs.Models;
+using Azure.ResourceManager.Resources;
+
+namespace Azure.ResourceManager.Notificationhubs
+{
+ /// A class to add extension methods to Azure.ResourceManager.Notificationhubs.
+ public static partial class NotificationhubsExtensions
+ {
+ private static MockableNotificationhubsArmClient GetMockableNotificationhubsArmClient(ArmClient client)
+ {
+ return client.GetCachedClient(client0 => new MockableNotificationhubsArmClient(client0));
+ }
+
+ private static MockableNotificationhubsResourceGroupResource GetMockableNotificationhubsResourceGroupResource(ArmResource resource)
+ {
+ return resource.GetCachedClient(client => new MockableNotificationhubsResourceGroupResource(client, resource.Id));
+ }
+
+ private static MockableNotificationhubsSubscriptionResource GetMockableNotificationhubsSubscriptionResource(ArmResource resource)
+ {
+ return resource.GetCachedClient(client => new MockableNotificationhubsSubscriptionResource(client, resource.Id));
+ }
+
+ private static MockableNotificationhubsTenantResource GetMockableNotificationhubsTenantResource(ArmResource resource)
+ {
+ return resource.GetCachedClient(client => new MockableNotificationhubsTenantResource(client, resource.Id));
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static NotificationHubResource GetNotificationHubResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetNotificationHubResource(id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static NamespaceResource GetNamespaceResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetNamespaceResource(id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static NamespaceNotificationHubAuthorizationRuleResource GetNamespaceNotificationHubAuthorizationRuleResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetNamespaceNotificationHubAuthorizationRuleResource(id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static NamespaceAuthorizationRuleResource GetNamespaceAuthorizationRuleResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetNamespaceAuthorizationRuleResource(id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static PrivateEndpointConnectionResource GetPrivateEndpointConnectionResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetPrivateEndpointConnectionResource(id);
+ }
+
+ ///
+ /// Gets an object representing a along with the instance operations that can be performed on it but with no data.
+ /// You can use to create a from its components.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The resource ID of the resource to get.
+ /// is null.
+ /// Returns a object.
+ public static NotificationhubsPrivateLinkResourceDataResource GetNotificationhubsPrivateLinkResourceDataResource(this ArmClient client, ResourceIdentifier id)
+ {
+ Argument.AssertNotNull(client, nameof(client));
+
+ return GetMockableNotificationhubsArmClient(client).GetNotificationhubsPrivateLinkResourceDataResource(id);
+ }
+
+ ///
+ /// Gets a collection of NamespaceResources in the ResourceGroupResource.
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// is null.
+ /// An object representing collection of NamespaceResources and their operations over a NamespaceResource.
+ public static NamespaceResourceCollection GetNamespaceResources(this ResourceGroupResource resourceGroupResource)
+ {
+ Argument.AssertNotNull(resourceGroupResource, nameof(resourceGroupResource));
+
+ return GetMockableNotificationhubsResourceGroupResource(resourceGroupResource).GetNamespaceResources();
+ }
+
+ ///
+ /// Returns the given namespace.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_Get
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// Namespace name.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public static async Task> GetNamespaceResourceAsync(this ResourceGroupResource resourceGroupResource, string namespaceName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(resourceGroupResource, nameof(resourceGroupResource));
+
+ return await GetMockableNotificationhubsResourceGroupResource(resourceGroupResource).GetNamespaceResourceAsync(namespaceName, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Returns the given namespace.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_Get
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// Namespace name.
+ /// The cancellation token to use.
+ /// or is null.
+ /// is an empty string, and was expected to be non-empty.
+ [ForwardsClientCalls]
+ public static Response GetNamespaceResource(this ResourceGroupResource resourceGroupResource, string namespaceName, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(resourceGroupResource, nameof(resourceGroupResource));
+
+ return GetMockableNotificationhubsResourceGroupResource(resourceGroupResource).GetNamespaceResource(namespaceName, cancellationToken);
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_ListAll
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// Skip token for subsequent requests.
+ /// Maximum number of results to return.
+ /// The cancellation token to use.
+ /// is null.
+ /// An async collection of that may take multiple service requests to iterate over.
+ public static AsyncPageable GetNamespaceResourcesAsync(this SubscriptionResource subscriptionResource, string skipToken = null, int? top = null, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(subscriptionResource, nameof(subscriptionResource));
+
+ return GetMockableNotificationhubsSubscriptionResource(subscriptionResource).GetNamespaceResourcesAsync(skipToken, top, cancellationToken);
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces
+ ///
+ ///
+ /// Operation Id
+ /// NamespaceResource_ListAll
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ /// Resource
+ ///
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// Skip token for subsequent requests.
+ /// Maximum number of results to return.
+ /// The cancellation token to use.
+ /// is null.
+ /// A collection of that may take multiple service requests to iterate over.
+ public static Pageable GetNamespaceResources(this SubscriptionResource subscriptionResource, string skipToken = null, int? top = null, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(subscriptionResource, nameof(subscriptionResource));
+
+ return GetMockableNotificationhubsSubscriptionResource(subscriptionResource).GetNamespaceResources(skipToken, top, cancellationToken);
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability
+ ///
+ ///
+ /// Operation Id
+ /// NamespacesOperationGroup_CheckAvailability
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The request body.
+ /// The cancellation token to use.
+ /// or is null.
+ public static async Task> CheckAvailabilityNamespacesOperationGroupAsync(this SubscriptionResource subscriptionResource, CheckAvailabilityContent content, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(subscriptionResource, nameof(subscriptionResource));
+
+ return await GetMockableNotificationhubsSubscriptionResource(subscriptionResource).CheckAvailabilityNamespacesOperationGroupAsync(content, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
+ ///
+ ///
+ /// Request Path
+ /// /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability
+ ///
+ ///
+ /// Operation Id
+ /// NamespacesOperationGroup_CheckAvailability
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The request body.
+ /// The cancellation token to use.
+ /// or is null.
+ public static Response CheckAvailabilityNamespacesOperationGroup(this SubscriptionResource subscriptionResource, CheckAvailabilityContent content, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(subscriptionResource, nameof(subscriptionResource));
+
+ return GetMockableNotificationhubsSubscriptionResource(subscriptionResource).CheckAvailabilityNamespacesOperationGroup(content, cancellationToken);
+ }
+
+ ///
+ /// List the operations for the provider
+ ///
+ ///
+ /// Request Path
+ /// /providers/Microsoft.NotificationHubs/operations
+ ///
+ ///
+ /// Operation Id
+ /// Operations_List
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The cancellation token to use.
+ /// is null.
+ /// An async collection of that may take multiple service requests to iterate over.
+ public static AsyncPageable GetOperationsAsync(this TenantResource tenantResource, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tenantResource, nameof(tenantResource));
+
+ return GetMockableNotificationhubsTenantResource(tenantResource).GetOperationsAsync(cancellationToken);
+ }
+
+ ///
+ /// List the operations for the provider
+ ///
+ ///
+ /// Request Path
+ /// /providers/Microsoft.NotificationHubs/operations
+ ///
+ ///
+ /// Operation Id
+ /// Operations_List
+ ///
+ ///
+ /// Default Api Version
+ /// 2023-10-01-preview
+ ///
+ ///
+ ///
+ /// Mocking
+ /// To mock this method, please mock instead.
+ ///
+ ///
+ /// The instance the method will execute against.
+ /// The cancellation token to use.
+ /// is null.
+ /// A collection of that may take multiple service requests to iterate over.
+ public static Pageable GetOperations(this TenantResource tenantResource, CancellationToken cancellationToken = default)
+ {
+ Argument.AssertNotNull(tenantResource, nameof(tenantResource));
+
+ return GetMockableNotificationhubsTenantResource(tenantResource).GetOperations(cancellationToken);
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/Argument.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/Argument.cs
new file mode 100644
index 000000000000..0f7af22eb3d6
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/Argument.cs
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Azure.ResourceManager.Notificationhubs
+{
+ internal static class Argument
+ {
+ public static void AssertNotNull(T value, string name)
+ {
+ if (value is null)
+ {
+ throw new ArgumentNullException(name);
+ }
+ }
+
+ public static void AssertNotNull(T? value, string name)
+ where T : struct
+ {
+ if (!value.HasValue)
+ {
+ throw new ArgumentNullException(name);
+ }
+ }
+
+ public static void AssertNotNullOrEmpty(IEnumerable value, string name)
+ {
+ if (value is null)
+ {
+ throw new ArgumentNullException(name);
+ }
+ if (value is ICollection collectionOfT && collectionOfT.Count == 0)
+ {
+ throw new ArgumentException("Value cannot be an empty collection.", name);
+ }
+ if (value is ICollection collection && collection.Count == 0)
+ {
+ throw new ArgumentException("Value cannot be an empty collection.", name);
+ }
+ using IEnumerator e = value.GetEnumerator();
+ if (!e.MoveNext())
+ {
+ throw new ArgumentException("Value cannot be an empty collection.", name);
+ }
+ }
+
+ public static void AssertNotNullOrEmpty(string value, string name)
+ {
+ if (value is null)
+ {
+ throw new ArgumentNullException(name);
+ }
+ if (value.Length == 0)
+ {
+ throw new ArgumentException("Value cannot be an empty string.", name);
+ }
+ }
+
+ public static void AssertNotNullOrWhiteSpace(string value, string name)
+ {
+ if (value is null)
+ {
+ throw new ArgumentNullException(name);
+ }
+ if (string.IsNullOrWhiteSpace(value))
+ {
+ throw new ArgumentException("Value cannot be empty or contain only white-space characters.", name);
+ }
+ }
+
+ public static void AssertNotDefault(ref T value, string name)
+ where T : struct, IEquatable
+ {
+ if (value.Equals(default))
+ {
+ throw new ArgumentException("Value cannot be empty.", name);
+ }
+ }
+
+ public static void AssertInRange(T value, T minimum, T maximum, string name)
+ where T : notnull, IComparable
+ {
+ if (minimum.CompareTo(value) > 0)
+ {
+ throw new ArgumentOutOfRangeException(name, "Value is less than the minimum allowed.");
+ }
+ if (maximum.CompareTo(value) < 0)
+ {
+ throw new ArgumentOutOfRangeException(name, "Value is greater than the maximum allowed.");
+ }
+ }
+
+ public static void AssertEnumDefined(Type enumType, object value, string name)
+ {
+ if (!Enum.IsDefined(enumType, value))
+ {
+ throw new ArgumentException($"Value not defined for {enumType.FullName}.", name);
+ }
+ }
+
+ public static T CheckNotNull(T value, string name)
+ where T : class
+ {
+ AssertNotNull(value, name);
+ return value;
+ }
+
+ public static string CheckNotNullOrEmpty(string value, string name)
+ {
+ AssertNotNullOrEmpty(value, name);
+ return value;
+ }
+
+ public static void AssertNull(T value, string name, string message = null)
+ {
+ if (value != null)
+ {
+ throw new ArgumentException(message ?? "Value must be null.", name);
+ }
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingDictionary.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingDictionary.cs
new file mode 100644
index 000000000000..23d862f95d36
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingDictionary.cs
@@ -0,0 +1,167 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace Azure.ResourceManager.Notificationhubs
+{
+ internal class ChangeTrackingDictionary : IDictionary, IReadOnlyDictionary where TKey : notnull
+ {
+ private IDictionary _innerDictionary;
+
+ public ChangeTrackingDictionary()
+ {
+ }
+
+ public ChangeTrackingDictionary(IDictionary dictionary)
+ {
+ if (dictionary == null)
+ {
+ return;
+ }
+ _innerDictionary = new Dictionary(dictionary);
+ }
+
+ public ChangeTrackingDictionary(IReadOnlyDictionary dictionary)
+ {
+ if (dictionary == null)
+ {
+ return;
+ }
+ _innerDictionary = new Dictionary();
+ foreach (var pair in dictionary)
+ {
+ _innerDictionary.Add(pair);
+ }
+ }
+
+ public bool IsUndefined => _innerDictionary == null;
+
+ public int Count => IsUndefined ? 0 : EnsureDictionary().Count;
+
+ public bool IsReadOnly => IsUndefined ? false : EnsureDictionary().IsReadOnly;
+
+ public ICollection Keys => IsUndefined ? Array.Empty() : EnsureDictionary().Keys;
+
+ public ICollection Values => IsUndefined ? Array.Empty() : EnsureDictionary().Values;
+
+ public TValue this[TKey key]
+ {
+ get
+ {
+ if (IsUndefined)
+ {
+ throw new KeyNotFoundException(nameof(key));
+ }
+ return EnsureDictionary()[key];
+ }
+ set
+ {
+ EnsureDictionary()[key] = value;
+ }
+ }
+
+ IEnumerable IReadOnlyDictionary.Keys => Keys;
+
+ IEnumerable IReadOnlyDictionary.Values => Values;
+
+ public IEnumerator> GetEnumerator()
+ {
+ if (IsUndefined)
+ {
+ IEnumerator> enumerateEmpty()
+ {
+ yield break;
+ }
+ return enumerateEmpty();
+ }
+ return EnsureDictionary().GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ public void Add(KeyValuePair item)
+ {
+ EnsureDictionary().Add(item);
+ }
+
+ public void Clear()
+ {
+ EnsureDictionary().Clear();
+ }
+
+ public bool Contains(KeyValuePair item)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureDictionary().Contains(item);
+ }
+
+ public void CopyTo(KeyValuePair[] array, int index)
+ {
+ if (IsUndefined)
+ {
+ return;
+ }
+ EnsureDictionary().CopyTo(array, index);
+ }
+
+ public bool Remove(KeyValuePair item)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureDictionary().Remove(item);
+ }
+
+ public void Add(TKey key, TValue value)
+ {
+ EnsureDictionary().Add(key, value);
+ }
+
+ public bool ContainsKey(TKey key)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureDictionary().ContainsKey(key);
+ }
+
+ public bool Remove(TKey key)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureDictionary().Remove(key);
+ }
+
+ public bool TryGetValue(TKey key, out TValue value)
+ {
+ if (IsUndefined)
+ {
+ value = default;
+ return false;
+ }
+ return EnsureDictionary().TryGetValue(key, out value);
+ }
+
+ public IDictionary EnsureDictionary()
+ {
+ return _innerDictionary ??= new Dictionary();
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingList.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingList.cs
new file mode 100644
index 000000000000..a7f1b1c60435
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ChangeTrackingList.cs
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Azure.ResourceManager.Notificationhubs
+{
+ internal class ChangeTrackingList : IList, IReadOnlyList
+ {
+ private IList _innerList;
+
+ public ChangeTrackingList()
+ {
+ }
+
+ public ChangeTrackingList(IList innerList)
+ {
+ if (innerList != null)
+ {
+ _innerList = innerList;
+ }
+ }
+
+ public ChangeTrackingList(IReadOnlyList innerList)
+ {
+ if (innerList != null)
+ {
+ _innerList = innerList.ToList();
+ }
+ }
+
+ public bool IsUndefined => _innerList == null;
+
+ public int Count => IsUndefined ? 0 : EnsureList().Count;
+
+ public bool IsReadOnly => IsUndefined ? false : EnsureList().IsReadOnly;
+
+ public T this[int index]
+ {
+ get
+ {
+ if (IsUndefined)
+ {
+ throw new ArgumentOutOfRangeException(nameof(index));
+ }
+ return EnsureList()[index];
+ }
+ set
+ {
+ if (IsUndefined)
+ {
+ throw new ArgumentOutOfRangeException(nameof(index));
+ }
+ EnsureList()[index] = value;
+ }
+ }
+
+ public void Reset()
+ {
+ _innerList = null;
+ }
+
+ public IEnumerator GetEnumerator()
+ {
+ if (IsUndefined)
+ {
+ IEnumerator enumerateEmpty()
+ {
+ yield break;
+ }
+ return enumerateEmpty();
+ }
+ return EnsureList().GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ public void Add(T item)
+ {
+ EnsureList().Add(item);
+ }
+
+ public void Clear()
+ {
+ EnsureList().Clear();
+ }
+
+ public bool Contains(T item)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureList().Contains(item);
+ }
+
+ public void CopyTo(T[] array, int arrayIndex)
+ {
+ if (IsUndefined)
+ {
+ return;
+ }
+ EnsureList().CopyTo(array, arrayIndex);
+ }
+
+ public bool Remove(T item)
+ {
+ if (IsUndefined)
+ {
+ return false;
+ }
+ return EnsureList().Remove(item);
+ }
+
+ public int IndexOf(T item)
+ {
+ if (IsUndefined)
+ {
+ return -1;
+ }
+ return EnsureList().IndexOf(item);
+ }
+
+ public void Insert(int index, T item)
+ {
+ EnsureList().Insert(index, item);
+ }
+
+ public void RemoveAt(int index)
+ {
+ if (IsUndefined)
+ {
+ throw new ArgumentOutOfRangeException(nameof(index));
+ }
+ EnsureList().RemoveAt(index);
+ }
+
+ public IList EnsureList()
+ {
+ return _innerList ??= new List();
+ }
+ }
+}
diff --git a/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ModelSerializationExtensions.cs b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ModelSerializationExtensions.cs
new file mode 100644
index 000000000000..f15e9d5acf6f
--- /dev/null
+++ b/sdk/notificationhubs/Azure.ResourceManager.Notificationhubs/src/Generated/Internal/ModelSerializationExtensions.cs
@@ -0,0 +1,407 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+//
+
+#nullable disable
+
+using System;
+using System.ClientModel.Primitives;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Globalization;
+using System.Text.Json;
+using System.Xml;
+using Azure.Core;
+
+namespace Azure.ResourceManager.Notificationhubs
+{
+ internal static class ModelSerializationExtensions
+ {
+ internal static readonly JsonDocumentOptions JsonDocumentOptions = new JsonDocumentOptions { MaxDepth = 256 };
+ internal static readonly ModelReaderWriterOptions WireOptions = new ModelReaderWriterOptions("W");
+ internal static readonly BinaryData SentinelValue = BinaryData.FromBytes("\"__EMPTY__\""u8.ToArray());
+
+ public static object GetObject(this JsonElement element)
+ {
+ switch (element.ValueKind)
+ {
+ case JsonValueKind.String:
+ return element.GetString();
+ case JsonValueKind.Number:
+ if (element.TryGetInt32(out int intValue))
+ {
+ return intValue;
+ }
+ if (element.TryGetInt64(out long longValue))
+ {
+ return longValue;
+ }
+ return element.GetDouble();
+ case JsonValueKind.True:
+ return true;
+ case JsonValueKind.False:
+ return false;
+ case JsonValueKind.Undefined:
+ case JsonValueKind.Null:
+ return null;
+ case JsonValueKind.Object:
+ var dictionary = new Dictionary();
+ foreach (var jsonProperty in element.EnumerateObject())
+ {
+ dictionary.Add(jsonProperty.Name, jsonProperty.Value.GetObject());
+ }
+ return dictionary;
+ case JsonValueKind.Array:
+ var list = new List