diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/NotificationHubs.Tests.csproj b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/NotificationHubs.Tests.csproj
new file mode 100644
index 000000000000..6ed0b8e754e3
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/NotificationHubs.Tests.csproj
@@ -0,0 +1,77 @@
+
+
+
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}
+ NotificationHubs.Tests
+ NotificationHubs.Tests
+ da945abd
+
+
+
+
+
+
+
+
+ {40f35645-00ee-4df2-b66e-7624546b66df}
+ TestDependencies
+
+
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}
+ NotificationHubsManagement
+ SkipValidatePackageReferences=true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+ Always
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Properties/AssemblyInfo.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000000..2f21922d8a96
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Properties/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("NotificationHubs.Tests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("NotificationHubs.Tests")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("663aa481-92aa-41e6-9ac7-11d232beaf54")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNamespaceNameAvailability.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNamespaceNameAvailability.json
new file mode 100644
index 000000000000..dbc98a652b91
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNamespaceNameAvailability.json
@@ -0,0 +1,523 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTm90aWZpY2F0aW9uSHVicy9jaGVja05hbWVzcGFjZUF2YWlsYWJpbGl0eT9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-Namespace4969\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "65"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": true,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability\",\r\n \"name\": \"HydraNH-Namespace4969\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": true\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "295"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "d6b18d10-bbd1-4ee7-9d2c-ad4f78098eb9_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1187"
+ ],
+ "x-ms-correlation-request-id": [
+ "c16351a0-2fcd-4921-abbd-f5c183051c3d"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042919Z:c16351a0-2fcd-4921-abbd-f5c183051c3d"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:19 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTm90aWZpY2F0aW9uSHVicy9jaGVja05hbWVzcGFjZUF2YWlsYWJpbGl0eT9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"hydraNhNamespace-invalid@!!#%$#\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "75"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": false,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability\",\r\n \"name\": \"hydraNhNamespace-invalid@!!#%$#\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": false\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "307"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "bed70490-e330-47ae-a457-7e0a2a28e8ce_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1186"
+ ],
+ "x-ms-correlation-request-id": [
+ "8efa0026-639a-4d38-a828-3ce090e45930"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042919Z:8efa0026-639a-4d38-a828-3ce090e45930"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:19 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTm90aWZpY2F0aW9uSHVicy9jaGVja05hbWVzcGFjZUF2YWlsYWJpbGl0eT9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-Namespace4969\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "65"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": false,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability\",\r\n \"name\": \"HydraNH-Namespace4969\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": false\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "297"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "2ae57a15-e6ca-4da6-b005-facb6084e112_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1184"
+ ],
+ "x-ms-correlation-request-id": [
+ "f2cf12f5-5933-41b9-a867-abb101b976c1"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042955Z:f2cf12f5-5933-41b9-a867-abb101b976c1"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:54 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22525"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-request-id": [
+ "1b80755b-788f-4fbb-9d9b-66f2725ee484"
+ ],
+ "x-ms-correlation-request-id": [
+ "1b80755b-788f-4fbb-9d9b-66f2725ee484"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042924Z:1b80755b-788f-4fbb-9d9b-66f2725ee484"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:24 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG3310?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzMzMTA/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310\",\r\n \"name\": \"NotificationHub-RG3310\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "205"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-request-id": [
+ "ba49e5ad-6f93-4d42-b894-e67edb04bf41"
+ ],
+ "x-ms-correlation-request-id": [
+ "ba49e5ad-6f93-4d42-b894-e67edb04bf41"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042924Z:ba49e5ad-6f93-4d42-b894-e67edb04bf41"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:24 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzMzMTAvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace4969\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "d4c18b9e-6545-4233-a8c8-c032b907465d_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1185"
+ ],
+ "x-ms-correlation-request-id": [
+ "462b8922-bf57-4465-864a-1c2f2dee7dfd"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042925Z:462b8922-bf57-4465-864a-1c2f2dee7dfd"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:25 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzMzMTAvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "067b99c5-f208-4c22-b1d7-348bfbaf3833_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969/operationresults/HydraNH-Namespace4969?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1183"
+ ],
+ "x-ms-correlation-request-id": [
+ "b2f4de36-3514-4e75-8ec4-7c6d670e1167"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042955Z:b2f4de36-3514-4e75-8ec4-7c6d670e1167"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:55 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969/operationresults/HydraNH-Namespace4969?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzMzMTAvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "7e12f52e-8e12-416a-93d5-d71b3cdff14a_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969/operationresults/HydraNH-Namespace4969?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14994"
+ ],
+ "x-ms-correlation-request-id": [
+ "bf35fe3e-8307-4ea1-93d9-0d21d81a8696"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042956Z:bf35fe3e-8307-4ea1-93d9-0d21d81a8696"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:29:55 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969/operationresults/HydraNH-Namespace4969?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzMzMTAvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U0OTY5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4969' under resource group 'NotificationHub-RG3310' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "d8755767-a74f-4760-9600-3ed5e09514dd"
+ ],
+ "x-ms-correlation-request-id": [
+ "d8755767-a74f-4760-9600-3ed5e09514dd"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043056Z:d8755767-a74f-4760-9600-3ed5e09514dd"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:30:55 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "CheckNamespaceNameAvailabilityTest": [
+ "HydraNH-Namespace4969",
+ "NotificationHub-RG3310"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2"
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNotificationHubNameAvailability.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNotificationHubNameAvailability.json
new file mode 100644
index 000000000000..978a0a34238c
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/CheckNotificationHubNameAvailability.json
@@ -0,0 +1,586 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTm90aWZpY2F0aW9uSHVicy9jaGVja05hbWVzcGFjZUF2YWlsYWJpbGl0eT9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-Namespace4975\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "65"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": true,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/checkNamespaceAvailability\",\r\n \"name\": \"HydraNH-Namespace4975\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/checkNamespaceAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": true\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "295"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "668d3248-2f8e-4279-a152-8544cfc53792_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "990613c5-6b11-4b13-a1e6-72cd639843a1"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042427Z:990613c5-6b11-4b13-a1e6-72cd639843a1"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:24:26 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22525"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-request-id": [
+ "01ffe86a-929f-4083-9a4e-21905b72e491"
+ ],
+ "x-ms-correlation-request-id": [
+ "01ffe86a-929f-4083-9a4e-21905b72e491"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042432Z:01ffe86a-929f-4083-9a4e-21905b72e491"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:24:31 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG785?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NT9hcGktdmVyc2lvbj0yMDE0LTA0LTAxLXByZXZpZXc=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785\",\r\n \"name\": \"NotificationHub-RG785\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "203"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-request-id": [
+ "316c0779-ebbd-432d-a956-fec43bc55295"
+ ],
+ "x-ms-correlation-request-id": [
+ "316c0779-ebbd-432d-a956-fec43bc55295"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042432Z:316c0779-ebbd-432d-a956-fec43bc55295"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:24:32 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace4975\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "fdc01520-c31f-4cc4-b868-292e20656226_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1197"
+ ],
+ "x-ms-correlation-request-id": [
+ "a42e525e-45ec-4e0f-99b6-8464269d0155"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042433Z:a42e525e-45ec-4e0f-99b6-8464269d0155"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:24:32 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/checkNotificationHubAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzUvY2hlY2tOb3RpZmljYXRpb25IdWJBdmFpbGFiaWxpdHk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-NotificationHub5413-validazsmnet3961\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "88"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": true,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/checkNotificationHubAvailability\",\r\n \"name\": \"HydraNH-NotificationHub5413-validazsmnet3961\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/checkNotificationHubAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": true\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "417"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "ab6f7a42-b25f-4a03-aae3-c7aea5944cf9_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1196"
+ ],
+ "x-ms-correlation-request-id": [
+ "2ceb3eb4-72aa-484b-8061-9c2eb4e31dab"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042504Z:2ceb3eb4-72aa-484b-8061-9c2eb4e31dab"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:25:04 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/checkNotificationHubAvailability?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzUvY2hlY2tOb3RpZmljYXRpb25IdWJBdmFpbGFiaWxpdHk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-NotificationHub5413-validazsmnet3961\",\r\n \"isAvailiable\": false\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "88"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"isAvailiable\": false,\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/checkNotificationHubAvailability\",\r\n \"name\": \"HydraNH-NotificationHub5413-validazsmnet3961\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/checkNotificationHubAvailability\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": false\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "419"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "5d78d920-895d-495c-a40a-c49eaf43ef2f_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1194"
+ ],
+ "x-ms-correlation-request-id": [
+ "f2fe8d86-0461-422e-8381-37dae2d51aa3"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042505Z:f2fe8d86-0461-422e-8381-37dae2d51aa3"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:25:05 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/notificationHubs/HydraNH-NotificationHub5413-validazsmnet3961?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzUvbm90aWZpY2F0aW9uSHVicy9IeWRyYU5ILU5vdGlmaWNhdGlvbkh1YjU0MTMtdmFsaWRhenNtbmV0Mzk2MT9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {}\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "59"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "124"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "038cb3f9-35ff-4dbe-988b-5d928e7a79a0_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1195"
+ ],
+ "x-ms-correlation-request-id": [
+ "b2d30aca-63e2-43cd-a5fc-de93b0def7fc"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042505Z:b2d30aca-63e2-43cd-a5fc-de93b0def7fc"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:25:05 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "76919c78-ba6f-49a1-90b8-8008451af30a_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/operationresults/HydraNH-Namespace4975?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1193"
+ ],
+ "x-ms-correlation-request-id": [
+ "d9ab98f6-2623-46eb-8f9f-2fa510f2562f"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042506Z:d9ab98f6-2623-46eb-8f9f-2fa510f2562f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:25:05 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/operationresults/HydraNH-Namespace4975?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzUvb3BlcmF0aW9ucmVzdWx0cy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "c7b5fe58-7407-43f7-abad-2616c514705e_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/operationresults/HydraNH-Namespace4975?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "599dcda7-47d9-48c4-85ab-e6282220101b"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042506Z:599dcda7-47d9-48c4-85ab-e6282220101b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:25:05 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG785/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975/operationresults/HydraNH-Namespace4975?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzc4NS9wcm92aWRlcnMvTWljcm9zb2Z0Lk5vdGlmaWNhdGlvbkh1YnMvbmFtZXNwYWNlcy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzUvb3BlcmF0aW9ucmVzdWx0cy9IeWRyYU5ILU5hbWVzcGFjZTQ5NzU/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4975' under resource group 'NotificationHub-RG785' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "184"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "ce3073e5-178c-4d49-8a1b-e4e90bc2ea37"
+ ],
+ "x-ms-correlation-request-id": [
+ "ce3073e5-178c-4d49-8a1b-e4e90bc2ea37"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042613Z:ce3073e5-178c-4d49-8a1b-e4e90bc2ea37"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:26:13 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "CheckNotificationHubNameAvailability": [
+ "HydraNH-Namespace4975",
+ "NotificationHub-RG785",
+ "HydraNH-NotificationHub5413",
+ "azsmnet3961"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2"
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDelete.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDelete.json
new file mode 100644
index 000000000000..b0f8c1976eb3
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDelete.json
@@ -0,0 +1,902 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22525"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-request-id": [
+ "582cdfd0-bab7-44fd-8c4f-64e0e55e669a"
+ ],
+ "x-ms-correlation-request-id": [
+ "582cdfd0-bab7-44fd-8c4f-64e0e55e669a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042122Z:582cdfd0-bab7-44fd-8c4f-64e0e55e669a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:22 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG9856?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTY/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856\",\r\n \"name\": \"NotificationHub-RG9856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "205"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-request-id": [
+ "21b01bcb-5eca-4e8e-b92c-ff598ef1c2ce"
+ ],
+ "x-ms-correlation-request-id": [
+ "21b01bcb-5eca-4e8e-b92c-ff598ef1c2ce"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042123Z:21b01bcb-5eca-4e8e-b92c-ff598ef1c2ce"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:22 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "a4ee2727-46a5-488b-b172-28cfcd145e5e_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "4906b0ba-bf94-44a7-a206-94a71ac94b85"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042128Z:4906b0ba-bf94-44a7-a206-94a71ac94b85"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:28 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"Messaging\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "295"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Active\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"Messaging\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "320"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "bc96ba1e-cd92-47cc-890d-1d92b6ad3d98_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "8841c8c8-7d37-4197-8f3d-1781a5b7b475"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042134Z:8841c8c8-7d37-4197-8f3d-1781a5b7b475"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:34 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:21:27.673Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7315.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:21:30.747Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9856\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "730"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "1bf235ee-c163-42dc-bf91-3fabfae44c99_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "38b57b9b-7145-4d04-904d-cb31129e8044"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042133Z:38b57b9b-7145-4d04-904d-cb31129e8044"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:33 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:21:27.673Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7315.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:21:30.747Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9856\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "730"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "1cac8c3d-0a4f-4e11-8b5b-12678b77a884_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "0701f3a9-843f-4032-a685-3ef1c583289f"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042133Z:0701f3a9-843f-4032-a685-3ef1c583289f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:33 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:21:27.673Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7315.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:21:33.97Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9856\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "790"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "89210c04-d297-4915-83d1-0c711c71a87b_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14995"
+ ],
+ "x-ms-correlation-request-id": [
+ "66fbf6c7-cd68-4fab-a0bb-843639aa8072"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042139Z:66fbf6c7-cd68-4fab-a0bb-843639aa8072"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:39 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:21:27.673Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7315.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:21:30.747Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9856\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "758"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "e3df23cd-eee4-484d-aca9-e330ae977fd3_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-correlation-request-id": [
+ "9b2d3fe0-c8aa-479e-9dd6-b6ea236c917c"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042133Z:9b2d3fe0-c8aa-479e-9dd6-b6ea236c917c"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:33 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTm90aWZpY2F0aW9uSHVicy9uYW1lc3BhY2VzP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1927\",\r\n \"name\": \"HydraNH-Namespace1927\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1927\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:04:54.09Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1927.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T23:05:08.22Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5492\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1339\",\r\n \"name\": \"HydraNH-Namespace1339\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1339\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T23:29:57.37Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1339.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-10T23:30:09.187Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7797\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2465\",\r\n \"name\": \"HydraNH-Namespace2465\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2465\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:02:54.267Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2465.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T23:03:06.707Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6304\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5414\",\r\n \"name\": \"HydraNH-Namespace5414\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5414\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T05:36:58.33Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5414.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T05:37:01.073Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4225\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5239\",\r\n \"name\": \"HydraNH-Namespace5239\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5239\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T04:29:31.797Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5239.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T04:29:33.917Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8139\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5809\",\r\n \"name\": \"HydraNH-Namespace5809\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5809\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:39:09.097Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5809.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:39:11.557Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8062\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9364\",\r\n \"name\": \"HydraNH-Namespace9364\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9364\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:22:50.57Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9364.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:22:53.957Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4373\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6246\",\r\n \"name\": \"HydraNH-Namespace6246\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6246\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T17:14:09.5Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6246.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T17:14:15.61Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9292\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2745\",\r\n \"name\": \"HydraNH-Namespace2745\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2745\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:20:20.967Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2745.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:20:36.853Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9144\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace89\",\r\n \"name\": \"HydraNH-Namespace89\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace89\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T07:21:53.73Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace89.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-12T07:21:59.83Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG502\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace191\",\r\n \"name\": \"HydraNH-Namespace191\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace191\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T05:41:49.933Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace191.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T05:41:54.06Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9697\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1495\",\r\n \"name\": \"HydraNH-Namespace1495\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1495\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:20:14.93Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1495.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:20:19.73Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9105\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7434\",\r\n \"name\": \"HydraNH-Namespace7434\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7434\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:07:03.313Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7434.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:07:15.843Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG3293\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9571\",\r\n \"name\": \"HydraNH-Namespace9571\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9571\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:21:37.19Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9571.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:21:40.153Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG5828\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9830\",\r\n \"name\": \"HydraNH-Namespace9830\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9830\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T21:38:13.02Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9830.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T21:38:13.713Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG8761\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4032\",\r\n \"name\": \"HydraNH-Namespace4032\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4032\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T23:37:55.453Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4032.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T23:37:57.097Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7028\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3915\",\r\n \"name\": \"HydraNH-Namespace3915\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3915\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:25:13.627Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3915.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:25:32.213Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2740\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9834\",\r\n \"name\": \"HydraNH-Namespace9834\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9834\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T19:20:18.857Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9834.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T19:20:21.747Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2900\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9423\",\r\n \"name\": \"HydraNH-Namespace9423\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9423\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T05:51:33.847Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9423.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T05:51:38.433Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG882\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/TestSku111\",\r\n \"name\": \"TestSku111\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"Southeast Asia\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"TestSku111\",\r\n \"region\": \"Southeast Asia\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2014-09-11T01:15:57.983Z\",\r\n \"serviceBusEndpoint\": \"https://TestSku111.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2014-09-11T01:16:03.02Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6226\",\r\n \"name\": \"HydraNH-Namespace6226\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6226\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:28:39.357Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6226.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:28:41.743Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG2487\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/CSM-SBTestInfra\",\r\n \"name\": \"CSM-SBTestInfra\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"CSM-SBTestInfra\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2014-05-12T18:04:56.787Z\",\r\n \"serviceBusEndpoint\": \"https://CSM-SBTestInfra.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2014-05-12T18:23:13.52Z\",\r\n \"createACSNamespace\": true,\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8625\",\r\n \"name\": \"HydraNH-Namespace8625\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8625\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T04:08:42.94Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8625.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T04:08:46.653Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9868\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2979\",\r\n \"name\": \"HydraNH-Namespace2979\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2979\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T04:15:15.53Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2979.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T04:15:17.953Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2608\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2039\",\r\n \"name\": \"HydraNH-Namespace2039\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2039\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T21:54:19.68Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2039.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-10T21:54:21.6Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8513\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3864\",\r\n \"name\": \"HydraNH-Namespace3864\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3864\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T22:54:56.913Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3864.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-11T22:54:59.947Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9139\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8768\",\r\n \"name\": \"HydraNH-Namespace8768\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8768\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-09T00:48:57.073Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8768.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-09T00:48:59.56Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2239\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2562\",\r\n \"name\": \"HydraNH-Namespace2562\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2562\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:26:47.64Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2562.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T21:26:50.423Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3800\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7393\",\r\n \"name\": \"HydraNH-Namespace7393\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7393\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:01:16.977Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7393.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T23:01:29.83Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7053\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3943\",\r\n \"name\": \"HydraNH-Namespace3943\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3943\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:08:20.687Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3943.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:08:25.543Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7176\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2992\",\r\n \"name\": \"HydraNH-Namespace2992\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2992\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:55:53.537Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2992.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:56:06.76Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3605\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2320\",\r\n \"name\": \"HydraNH-Namespace2320\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2320\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:10:33.943Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2320.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T21:10:37.233Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3366\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace774\",\r\n \"name\": \"HydraNH-Namespace774\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace774\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T00:07:03.117Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace774.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T00:07:06.903Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1151\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8885\",\r\n \"name\": \"HydraNH-Namespace8885\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8885\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:41:59.293Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8885.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:42:00.683Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG682\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/NS-11fd83cf-97a2-4ab6-8a13-c7ba10255e63\",\r\n \"name\": \"NS-11fd83cf-97a2-4ab6-8a13-c7ba10255e63\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"East US\",\r\n \"tags\": {\r\n \"test\": \"namespace\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"NS-11fd83cf-97a2-4ab6-8a13-c7ba10255e63\",\r\n \"region\": \"East US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-03-12T23:08:14.88Z\",\r\n \"serviceBusEndpoint\": \"https://NS-11fd83cf-97a2-4ab6-8a13-c7ba10255e63.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-03-12T23:08:17.447Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"TestRG-123\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1408\",\r\n \"name\": \"HydraNH-Namespace1408\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1408\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:25:40.13Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1408.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:25:41.87Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG3857\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4260\",\r\n \"name\": \"HydraNH-Namespace4260\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4260\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:54:47.87Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4260.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T21:55:03.113Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9939\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4418\",\r\n \"name\": \"HydraNH-Namespace4418\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4418\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T22:46:16.21Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4418.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-10T22:46:31.107Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1292\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5042\",\r\n \"name\": \"HydraNH-Namespace5042\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5042\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T23:39:09.16Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5042.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T23:39:15.593Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5332\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4411\",\r\n \"name\": \"HydraNH-Namespace4411\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4411\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T21:05:48.8Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4411.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-11T21:05:51.443Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6393\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1398\",\r\n \"name\": \"HydraNH-Namespace1398\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1398\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T05:17:35.367Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1398.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T05:17:38.353Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5836\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3619\",\r\n \"name\": \"HydraNH-Namespace3619\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3619\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:26:35.9Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3619.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:26:39.997Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG114\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1652\",\r\n \"name\": \"HydraNH-Namespace1652\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1652\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:06:45.87Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1652.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:07:03.36Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1024\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7349\",\r\n \"name\": \"HydraNH-Namespace7349\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7349\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:55:45.867Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7349.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T21:55:56.81Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9698\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7885\",\r\n \"name\": \"HydraNH-Namespace7885\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7885\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:57:15.08Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7885.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:57:28.83Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3856\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace980\",\r\n \"name\": \"HydraNH-Namespace980\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace980\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:34:42.52Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace980.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:34:47.117Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3662\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9627\",\r\n \"name\": \"HydraNH-Namespace9627\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9627\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:19:22.523Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9627.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:19:25.073Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3689\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5887\",\r\n \"name\": \"HydraNH-Namespace5887\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5887\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:00:50.88Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5887.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:00:54.417Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG8564\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2525\",\r\n \"name\": \"HydraNH-Namespace2525\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2525\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:23:39.91Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2525.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:23:40.823Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG7709\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9705\",\r\n \"name\": \"HydraNH-Namespace9705\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9705\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T06:20:28.363Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9705.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T06:20:33.35Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2766\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1535\",\r\n \"name\": \"HydraNH-Namespace1535\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1535\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-09T00:11:59.727Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1535.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-09T00:12:13.233Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2402\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6431\",\r\n \"name\": \"HydraNH-Namespace6431\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6431\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T23:07:23.813Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6431.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-11T23:07:26.96Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8221\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace251\",\r\n \"name\": \"HydraNH-Namespace251\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace251\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:33:01.393Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace251.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:33:13.69Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8335\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2376\",\r\n \"name\": \"HydraNH-Namespace2376\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2376\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:36:32.113Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2376.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:36:34.547Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3062\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7143\",\r\n \"name\": \"HydraNH-Namespace7143\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7143\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:55:03.03Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7143.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T23:55:06.363Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9226\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/loctestns0004\",\r\n \"name\": \"loctestns0004\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"loctestns0004\",\r\n \"region\": \"Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2014-10-21T18:30:52.017Z\",\r\n \"serviceBusEndpoint\": \"https://loctestns0004.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2014-10-21T18:30:54.913Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace226\",\r\n \"name\": \"HydraNH-Namespace226\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace226\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T21:01:54.48Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace226.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T21:02:00.863Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6401\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9101\",\r\n \"name\": \"HydraNH-Namespace9101\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9101\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T21:39:03.35Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9101.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-10T21:39:05.49Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7444\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7983\",\r\n \"name\": \"HydraNH-Namespace7983\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7983\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T23:26:27.06Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7983.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T23:26:29.313Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5915\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8154\",\r\n \"name\": \"HydraNH-Namespace8154\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8154\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:17:04.05Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8154.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T21:17:05.917Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4393\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8262\",\r\n \"name\": \"HydraNH-Namespace8262\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8262\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T03:41:20.96Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8262.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-12T03:41:27.067Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2082\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5264\",\r\n \"name\": \"HydraNH-Namespace5264\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5264\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T22:27:48.503Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5264.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-08T22:28:01.393Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG500\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5980\",\r\n \"name\": \"HydraNH-Namespace5980\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5980\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T01:49:41.903Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5980.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T01:49:47.403Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG287\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5892\",\r\n \"name\": \"HydraNH-Namespace5892\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5892\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T19:20:44.62Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5892.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T19:20:51.1Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1763\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace316\",\r\n \"name\": \"HydraNH-Namespace316\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace316\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T02:27:28.25Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace316.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T02:27:30.71Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG8245\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3109\",\r\n \"name\": \"HydraNH-Namespace3109\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3109\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T23:10:11.517Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3109.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-11T23:10:16.317Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4941\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4607\",\r\n \"name\": \"HydraNH-Namespace4607\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4607\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-05T18:43:19.723Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4607.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-05T18:43:21.71Z\",\r\n \"eventHubEnabled\": true,\r\n \"namespaceType\": \"Messaging\",\r\n \"resourceGroup\": \"NotificationHub-RG9638\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/testns-nhonly123\",\r\n \"name\": \"testns-nhonly123\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"West US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"testns-nhonly123\",\r\n \"region\": \"West US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-02-09T21:18:56.073Z\",\r\n \"serviceBusEndpoint\": \"https://testns-nhonly123.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-02-09T21:18:59.313Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2455\",\r\n \"name\": \"HydraNH-Namespace2455\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2455\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:14:49.95Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2455.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:14:52.423Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3499\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/prod-6-2-bl2-SBAC2-1\",\r\n \"name\": \"prod-6-2-bl2-SBAC2-1\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"East US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"prod-6-2-bl2-SBAC2-1\",\r\n \"region\": \"East US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2012-06-03T02:47:54.277Z\",\r\n \"serviceBusEndpoint\": \"https://prod-6-2-bl2-SBAC2-1.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2012-06-03T02:58:56.033Z\",\r\n \"createACSNamespace\": true,\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7315\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:21:27.673Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7315.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:21:30.747Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG9856\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5206\",\r\n \"name\": \"HydraNH-Namespace5206\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5206\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:04:15.74Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5206.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:04:28.87Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1341\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3270\",\r\n \"name\": \"HydraNH-Namespace3270\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3270\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T18:35:46.607Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3270.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T18:35:50.3Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5215\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1729\",\r\n \"name\": \"HydraNH-Namespace1729\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1729\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:46:43.05Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1729.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:46:56.523Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6885\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace8871\",\r\n \"name\": \"HydraNH-Namespace8871\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace8871\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T21:57:04.503Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace8871.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T21:57:20.38Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3777\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4809\",\r\n \"name\": \"HydraNH-Namespace4809\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4809\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:42:49Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4809.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T23:42:52.887Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6515\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace687\",\r\n \"name\": \"HydraNH-Namespace687\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace687\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T19:30:03.337Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace687.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-10T19:30:04.823Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1571\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7012\",\r\n \"name\": \"HydraNH-Namespace7012\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7012\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T04:21:50.72Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7012.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T04:21:55.593Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2250\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace4516\",\r\n \"name\": \"HydraNH-Namespace4516\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace4516\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T00:05:03.22Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace4516.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-08T00:05:04.53Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3653\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace265\",\r\n \"name\": \"HydraNH-Namespace265\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace265\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T16:59:55.577Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace265.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-11T16:59:58.427Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7806\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5019\",\r\n \"name\": \"HydraNH-Namespace5019\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5019\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-08T01:32:58.133Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5019.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-08T01:33:10.617Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4301\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6970\",\r\n \"name\": \"HydraNH-Namespace6970\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6970\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:18:08.26Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6970.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:18:23.5Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2780\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5016\",\r\n \"name\": \"HydraNH-Namespace5016\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5016\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T23:22:02.64Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5016.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-10T23:22:27.597Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG5307\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace1169\",\r\n \"name\": \"HydraNH-Namespace1169\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace1169\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T07:39:41.147Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace1169.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-12T07:39:52.433Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2329\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace921\",\r\n \"name\": \"HydraNH-Namespace921\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace921\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-10T19:19:00.23Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace921.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-10T19:19:04.583Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8946\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2610\",\r\n \"name\": \"HydraNH-Namespace2610\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2610\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T22:51:43.667Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2610.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-07T22:51:56.793Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6513\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2778\",\r\n \"name\": \"HydraNH-Namespace2778\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2778\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T18:53:16.637Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2778.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T18:53:20.38Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6456\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3669\",\r\n \"name\": \"HydraNH-Namespace3669\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3669\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T18:45:14.04Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3669.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T18:45:15.507Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG8399\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9255\",\r\n \"name\": \"HydraNH-Namespace9255\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9255\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:16:22.06Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9255.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T23:16:27.503Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2320\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7711\",\r\n \"name\": \"HydraNH-Namespace7711\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7711\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T03:51:40.333Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7711.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-12T03:51:46.557Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG6550\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6913\",\r\n \"name\": \"HydraNH-Namespace6913\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6913\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T20:54:40.73Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6913.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T20:54:48.26Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG7453\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace5941\",\r\n \"name\": \"HydraNH-Namespace5941\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace5941\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-12T05:33:33.25Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace5941.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-12T05:33:35.193Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3933\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7137\",\r\n \"name\": \"HydraNH-Namespace7137\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\",\r\n \"tag4\": \"value4\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7137\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-11T17:42:44.45Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7137.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": true,\r\n \"updatedAt\": \"2015-08-11T17:42:54.713Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG2906\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/TestDM2\",\r\n \"name\": \"TestDM2\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"TestDM2\",\r\n \"region\": \"Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2014-08-29T18:09:43.41Z\",\r\n \"serviceBusEndpoint\": \"https://TestDM2.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2014-08-29T18:09:45.047Z\",\r\n \"eventHubEnabled\": true,\r\n \"resourceGroup\": \"\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace2892\",\r\n \"name\": \"HydraNH-Namespace2892\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace2892\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:46:48.993Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace2892.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T23:46:51.05Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG4794\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace3788\",\r\n \"name\": \"HydraNH-Namespace3788\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace3788\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-07T23:23:39.56Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace3788.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-07T23:23:41.643Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3832\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "68207"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "dd589a22-0837-413f-bb27-72828b482df2_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14996"
+ ],
+ "x-ms-correlation-request-id": [
+ "009a6017-8622-416a-9649-b910f5c037f7"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042133Z:009a6017-8622-416a-9649-b910f5c037f7"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:33 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace7557\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "91b2c219-ecd5-4d3a-b175-045227e0a91c_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1197"
+ ],
+ "x-ms-correlation-request-id": [
+ "c624c6c7-ead0-4bff-8c1d-0262c85bbc17"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042139Z:c624c6c7-ead0-4bff-8c1d-0262c85bbc17"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:39 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "d37e29b2-922c-4372-b600-d3d6f7d64c5f_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557/operationresults/HydraNH-Namespace7557?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1196"
+ ],
+ "x-ms-correlation-request-id": [
+ "5b8bda80-54a8-48ba-95cd-e8f122dfe846"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042150Z:5b8bda80-54a8-48ba-95cd-e8f122dfe846"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:49 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557/operationresults/HydraNH-Namespace7557?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "7cee3287-0580-40d3-a773-f24542cb408e_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557/operationresults/HydraNH-Namespace7557?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14994"
+ ],
+ "x-ms-correlation-request-id": [
+ "6b33e5b4-b69a-49a2-b1c6-005f2f84ea81"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042150Z:6b33e5b4-b69a-49a2-b1c6-005f2f84ea81"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:21:49 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557/operationresults/HydraNH-Namespace7557?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3NTU3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7557' under resource group 'NotificationHub-RG9856' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "8d9af9a5-ec17-41f9-8b94-9e2dc34ca46f"
+ ],
+ "x-ms-correlation-request-id": [
+ "8d9af9a5-ec17-41f9-8b94-9e2dc34ca46f"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042250Z:8d9af9a5-ec17-41f9-8b94-9e2dc34ca46f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:22:49 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "598fada7-56a1-4628-8b0f-1ac3ddd14b3e_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315/operationresults/HydraNH-Namespace7315?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1195"
+ ],
+ "x-ms-correlation-request-id": [
+ "0f611ec4-3770-4f88-b90e-5462bae8d3b4"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042250Z:0f611ec4-3770-4f88-b90e-5462bae8d3b4"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:22:50 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315/operationresults/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "9c21fdb3-9d5c-444a-9be8-cae8fa198c62_M2_M2"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315/operationresults/HydraNH-Namespace7315?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14992"
+ ],
+ "x-ms-correlation-request-id": [
+ "8e8198d2-6d85-446b-913f-874c36e961dd"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042251Z:8e8198d2-6d85-446b-913f-874c36e961dd"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:22:50 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9856/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315/operationresults/HydraNH-Namespace7315?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzk4NTYvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3MzE1P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7315' under resource group 'NotificationHub-RG9856' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "6101aead-c050-446a-8d88-4d5830007579"
+ ],
+ "x-ms-correlation-request-id": [
+ "6101aead-c050-446a-8d88-4d5830007579"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042351Z:6101aead-c050-446a-8d88-4d5830007579"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:23:51 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "NamespaceCreateGetUpdateDelete": [
+ "NotificationHub-RG9856",
+ "HydraNH-Namespace7315",
+ "HydraNH-Namespace7557"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2"
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDeleteAuthorizationRules.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDeleteAuthorizationRules.json
new file mode 100644
index 000000000000..639b9587502e
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NamespaceCreateGetUpdateDeleteAuthorizationRules.json
@@ -0,0 +1,957 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3310\",\r\n \"name\": \"NotificationHub-RG3310\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Deleting\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22730"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-request-id": [
+ "9d82f40f-0516-449b-b27f-1b79aaaee035"
+ ],
+ "x-ms-correlation-request-id": [
+ "9d82f40f-0516-449b-b27f-1b79aaaee035"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043131Z:9d82f40f-0516-449b-b27f-1b79aaaee035"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:30 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG1562?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjI/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562\",\r\n \"name\": \"NotificationHub-RG1562\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "205"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-request-id": [
+ "9c0f16ea-d619-446f-b0da-39010e5211d5"
+ ],
+ "x-ms-correlation-request-id": [
+ "9c0f16ea-d619-446f-b0da-39010e5211d5"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043131Z:9c0f16ea-d619-446f-b0da-39010e5211d5"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:31 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace7379\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "37e55a70-05b3-4354-9700-011a9ea9ccce_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "c484d8b3-22bf-4f15-b3f8-b0dff78be43a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043136Z:c484d8b3-22bf-4f15-b3f8-b0dff78be43a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:35 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379\",\r\n \"name\": \"HydraNH-Namespace7379\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7379\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:31:35.72Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7379.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:31:39.48Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1562\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "728"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "80841b35-59df-4d3a-bf35-8e5fd1a53bf2_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "f21f07da-a36f-43eb-b6aa-970ac682d06b"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043141Z:f21f07da-a36f-43eb-b6aa-970ac682d06b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:40 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379\",\r\n \"name\": \"HydraNH-Namespace7379\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace7379\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:31:35.72Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace7379.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:31:39.48Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1562\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "728"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "511e0ed8-1b36-43bc-8996-366351335169_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "2b408ec1-38a6-43e8-9afe-afcee87edcd1"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043141Z:2b408ec1-38a6-43e8-9afe-afcee87edcd1"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:40 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"properties\": {\r\n \"primaryKey\": \"IR4qH02MB2yXjlekt5fhlgMR9YAoMsXHTkUqarUkATU=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\",\r\n \"revision\": 0\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "485"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029\",\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"primaryKey\": \"IR4qH02MB2yXjlekt5fhlgMR9YAoMsXHTkUqarUkATU=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "657"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "32e36dc1-9bb8-4886-bc16-912d219e8c38_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "30dc75b1-1c19-4015-a69e-71b62c43741a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043142Z:30dc75b1-1c19-4015-a69e-71b62c43741a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:41 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"properties\": {\r\n \"primaryKey\": \"QjK03Fj1WDk3er8i83EW/5SjeySZ8XBFdM2to/4CxDQ=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\",\r\n \"revision\": 0\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "434"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029\",\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"primaryKey\": \"QjK03Fj1WDk3er8i83EW/5SjeySZ8XBFdM2to/4CxDQ=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"2015-08-13T04:31:46.8561291Z\",\r\n \"revision\": 1\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "671"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "90afe297-7eba-4d03-b00a-9226027845fd_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1194"
+ ],
+ "x-ms-correlation-request-id": [
+ "55776de1-3c5a-4bc2-9412-022cf610fc5b"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043147Z:55776de1-3c5a-4bc2-9412-022cf610fc5b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:46 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/RootManageSharedAccessKey?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9Sb290TWFuYWdlU2hhcmVkQWNjZXNzS2V5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/RootManageSharedAccessKey\",\r\n \"name\": \"RootManageSharedAccessKey\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"RootManageSharedAccessKey\",\r\n \"primaryKey\": \"FZ9yUTA1JUGOAsAZM5juhjups+PA2aTOmdimykF2TLc=\",\r\n \"secondaryKey\": \"AKNs0M1djXzHcRnmCR8CgfghG0MO0ObsYY3Ebh7mX98=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Manage\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"2015-08-13T04:31:42.3717513Z\",\r\n \"modifiedTime\": \"2015-08-13T04:31:42.3717513Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "694"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "56db2079-8144-4454-8287-3d9b6562e405_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1197"
+ ],
+ "x-ms-correlation-request-id": [
+ "5f1e2345-0032-4bd4-9b7e-19b5f6ad705e"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043143Z:5f1e2345-0032-4bd4-9b7e-19b5f6ad705e"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:43 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029\",\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"primaryKey\": \"IR4qH02MB2yXjlekt5fhlgMR9YAoMsXHTkUqarUkATU=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "657"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "71ff9851-42a7-4ad5-98b2-cb3fb04e6efa_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1196"
+ ],
+ "x-ms-correlation-request-id": [
+ "645253d7-f1f4-4b9d-8ea5-dd41e1e27a7a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043145Z:645253d7-f1f4-4b9d-8ea5-dd41e1e27a7a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:45 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029\",\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"primaryKey\": \"QjK03Fj1WDk3er8i83EW/5SjeySZ8XBFdM2to/4CxDQ=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"2015-08-13T04:31:46.8561291Z\",\r\n \"revision\": 1\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "671"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "aac22d9f-b4f5-4877-934c-8f216bfc3727_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1193"
+ ],
+ "x-ms-correlation-request-id": [
+ "ee6ee6f2-170c-4816-86d7-9e0c7c08a319"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043147Z:ee6ee6f2-170c-4816-86d7-9e0c7c08a319"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:47 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"message\": \"\",\r\n \"code\": \"NotFound\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "42"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "f0c55d13-c868-46fb-a1e6-3135524637fb_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1190"
+ ],
+ "x-ms-correlation-request-id": [
+ "fef21eba-7ee3-423e-8ea3-a3df1fbf1407"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043154Z:fef21eba-7ee3-423e-8ea3-a3df1fbf1407"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:54 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/RootManageSharedAccessKey\",\r\n \"name\": \"RootManageSharedAccessKey\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"RootManageSharedAccessKey\",\r\n \"primaryKey\": \"FZ9yUTA1JUGOAsAZM5juhjups+PA2aTOmdimykF2TLc=\",\r\n \"secondaryKey\": \"AKNs0M1djXzHcRnmCR8CgfghG0MO0ObsYY3Ebh7mX98=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Manage\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"2015-08-13T04:31:42.3717513Z\",\r\n \"modifiedTime\": \"2015-08-13T04:31:42.3717513Z\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029\",\r\n \"name\": \"HydraNH-Authrules4029\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules4029\",\r\n \"primaryKey\": \"IR4qH02MB2yXjlekt5fhlgMR9YAoMsXHTkUqarUkATU=\",\r\n \"secondaryKey\": \"aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "1380"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "99ba93e4-667d-4fb2-aee2-b1b3fbeba965_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1195"
+ ],
+ "x-ms-correlation-request-id": [
+ "bf56f0a0-1b84-4642-9c26-eb42e3f0f58a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043146Z:bf56f0a0-1b84-4642-9c26-eb42e3f0f58a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:46 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029/listKeys?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjkvbGlzdEtleXM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"primaryConnectionString\": \"Endpoint=sb://hydranh-namespace7379.servicebus.windows.net/;SharedAccessKeyName=HydraNH-Authrules4029;SharedAccessKey=QjK03Fj1WDk3er8i83EW/5SjeySZ8XBFdM2to/4CxDQ=\",\r\n \"secondaryConnectionString\": \"Endpoint=sb://hydranh-namespace7379.servicebus.windows.net/;SharedAccessKeyName=HydraNH-Authrules4029;SharedAccessKey=aVpieJX6Ot7PUnC9N4wUAWbpB6wfX+s893SwXW9WCeQ=\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "385"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "fdf5011f-0dd9-421f-ae04-93baa7032250_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1192"
+ ],
+ "x-ms-correlation-request-id": [
+ "0978f8fc-a1ab-4c12-9c2c-a2e9ecc68cf1"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043148Z:0978f8fc-a1ab-4c12-9c2c-a2e9ecc68cf1"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:48 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/AuthorizationRules/HydraNH-Authrules4029?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczQwMjk/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "0494872e-0ee6-4003-af6a-753b7831399a_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1191"
+ ],
+ "x-ms-correlation-request-id": [
+ "6524ebd7-704f-40e1-a639-02099e3044cd"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043149Z:6524ebd7-704f-40e1-a639-02099e3044cd"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:49 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "85ece66f-b38c-4460-adfb-6297fd65332f_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/operationresults/HydraNH-Namespace7379?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1189"
+ ],
+ "x-ms-correlation-request-id": [
+ "2de758c0-50f5-418f-9585-fad42cc28f47"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043155Z:2de758c0-50f5-418f-9585-fad42cc28f47"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:55 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/operationresults/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "8e05bf3c-8611-4ef6-bb75-d2bfd71797f1_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/operationresults/HydraNH-Namespace7379?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-correlation-request-id": [
+ "eec7670a-e381-4344-8b68-6e382abd5e28"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043155Z:eec7670a-e381-4344-8b68-6e382abd5e28"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:31:55 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1562/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379/operationresults/HydraNH-Namespace7379?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE1NjIvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U3Mzc5P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace7379' under resource group 'NotificationHub-RG1562' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "b7bcd83b-2011-4e23-9a9b-b1fe4014de93"
+ ],
+ "x-ms-correlation-request-id": [
+ "b7bcd83b-2011-4e23-9a9b-b1fe4014de93"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043255Z:b7bcd83b-2011-4e23-9a9b-b1fe4014de93"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:32:54 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "NamespaceCreateGetUpdateDeleteAuthorizationRules": [
+ "NotificationHub-RG1562",
+ "HydraNH-Namespace7379",
+ "HydraNH-Authrules4029"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2",
+ "CreatePrimaryKey": "IR4qH02MB2yXjlekt5fhlgMR9YAoMsXHTkUqarUkATU=",
+ "UpdatePrimaryKey": "QjK03Fj1WDk3er8i83EW/5SjeySZ8XBFdM2to/4CxDQ="
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDelete.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDelete.json
new file mode 100644
index 000000000000..5c2b66c4dd88
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDelete.json
@@ -0,0 +1,844 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22525"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14990"
+ ],
+ "x-ms-request-id": [
+ "01de0715-3d78-44dd-95d6-769c9fd0f057"
+ ],
+ "x-ms-correlation-request-id": [
+ "01de0715-3d78-44dd-95d6-769c9fd0f057"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043330Z:01de0715-3d78-44dd-95d6-769c9fd0f057"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:33:30 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG3424?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQ/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424\",\r\n \"name\": \"NotificationHub-RG3424\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "205"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1194"
+ ],
+ "x-ms-request-id": [
+ "6ddaf36c-35a2-46b1-8e4a-170ebf847d79"
+ ],
+ "x-ms-correlation-request-id": [
+ "6ddaf36c-35a2-46b1-8e4a-170ebf847d79"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043330Z:6ddaf36c-35a2-46b1-8e4a-170ebf847d79"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:33:30 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace6178\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "c246876e-b8f4-440c-91ff-c1ab996c7726_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "63fe1065-8e83-47c4-9141-ecc132911979"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043335Z:63fe1065-8e83-47c4-9141-ecc132911979"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:33:34 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178\",\r\n \"name\": \"HydraNH-Namespace6178\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace6178\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:33:34.953Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace6178.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:33:40.01Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG3424\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "729"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "1483d713-50d6-4502-8223-9e02ca7b3aae_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "2e72d99f-9481-44ba-941c-230fb7d0f506"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043405Z:2e72d99f-9481-44ba-941c-230fb7d0f506"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:04 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"authorizationRules\": []\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "108"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "122"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "5a7dd2c5-642c-4260-b481-9f66d4c4fcc0_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "44761a42-7d18-4cf5-8deb-b9d28fc31116"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043407Z:44761a42-7d18-4cf5-8deb-b9d28fc31116"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:06 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\"\r\n },\r\n \"properties\": {\r\n \"authorizationRules\": [],\r\n \"wnsCredential\": {\r\n \"properties\": {\r\n \"packageSid\": \"ms-app://s-1-15-2-1817505189-427745171-3213743798-2985869298-800724128-1004923984-4143860699\",\r\n \"secretKey\": \"w7TBprR-9tJxn9mUOdK4PPHLCAzSYFhp\",\r\n \"windowsLiveEndpoint\": \"http://pushtestservice.cloudapp.net/LiveID/accesstoken.srf\"\r\n }\r\n }\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "514"
+ ],
+ "if-match": [
+ "*"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\"\r\n },\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "169"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "ff8562b9-9a56-4604-be66-ba2b5174a519_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1197"
+ ],
+ "x-ms-correlation-request-id": [
+ "d27bf537-c21a-4756-b60c-d84fabb7d3b9"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043408Z:d27bf537-c21a-4756-b60c-d84fabb7d3b9"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:07 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520\",\r\n \"name\": \"HydraNH-NotificationHub8809azsmnet1520\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\",\r\n \"authorizationRules\": []\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "447"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "66a9cc44-bc56-4122-b5dc-a0a513fac7b5_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "b0c306aa-fb78-48d2-b231-54040fe5d8d7"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043407Z:b0c306aa-fb78-48d2-b231-54040fe5d8d7"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:06 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520\",\r\n \"name\": \"HydraNH-NotificationHub8809azsmnet1520\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {\r\n \"tag1\": \"value1\",\r\n \"tag2\": \"value2\",\r\n \"tag3\": \"value3\"\r\n },\r\n \"properties\": {\r\n \"authorizationRules\": []\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "462"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "4c81bb93-5bf4-4c7e-9bef-fab279b52652_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14996"
+ ],
+ "x-ms-correlation-request-id": [
+ "24f04dc7-3877-4b7c-bfb7-7256b00949fe"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043438Z:24f04dc7-3877-4b7c-bfb7-7256b00949fe"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520' under resource group 'NotificationHub-RG3424' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "241"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "894be2bf-55d8-42e4-9cb5-f0732fb2a8b2"
+ ],
+ "x-ms-correlation-request-id": [
+ "894be2bf-55d8-42e4-9cb5-f0732fb2a8b2"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043509Z:894be2bf-55d8-42e4-9cb5-f0732fb2a8b2"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:35:08 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/hydranh-notificationhub8809azsmnet1520\",\r\n \"name\": \"hydranh-notificationhub8809azsmnet1520\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs\",\r\n \"location\": \"South Central US\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\",\r\n \"authorizationRules\": []\r\n }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "475"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "a618406b-4cf3-4d49-991f-12697311622f_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-correlation-request-id": [
+ "0b71d593-1fc3-47fc-945f-a4a48a6102c9"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043407Z:0b71d593-1fc3-47fc-945f-a4a48a6102c9"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:07 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520/pnsCredentials?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjAvcG5zQ3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520/pnsCredentials\",\r\n \"name\": \"HydraNH-NotificationHub8809azsmnet1520\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/pnsCredentials\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"wnsCredential\": {\r\n \"properties\": {\r\n \"packageSid\": \"ms-app://s-1-15-2-1817505189-427745171-3213743798-2985869298-800724128-1004923984-4143860699\",\r\n \"secretKey\": \"w7TBprR-9tJxn9mUOdK4PPHLCAzSYFhp\",\r\n \"windowsLiveEndpoint\": \"http://pushtestservice.cloudapp.net/LiveID/accesstoken.srf\"\r\n }\r\n }\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "680"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "d7089d4f-5e5c-40f4-b5aa-07d8f6644a19_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1196"
+ ],
+ "x-ms-correlation-request-id": [
+ "6dc5172e-0510-4b0f-806c-892361734d4a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043438Z:6dc5172e-0510-4b0f-806c-892361734d4a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/notificationHubs/HydraNH-NotificationHub8809azsmnet1520?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI4ODA5YXpzbW5ldDE1MjA/YXBpLXZlcnNpb249MjAxNC0wOS0wMQ==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "1ed79db6-5030-4242-9175-4d539c462534_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1195"
+ ],
+ "x-ms-correlation-request-id": [
+ "64eca57b-d997-4b2e-bf4c-f8344c2c1601"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043439Z:64eca57b-d997-4b2e-bf4c-f8344c2c1601"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:34:39 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "979e2165-0651-41be-ae28-da4197b3cbfa_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/operationresults/HydraNH-Namespace6178?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1194"
+ ],
+ "x-ms-correlation-request-id": [
+ "591de04f-e715-460c-8162-b96413ae0572"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043510Z:591de04f-e715-460c-8162-b96413ae0572"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:35:09 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/operationresults/HydraNH-Namespace6178?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "6e367440-ad2f-4663-a1f0-a2494fcf3f64_M0_M0"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/operationresults/HydraNH-Namespace6178?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14994"
+ ],
+ "x-ms-correlation-request-id": [
+ "23762a1a-99cc-4007-8c13-0a76bfec7d3b"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043510Z:23762a1a-99cc-4007-8c13-0a76bfec7d3b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:35:09 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3424/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178/operationresults/HydraNH-Namespace6178?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzM0MjQvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4L29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U2MTc4P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace6178' under resource group 'NotificationHub-RG3424' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "ccbf6eef-5a1a-444c-9854-d9661b7c16cd"
+ ],
+ "x-ms-correlation-request-id": [
+ "ccbf6eef-5a1a-444c-9854-d9661b7c16cd"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T043612Z:ccbf6eef-5a1a-444c-9854-d9661b7c16cd"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:36:12 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "NotificationHubCreateGetUpdateDelete": [
+ "NotificationHub-RG3424",
+ "HydraNH-Namespace6178"
+ ],
+ "CreateNotificationHubs": [
+ "HydraNH-NotificationHub8809",
+ "azsmnet1520"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2"
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDeleteAuthorizationRules.json b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDeleteAuthorizationRules.json
new file mode 100644
index 000000000000..41bf82cd6ece
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/SessionRecords/ScenarioTests/NotificationHubCreateGetUpdateDeleteAuthorizationRules.json
@@ -0,0 +1,964 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/aftest\",\r\n \"name\": \"aftest\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Api-Default-North-Central-US\",\r\n \"name\": \"Api-Default-North-Central-US\",\r\n \"location\": \"northcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/capptaintestvm\",\r\n \"name\": \"capptaintestvm\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-BizTalk-West-US\",\r\n \"name\": \"Default-BizTalk-West-US\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-SouthCentralUS\",\r\n \"name\": \"Default-SQL-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-SQL-WestUS\",\r\n \"name\": \"Default-SQL-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastAsia\",\r\n \"name\": \"Default-Storage-EastAsia\",\r\n \"location\": \"eastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-EastUS\",\r\n \"name\": \"Default-Storage-EastUS\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-SouthCentralUS\",\r\n \"name\": \"Default-Storage-SouthCentralUS\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Storage-WestUS\",\r\n \"name\": \"Default-Storage-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/Default-Web-WestUS\",\r\n \"name\": \"Default-Web-WestUS\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/MobileEngagement\",\r\n \"name\": \"MobileEngagement\",\r\n \"location\": \"centralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1024\",\r\n \"name\": \"NotificationHub-RG1024\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG1098\",\r\n \"name\": \"NotificationHub-RG1098\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG114\",\r\n \"name\": \"NotificationHub-RG114\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1151\",\r\n \"name\": \"NotificationHub-RG1151\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1292\",\r\n \"name\": \"NotificationHub-RG1292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1341\",\r\n \"name\": \"NotificationHub-RG1341\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1571\",\r\n \"name\": \"NotificationHub-RG1571\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1763\",\r\n \"name\": \"NotificationHub-RG1763\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2082\",\r\n \"name\": \"NotificationHub-RG2082\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2239\",\r\n \"name\": \"NotificationHub-RG2239\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2250\",\r\n \"name\": \"NotificationHub-RG2250\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2320\",\r\n \"name\": \"NotificationHub-RG2320\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2329\",\r\n \"name\": \"NotificationHub-RG2329\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2402\",\r\n \"name\": \"NotificationHub-RG2402\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2487\",\r\n \"name\": \"NotificationHub-RG2487\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2608\",\r\n \"name\": \"NotificationHub-RG2608\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2740\",\r\n \"name\": \"NotificationHub-RG2740\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2766\",\r\n \"name\": \"NotificationHub-RG2766\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2780\",\r\n \"name\": \"NotificationHub-RG2780\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG287\",\r\n \"name\": \"NotificationHub-RG287\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2900\",\r\n \"name\": \"NotificationHub-RG2900\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG2906\",\r\n \"name\": \"NotificationHub-RG2906\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3062\",\r\n \"name\": \"NotificationHub-RG3062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3096\",\r\n \"name\": \"NotificationHub-RG3096\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3293\",\r\n \"name\": \"NotificationHub-RG3293\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3366\",\r\n \"name\": \"NotificationHub-RG3366\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3499\",\r\n \"name\": \"NotificationHub-RG3499\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3605\",\r\n \"name\": \"NotificationHub-RG3605\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3653\",\r\n \"name\": \"NotificationHub-RG3653\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3662\",\r\n \"name\": \"NotificationHub-RG3662\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3689\",\r\n \"name\": \"NotificationHub-RG3689\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3777\",\r\n \"name\": \"NotificationHub-RG3777\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3800\",\r\n \"name\": \"NotificationHub-RG3800\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3832\",\r\n \"name\": \"NotificationHub-RG3832\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3856\",\r\n \"name\": \"NotificationHub-RG3856\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3857\",\r\n \"name\": \"NotificationHub-RG3857\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG3933\",\r\n \"name\": \"NotificationHub-RG3933\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4225\",\r\n \"name\": \"NotificationHub-RG4225\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4301\",\r\n \"name\": \"NotificationHub-RG4301\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4373\",\r\n \"name\": \"NotificationHub-RG4373\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4393\",\r\n \"name\": \"NotificationHub-RG4393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4794\",\r\n \"name\": \"NotificationHub-RG4794\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG4941\",\r\n \"name\": \"NotificationHub-RG4941\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG500\",\r\n \"name\": \"NotificationHub-RG500\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG502\",\r\n \"name\": \"NotificationHub-RG502\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5215\",\r\n \"name\": \"NotificationHub-RG5215\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5307\",\r\n \"name\": \"NotificationHub-RG5307\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5332\",\r\n \"name\": \"NotificationHub-RG5332\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5471\",\r\n \"name\": \"NotificationHub-RG5471\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5492\",\r\n \"name\": \"NotificationHub-RG5492\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5828\",\r\n \"name\": \"NotificationHub-RG5828\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5836\",\r\n \"name\": \"NotificationHub-RG5836\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG5915\",\r\n \"name\": \"NotificationHub-RG5915\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6304\",\r\n \"name\": \"NotificationHub-RG6304\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6393\",\r\n \"name\": \"NotificationHub-RG6393\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6401\",\r\n \"name\": \"NotificationHub-RG6401\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6456\",\r\n \"name\": \"NotificationHub-RG6456\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6513\",\r\n \"name\": \"NotificationHub-RG6513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6515\",\r\n \"name\": \"NotificationHub-RG6515\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6550\",\r\n \"name\": \"NotificationHub-RG6550\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG682\",\r\n \"name\": \"NotificationHub-RG682\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG6885\",\r\n \"name\": \"NotificationHub-RG6885\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7028\",\r\n \"name\": \"NotificationHub-RG7028\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7053\",\r\n \"name\": \"NotificationHub-RG7053\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7176\",\r\n \"name\": \"NotificationHub-RG7176\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7444\",\r\n \"name\": \"NotificationHub-RG7444\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7453\",\r\n \"name\": \"NotificationHub-RG7453\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7709\",\r\n \"name\": \"NotificationHub-RG7709\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7714\",\r\n \"name\": \"NotificationHub-RG7714\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7797\",\r\n \"name\": \"NotificationHub-RG7797\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG7806\",\r\n \"name\": \"NotificationHub-RG7806\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8062\",\r\n \"name\": \"NotificationHub-RG8062\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8139\",\r\n \"name\": \"NotificationHub-RG8139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8221\",\r\n \"name\": \"NotificationHub-RG8221\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8245\",\r\n \"name\": \"NotificationHub-RG8245\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8335\",\r\n \"name\": \"NotificationHub-RG8335\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8399\",\r\n \"name\": \"NotificationHub-RG8399\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc40474c69acd5301072ff1fc2/resourceGroups/NotificationHub-RG8421\",\r\n \"name\": \"NotificationHub-RG8421\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8513\",\r\n \"name\": \"NotificationHub-RG8513\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8564\",\r\n \"name\": \"NotificationHub-RG8564\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8761\",\r\n \"name\": \"NotificationHub-RG8761\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG882\",\r\n \"name\": \"NotificationHub-RG882\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG8946\",\r\n \"name\": \"NotificationHub-RG8946\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9105\",\r\n \"name\": \"NotificationHub-RG9105\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9139\",\r\n \"name\": \"NotificationHub-RG9139\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9144\",\r\n \"name\": \"NotificationHub-RG9144\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9226\",\r\n \"name\": \"NotificationHub-RG9226\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9292\",\r\n \"name\": \"NotificationHub-RG9292\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9638\",\r\n \"name\": \"NotificationHub-RG9638\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9696\",\r\n \"name\": \"NotificationHub-RG9696\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9697\",\r\n \"name\": \"NotificationHub-RG9697\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9698\",\r\n \"name\": \"NotificationHub-RG9698\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9754\",\r\n \"name\": \"NotificationHub-RG9754\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9868\",\r\n \"name\": \"NotificationHub-RG9868\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG9939\",\r\n \"name\": \"NotificationHub-RG9939\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/PushNotification\",\r\n \"name\": \"PushNotification\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/TestRG-123\",\r\n \"name\": \"TestRG-123\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"test\": \"namespace\",\r\n \"notification\": \"hub\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/ubikod\",\r\n \"name\": \"ubikod\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "22525"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-request-id": [
+ "80cb994e-ddab-4827-a091-0222aa16b043"
+ ],
+ "x-ms-correlation-request-id": [
+ "80cb994e-ddab-4827-a091-0222aa16b043"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042648Z:80cb994e-ddab-4827-a091-0222aa16b043"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:26:47 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourcegroups/NotificationHub-RG1655?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlZ3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTU/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "38"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655\",\r\n \"name\": \"NotificationHub-RG1655\",\r\n \"location\": \"southcentralus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "205"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-request-id": [
+ "ec66deee-6593-4c27-9ae7-3203f37c9bac"
+ ],
+ "x-ms-correlation-request-id": [
+ "ec66deee-6593-4c27-9ae7-3203f37c9bac"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042649Z:ec66deee-6593-4c27-9ae7-3203f37c9bac"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:26:48 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {\r\n \"createdAt\": \"0001-01-01T00:00:00\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "191"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Activating\",\r\n \"name\": \"HydraNH-Namespace9541\",\r\n \"region\": \"South Central US\",\r\n \"enabled\": false,\r\n \"critical\": false,\r\n \"namespaceType\": \"NotificationHub\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "251"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "df9511c0-7e4b-4596-bbbb-7d61e3ae77ef_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "2dcda7df-c7eb-49d5-8a34-1a5cacefd88d"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042654Z:2dcda7df-c7eb-49d5-8a34-1a5cacefd88d"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:26:53 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541\",\r\n \"name\": \"HydraNH-Namespace9541\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9541\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:26:54.053Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9541.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:26:57.13Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1655\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "729"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "b91de4b6-47bd-4707-af6a-e693f620ea2e_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "8c777828-509b-4cc7-ba01-6ca5e0e319c9"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042724Z:8c777828-509b-4cc7-ba01-6ca5e0e319c9"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:24 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541\",\r\n \"name\": \"HydraNH-Namespace9541\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces\",\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"name\": \"HydraNH-Namespace9541\",\r\n \"region\": \"South Central US\",\r\n \"status\": \"Active\",\r\n \"createdAt\": \"2015-08-13T04:26:54.053Z\",\r\n \"serviceBusEndpoint\": \"https://HydraNH-Namespace9541.servicebus.windows.net:443/\",\r\n \"subscriptionId\": \"111c36dc40474c69acd5301072ff1fc2\",\r\n \"enabled\": true,\r\n \"critical\": false,\r\n \"updatedAt\": \"2015-08-13T04:26:57.13Z\",\r\n \"namespaceType\": \"NotificationHub\",\r\n \"resourceGroup\": \"NotificationHub-RG1655\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "729"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "6de25a51-785b-450d-8223-c6bb8fb98417_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-correlation-request-id": [
+ "fd3a5958-f17a-4aa5-be0d-f25d9b4bcaa2"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042724Z:fd3a5958-f17a-4aa5-be0d-f25d9b4bcaa2"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:24 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3P2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"South Central US\",\r\n \"properties\": {}\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "59"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": null,\r\n \"name\": null,\r\n \"type\": null,\r\n \"location\": \"South Central US\",\r\n \"tags\": null,\r\n \"properties\": {\r\n \"registrationTtl\": \"90.00:00:00\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "124"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "ef4b0acd-88c6-4c5e-aa98-276b737ea060_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1197"
+ ],
+ "x-ms-correlation-request-id": [
+ "8e107264-424a-4d15-8c85-cc8b11d354af"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042726Z:8e107264-424a-4d15-8c85-cc8b11d354af"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:26 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"properties\": {\r\n \"primaryKey\": \"jqmFtmi+35gNMy1DbWRNNO3rfIsc8PsP+gqcvPM3MvY=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\",\r\n \"revision\": 0\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "483"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356\",\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"primaryKey\": \"jqmFtmi+35gNMy1DbWRNNO3rfIsc8PsP+gqcvPM3MvY=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "716"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "cb0ab8fe-3f4d-4e10-a0cb-04aba00c9e44_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1196"
+ ],
+ "x-ms-correlation-request-id": [
+ "4cc90fad-73c6-4a17-ae92-76bc8f60a5cf"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042727Z:4cc90fad-73c6-4a17-ae92-76bc8f60a5cf"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:26 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"properties\": {\r\n \"primaryKey\": \"eP9Nv8dnXXjvm7i58zq69yHIDzSEqfhbd0pjIr66xNc=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\",\r\n \"revision\": 0\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json"
+ ],
+ "Content-Length": [
+ "433"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356\",\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"primaryKey\": \"eP9Nv8dnXXjvm7i58zq69yHIDzSEqfhbd0pjIr66xNc=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "709"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "e93a8dc0-881c-4861-a3e9-d13703ca7360_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1193"
+ ],
+ "x-ms-correlation-request-id": [
+ "b176a315-58f4-499f-bea8-1ba9ae4cde65"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042733Z:b176a315-58f4-499f-bea8-1ba9ae4cde65"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:32 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356\",\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"primaryKey\": \"jqmFtmi+35gNMy1DbWRNNO3rfIsc8PsP+gqcvPM3MvY=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "716"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "0c55d383-8c9f-4dc2-b007-04183ca6ef9c_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1195"
+ ],
+ "x-ms-correlation-request-id": [
+ "619d5fd7-3a86-42ae-baf0-2b8eae669bf8"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042732Z:619d5fd7-3a86-42ae-baf0-2b8eae669bf8"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:32 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356\",\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"primaryKey\": \"eP9Nv8dnXXjvm7i58zq69yHIDzSEqfhbd0pjIr66xNc=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "709"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "1e56535a-3c5c-4a0c-a169-c498c027bb05_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1192"
+ ],
+ "x-ms-correlation-request-id": [
+ "c6ed069f-ad73-4b62-9ae5-d71a77be8031"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042738Z:c6ed069f-ad73-4b62-9ae5-d71a77be8031"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"message\": \"\",\r\n \"code\": \"NotFound\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "42"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "440849f6-388e-4ebf-bd65-d3ee864d15c8_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1189"
+ ],
+ "x-ms-correlation-request-id": [
+ "94913dfc-0d64-4478-ab67-c16d175bcd9a"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042744Z:94913dfc-0d64-4478-ab67-c16d175bcd9a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:43 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/DefaultListenSharedAccessSignature\",\r\n \"name\": \"DefaultListenSharedAccessSignature\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"DefaultListenSharedAccessSignature\",\r\n \"primaryKey\": \"sWe6rso/B8cKpTMkKsND+00rtV7KXgMzjfGKhbrXZfc=\",\r\n \"secondaryKey\": \"ggS0Gsg6+X+XXlyHy9RYEIJMX6TZKZ88l0hKGFPcGU0=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\"\r\n ],\r\n \"createdTime\": \"2015-08-13T04:27:25.6320283Z\",\r\n \"modifiedTime\": \"2015-08-13T04:27:25.6320283Z\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/DefaultFullSharedAccessSignature\",\r\n \"name\": \"DefaultFullSharedAccessSignature\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"DefaultFullSharedAccessSignature\",\r\n \"primaryKey\": \"tmAC4H7QBrQiuZISHeqBQbXZgo/cYwYp8gr5JcxB0Vw=\",\r\n \"secondaryKey\": \"177GA5aGLSwfsZi7JhA5NjfYPAh9B3WzYDu5+excWKA=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Manage\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"2015-08-13T04:27:25.6320283Z\",\r\n \"modifiedTime\": \"2015-08-13T04:27:25.6320283Z\"\r\n }\r\n },\r\n {\r\n \"id\": \"/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356\",\r\n \"name\": \"HydraNH-Authrules356\",\r\n \"type\": \"Microsoft.NotificationHubs/namespaces/notificationHubs/authorizationRules\",\r\n \"location\": null,\r\n \"tags\": null,\r\n \"properties\": {\r\n \"keyName\": \"HydraNH-Authrules356\",\r\n \"primaryKey\": \"jqmFtmi+35gNMy1DbWRNNO3rfIsc8PsP+gqcvPM3MvY=\",\r\n \"secondaryKey\": \"S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\",\r\n \"claimType\": \"SharedAccessKey\",\r\n \"claimValue\": \"None\",\r\n \"rights\": [\r\n \"Listen\",\r\n \"Send\"\r\n ],\r\n \"createdTime\": \"0001-01-01T08:00:00Z\",\r\n \"modifiedTime\": \"0001-01-01T08:00:00Z\"\r\n }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "2290"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "876ad722-251d-4aad-b2aa-03db1e7bda7f_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1194"
+ ],
+ "x-ms-correlation-request-id": [
+ "eb6b3532-1b10-4b1e-98af-a732c565f539"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042733Z:eb6b3532-1b10-4b1e-98af-a732c565f539"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:32 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356/listKeys?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Ni9saXN0S2V5cz9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"primaryConnectionString\": \"Endpoint=sb://hydranh-namespace9541.servicebus.windows.net/;SharedAccessKeyName=HydraNH-Authrules356;SharedAccessKey=eP9Nv8dnXXjvm7i58zq69yHIDzSEqfhbd0pjIr66xNc=\",\r\n \"secondaryConnectionString\": \"Endpoint=sb://hydranh-namespace9541.servicebus.windows.net/;SharedAccessKeyName=HydraNH-Authrules356;SharedAccessKey=S+AJhCmClcTSEq9z3KzraBE1aBCnOI90HE6BxHukJgY=\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "383"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "d22fdecb-e856-41b9-9c38-e719fcd7105f_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1191"
+ ],
+ "x-ms-correlation-request-id": [
+ "b9ad8891-6da7-4cd3-83e0-8d3116b53c49"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042738Z:b9ad8891-6da7-4cd3-83e0-8d3116b53c49"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/notificationHubs/HydraNH-NotificationHub7677/AuthorizationRules/HydraNH-Authrules356?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL25vdGlmaWNhdGlvbkh1YnMvSHlkcmFOSC1Ob3RpZmljYXRpb25IdWI3Njc3L0F1dGhvcml6YXRpb25SdWxlcy9IeWRyYU5ILUF1dGhydWxlczM1Nj9hcGktdmVyc2lvbj0yMDE0LTA5LTAx",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "e768f9cb-3a6d-43e4-946f-b9a4b1a2e334_M1_M1"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1190"
+ ],
+ "x-ms-correlation-request-id": [
+ "b2cf2f9b-a6e1-4d1d-9a0a-e31ec4ca4917"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042739Z:b2cf2f9b-a6e1-4d1d-9a0a-e31ec4ca4917"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "39658aca-a99e-419c-b178-8c8e6cffb633_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/operationresults/HydraNH-Namespace9541?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1188"
+ ],
+ "x-ms-correlation-request-id": [
+ "372044b7-878b-475d-a5ae-a2b77798f2e3"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042744Z:372044b7-878b-475d-a5ae-a2b77798f2e3"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:43 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/operationresults/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "7b782e7d-dddf-47ed-a70c-777a1e96c8b0_M3_M3"
+ ],
+ "Server-SB": [
+ "Service-Bus-Resource-Provider/SN1"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/operationresults/HydraNH-Namespace9541?api-version=2014-09-01"
+ ],
+ "Server": [
+ "Service-Bus-Resource-Provider/SN1",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14996"
+ ],
+ "x-ms-correlation-request-id": [
+ "2fbbbba9-2156-4f94-9498-0840eb8044e5"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042744Z:2fbbbba9-2156-4f94-9498-0840eb8044e5"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:27:43 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/111c36dc-4047-4c69-acd5-301072ff1fc2/resourceGroups/NotificationHub-RG1655/providers/Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541/operationresults/HydraNH-Namespace9541?api-version=2014-09-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMTExYzM2ZGMtNDA0Ny00YzY5LWFjZDUtMzAxMDcyZmYxZmMyL3Jlc291cmNlR3JvdXBzL05vdGlmaWNhdGlvbkh1Yi1SRzE2NTUvcHJvdmlkZXJzL01pY3Jvc29mdC5Ob3RpZmljYXRpb25IdWJzL25hbWVzcGFjZXMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxL29wZXJhdGlvbnJlc3VsdHMvSHlkcmFOSC1OYW1lc3BhY2U5NTQxP2FwaS12ZXJzaW9uPTIwMTQtMDktMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-09-01"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient/0.9.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.NotificationHubs/namespaces/HydraNH-Namespace9541' under resource group 'NotificationHub-RG1655' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "185"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "96e4ffb8-4d7e-4710-afa4-dd3dcc84152f"
+ ],
+ "x-ms-correlation-request-id": [
+ "96e4ffb8-4d7e-4710-afa4-dd3dcc84152f"
+ ],
+ "x-ms-routing-request-id": [
+ "SOUTHCENTRALUS:20150813T042844Z:96e4ffb8-4d7e-4710-afa4-dd3dcc84152f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 13 Aug 2015 04:28:44 GMT"
+ ]
+ },
+ "StatusCode": 404
+ }
+ ],
+ "Names": {
+ "NotificationHubCreateGetUpdateDeleteAuthorizationRules": [
+ "NotificationHub-RG1655",
+ "HydraNH-Namespace9541",
+ "HydraNH-NotificationHub7677",
+ "HydraNH-Authrules356"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "111c36dc-4047-4c69-acd5-301072ff1fc2",
+ "CreatePrimaryKey": "jqmFtmi+35gNMy1DbWRNNO3rfIsc8PsP+gqcvPM3MvY=",
+ "UpdatePrimaryKey": "eP9Nv8dnXXjvm7i58zq69yHIDzSEqfhbd0pjIr66xNc="
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/NotificationHubsManagementHelper.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/NotificationHubsManagementHelper.cs
new file mode 100644
index 000000000000..570afe133616
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/NotificationHubsManagementHelper.cs
@@ -0,0 +1,225 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+namespace NotificationHubs.Tests.TestHelper
+{
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using Microsoft.Azure;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Management.Resources.Models;
+ using Microsoft.Azure.Test;
+ using Microsoft.Azure.Test.HttpRecorder;
+ using Microsoft.IdentityModel.Clients.ActiveDirectory;
+ using Microsoft.WindowsAzure.Management;
+ using System.Security.Cryptography;
+ using Newtonsoft.Json;
+ using System.Threading.Tasks;
+ using Newtonsoft.Json.Serialization;
+ using Newtonsoft.Json.Converters;
+
+ public static class NotificationHubsManagementHelper
+ {
+ internal const string DefaultLocation = "South Central US";
+ internal const string ResourceGroupPrefix = "NotificationHub-RG";
+ internal const string NamespacePrefix = "HydraNH-Namespace";
+ internal const string NotificationHubPrefix = "HydraNH-NotificationHub";
+ internal const string AuthorizationRulesPrefix = "HydraNH-Authrules";
+ internal const string DefaultNamespaceAuthorizationRule = "RootManageSharedAccessKey";
+
+ public static NotificationHubsManagementClient GetNotificationHubsManagementClient(RecordedDelegatingHandler handler)
+ {
+ return TestBase.GetServiceClient(new CSMTestEnvironmentFactory());//.WithHandler(handler);
+ }
+
+ public static ResourceManagementClient GetResourceManagementClient(RecordedDelegatingHandler handler)
+ {
+ return TestBase.GetServiceClient(new CSMTestEnvironmentFactory()).WithHandler(handler);
+ }
+
+ public static ManagementClient GetManagementClient(RecordedDelegatingHandler handler)
+ {
+ return TestBase.GetServiceClient(new CSMTestEnvironmentFactory()).WithHandler(handler);
+ }
+
+ public static void RefreshAccessToken(this NotificationHubsManagementClient notificationHubsManagementClient)
+ {
+ if (HttpMockServer.Mode == HttpRecorderMode.Playback)
+ {
+ // if it's playback then do nothing
+ return;
+ }
+
+ var testEnvironment = new CSMTestEnvironmentFactory().GetTestEnvironment();
+ var context = new AuthenticationContext(new Uri(testEnvironment.Endpoints.AADAuthUri, testEnvironment.Tenant).AbsoluteUri);
+
+ var result = context.AcquireToken("https://management.core.windows.net/", testEnvironment.ClientId, new Uri("urn:ietf:wg:oauth:2.0:oob"), PromptBehavior.Auto);
+ var newToken = context.AcquireTokenByRefreshToken(result.RefreshToken, testEnvironment.ClientId, "https://management.core.windows.net/");
+
+ ((TokenCloudCredentials)notificationHubsManagementClient.Credentials).Token = newToken.AccessToken;
+ }
+
+ private static void ThrowIfTrue(bool condition, string message)
+ {
+ if (condition)
+ {
+ throw new Exception(message);
+ }
+ }
+
+ public static void TryRegisterSubscriptionForResource(this ResourceManagementClient resourceManagementClient, string providerName = "Microsoft.NotificationHubs")
+ {
+ var reg = resourceManagementClient.Providers.Register(providerName);
+ ThrowIfTrue(reg == null, "_client.Providers.Register returned null.");
+ ThrowIfTrue(reg.StatusCode != HttpStatusCode.OK, string.Format("_client.Providers.Register returned with status code {0}", reg.StatusCode));
+
+ var resultAfterRegister = resourceManagementClient.Providers.Get(providerName);
+ ThrowIfTrue(resultAfterRegister == null, "_client.Providers.Get returned null.");
+ ThrowIfTrue(string.IsNullOrEmpty(resultAfterRegister.Provider.Id), "Provider.Id is null or empty.");
+ ThrowIfTrue(!providerName.Equals(resultAfterRegister.Provider.Namespace), string.Format("Provider name is not equal to {0}.", providerName));
+ ThrowIfTrue(ProviderRegistrationState.Registered != resultAfterRegister.Provider.RegistrationState &&
+ ProviderRegistrationState.Registering != resultAfterRegister.Provider.RegistrationState,
+ string.Format("Provider registration state was not 'Registered' or 'Registering', instead it was '{0}'", resultAfterRegister.Provider.RegistrationState));
+ ThrowIfTrue(resultAfterRegister.Provider.ResourceTypes == null || resultAfterRegister.Provider.ResourceTypes.Count == 0, "Provider.ResourceTypes is empty.");
+ ThrowIfTrue(resultAfterRegister.Provider.ResourceTypes[0].Locations == null || resultAfterRegister.Provider.ResourceTypes[0].Locations.Count == 0, "Provider.ResourceTypes[0].Locations is empty.");
+ }
+
+ public static string TryGetResourceGroup(this ResourceManagementClient resourceManagementClient, string location)
+ {
+ var resourceGroup =
+ resourceManagementClient.ResourceGroups
+ .List(new ResourceGroupListParameters()).ResourceGroups
+ .Where(group => string.IsNullOrWhiteSpace(location) || group.Location.Equals(location, StringComparison.OrdinalIgnoreCase))
+ .FirstOrDefault(group => group.Name.Contains(ResourceGroupPrefix));
+
+ return resourceGroup != null
+
+ ? resourceGroup.Name
+ : string.Empty;
+ }
+
+ public static IEnumerable GetResourceGroups(this ResourceManagementClient resourceManagementClient)
+ {
+ return resourceManagementClient.ResourceGroups.List(new ResourceGroupListParameters()).ResourceGroups;
+ }
+
+ public static void TryRegisterResourceGroup(this ResourceManagementClient resourceManagementClient, string location, string resourceGroupName)
+ {
+ resourceManagementClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup(location));
+ }
+
+ public static string TryGetLocation(this ManagementClient managementClient, string preferedLocationName = null)
+ {
+ var loc = managementClient.Locations;
+ var locList = loc.List();
+ var locc = locList.Locations;
+
+ var locations = managementClient.Locations.List().Locations;
+ if (!locations.Any())
+ {
+ return string.Empty;
+ }
+
+ var foundLocation = locations.First();
+ if (preferedLocationName == null)
+ {
+ return foundLocation.Name;
+ }
+
+ var preferedLocation = locations.FirstOrDefault(location => location.Name.Contains(preferedLocationName));
+ if (preferedLocation != null)
+ {
+ return preferedLocation.Name;
+ }
+
+ return foundLocation.Name;
+ }
+
+ public static IEnumerable GetLocations(this ManagementClient managementClient)
+ {
+ return managementClient.Locations.List().Locations.Select(location => location.Name);
+ }
+
+ public static void TryCreateNamespace(
+ this NotificationHubsManagementClient client,
+ string resourceGroupName,
+ string namespaceName,
+ string location,
+ string scaleUnit = null)
+ {
+ var namespaceParameter = new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ };
+
+ if (!string.IsNullOrEmpty(scaleUnit))
+ {
+ namespaceParameter.Properties.ScaleUnit = scaleUnit;
+ }
+
+ client.Namespaces.CreateOrUpdate(
+ resourceGroupName,
+ namespaceName, namespaceParameter
+ );
+
+ var response = client.Namespaces.Get(resourceGroupName, namespaceName);
+ ThrowIfTrue(!response.Value.Name.Equals(namespaceName), string.Format("Namespace name is not equal to {0}", namespaceName));
+ }
+
+ public static string GenerateRandomKey()
+ {
+ byte[] key256 = new byte[32];
+ using (var rngCryptoServiceProvider = new RNGCryptoServiceProvider())
+ {
+ rngCryptoServiceProvider.GetBytes(key256);
+ }
+
+ return Convert.ToBase64String(key256);
+ }
+
+ public static string ConvertObjectToJSon(T obj)
+ {
+ return ConvertObjectToJSonAsync(obj);
+ }
+
+ public static string ConvertObjectToJSonAsync(object obj)
+ {
+ if (obj != null)
+ {
+ return (Task.Factory.StartNew(() => JsonConvert.SerializeObject(obj, SerializeMediaTypeFormatterSettings))).Result;
+ }
+ return String.Empty;
+ }
+
+ private static readonly JsonSerializerSettings SerializeMediaTypeFormatterSettings = new JsonSerializerSettings
+ {
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Include,
+ ContractResolver = new CamelCasePropertyNamesContractResolver(),
+ Converters = new List
+ {
+ new StringEnumConverter { CamelCaseText = false },
+ },
+ ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor
+ };
+
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/RecordedDelegatingHandler.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/RecordedDelegatingHandler.cs
new file mode 100644
index 000000000000..8ce7988ffbf1
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/TestHelper/RecordedDelegatingHandler.cs
@@ -0,0 +1,47 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+namespace NotificationHubs.Tests.TestHelper
+{
+
+ using System;
+ using System.Net;
+ using System.Net.Http;
+ using System.Net.Http.Headers;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ public class RecordedDelegatingHandler : DelegatingHandler
+ {
+ ///
+ /// Default constructor.
+ ///
+ public RecordedDelegatingHandler()
+ {
+ }
+
+ ///
+ /// Passes the async operation to the base class
+ ///
+ /// The request to send
+ /// The cancellation token for the async operation
+ /// The async task
+ protected override async Task SendAsync(HttpRequestMessage request,
+ CancellationToken cancellationToken)
+ {
+ return await base.SendAsync(request, cancellationToken);
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUD.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUD.cs
new file mode 100644
index 000000000000..7e4fcec4a21c
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUD.cs
@@ -0,0 +1,171 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Hyak.Common;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Linq;
+ using System.Net;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void NamespaceCreateGetUpdateDelete()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "NamespaceCreateGetUpdateDelete");
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ var namespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+
+ var createNamespaceResponse = this.NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName,
+ new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties()
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ });
+
+ Assert.NotNull(createNamespaceResponse);
+ Assert.NotNull(createNamespaceResponse.Value);
+ Assert.Equal(createNamespaceResponse.Value.Properties.Name, namespaceName);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ //Get the created namespace
+ var getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ if (string.Compare(getNamespaceResponse.Value.Properties.ProvisioningState, "Succeeded", true) != 0)
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ Assert.NotNull(getNamespaceResponse);
+ Assert.NotNull(getNamespaceResponse.Value);
+ Assert.Equal("Succeeded", getNamespaceResponse.Value.Properties.ProvisioningState, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal("Active", getNamespaceResponse.Value.Properties.Status, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal(NamespaceType.NotificationHub, getNamespaceResponse.Value.Properties.NamespaceType);
+ Assert.Equal(location, getNamespaceResponse.Value.Properties.Region, StringComparer.CurrentCultureIgnoreCase);
+
+ //Get all namespaces created within a resourceGroup
+ var getAllNamespacesResponse = NotificationHubsManagementClient.Namespaces.List(resourceGroup);
+ Assert.NotNull(getAllNamespacesResponse);
+ Assert.NotNull(getAllNamespacesResponse.Value);
+ Assert.True(getAllNamespacesResponse.Value.Count >= 1);
+ Assert.True(getAllNamespacesResponse.Value.Any(ns => ns.Name == namespaceName));
+ Assert.True(getAllNamespacesResponse.Value.All(ns => ns.Id.Contains(resourceGroup)));
+
+ //Get all namespaces created within the subscription irrespective of the resourceGroup
+ getAllNamespacesResponse = NotificationHubsManagementClient.Namespaces.ListAll();
+ Assert.NotNull(getAllNamespacesResponse);
+ Assert.NotNull(getAllNamespacesResponse.Value);
+ Assert.True(getAllNamespacesResponse.Value.Count >= 1);
+ Assert.True(getAllNamespacesResponse.Value.Any(ns => ns.Name == namespaceName));
+
+ //Update namespace tags and make the namespace critical
+ var updateNamespaceParameter = new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Tags =
+ {
+ {"tag1", "value1"},
+ {"tag2", "value2"},
+ {"tag3", "value3"},
+ {"tag4", "value4"}
+ },
+
+ Properties = new NamespaceProperties()
+ };
+
+ var updateNamespaceResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName, updateNamespaceParameter);
+
+ Assert.NotNull(updateNamespaceResponse);
+ Assert.NotNull(updateNamespaceResponse.Value);
+ Assert.Equal("Active", updateNamespaceResponse.Value.Properties.ProvisioningState, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal(namespaceName, updateNamespaceResponse.Value.Properties.Name);
+ //Assert.True(updateNamespaceResponse.Value.Properties.Critical);
+ Assert.Equal(updateNamespaceResponse.Value.Tags.Count, 4);
+ foreach(var tag in updateNamespaceParameter.Tags)
+ {
+ Assert.True(updateNamespaceResponse.Value.Tags.Any(t => t.Key.Equals(tag.Key)));
+ Assert.True(updateNamespaceResponse.Value.Tags.Any(t => t.Value.Equals(tag.Value)));
+ }
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ //Get the updated namespace
+ getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ Assert.NotNull(getNamespaceResponse);
+ Assert.NotNull(getNamespaceResponse.Value);
+ Assert.Equal(NamespaceType.NotificationHub, getNamespaceResponse.Value.Properties.NamespaceType);
+ Assert.Equal(location, getNamespaceResponse.Value.Properties.Region, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal(namespaceName, getNamespaceResponse.Value.Name);
+ //Assert.True(getNamespaceResponse.Value.Properties.Critical);
+ Assert.Equal(getNamespaceResponse.Value.Tags.Count, 4);
+ foreach (var tag in updateNamespaceParameter.Tags)
+ {
+ Assert.True(getNamespaceResponse.Value.Tags.Any(t => t.Key.Equals(tag.Key)));
+ Assert.True(getNamespaceResponse.Value.Tags.Any(t => t.Value.Equals(tag.Value)));
+ }
+
+
+ //create Namespace 2
+ var namespaceName2 = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+
+ var createNamespaceResponse2 = this.NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName2,
+ new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties()
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ });
+
+ Assert.NotNull(createNamespaceResponse2);
+ Assert.NotNull(createNamespaceResponse2.Value);
+ Assert.Equal(createNamespaceResponse2.Value.Properties.Name, namespaceName2);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(10));
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, namespaceName2);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+
+ deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, namespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUDAuthorizationRules.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUDAuthorizationRules.cs
new file mode 100644
index 000000000000..dd101b2a3379
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CRUDAuthorizationRules.cs
@@ -0,0 +1,209 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Hyak.Common;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.Azure.Test.HttpRecorder;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Threading.Tasks;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void NamespaceCreateGetUpdateDeleteAuthorizationRules()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "NamespaceCreateGetUpdateDeleteAuthorizationRules");
+
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ //Create a namespace
+ var namespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+ var createNamespaceResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName,
+ new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties()
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ });
+
+ Assert.NotNull(createNamespaceResponse);
+ Assert.NotNull(createNamespaceResponse.Value);
+ Assert.Equal(createNamespaceResponse.Value.Properties.Name, namespaceName);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ //Get the created namespace
+ var getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ if (string.Compare(getNamespaceResponse.Value.Properties.ProvisioningState, "Succeeded", true) != 0)
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ Assert.NotNull(getNamespaceResponse);
+ Assert.NotNull(getNamespaceResponse.Value);
+ Assert.Equal("Succeeded", getNamespaceResponse.Value.Properties.ProvisioningState, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal("Active", getNamespaceResponse.Value.Properties.Status, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal(NamespaceType.NotificationHub, getNamespaceResponse.Value.Properties.NamespaceType);
+ Assert.Equal(location, getNamespaceResponse.Value.Properties.Region, StringComparer.CurrentCultureIgnoreCase);
+
+ //Create a namespace AuthorizationRule
+ var authorizationRuleName = TestUtilities.GenerateName(NotificationHubsManagementHelper.AuthorizationRulesPrefix);
+ string createPrimaryKey = HttpMockServer.GetVariable("CreatePrimaryKey", NotificationHubsManagementHelper.GenerateRandomKey());
+ var createAutorizationRuleParameter = new SharedAccessAuthorizationRuleCreateOrUpdateParameters()
+ {
+ Name = authorizationRuleName,
+ Properties = new SharedAccessAuthorizationRuleProperties()
+ {
+ KeyName = authorizationRuleName,
+ Rights = new List() { AccessRights.Listen, AccessRights.Send },
+ PrimaryKey = createPrimaryKey,
+ SecondaryKey = NotificationHubsManagementHelper.GenerateRandomKey(),
+ ClaimType = "SharedAccessKey",
+ ClaimValue = "None"
+ }
+ };
+
+ var jsonStr = NotificationHubsManagementHelper.ConvertObjectToJSon(createAutorizationRuleParameter);
+
+ var createNamespaceAuthorizationRuleResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdateAuthorizationRule(resourceGroup, namespaceName,
+ authorizationRuleName, createAutorizationRuleParameter);
+ Assert.NotNull(createNamespaceAuthorizationRuleResponse);
+ Assert.NotNull(createNamespaceAuthorizationRuleResponse.Value);
+ Assert.Equal(createNamespaceAuthorizationRuleResponse.Value.Name, createAutorizationRuleParameter.Properties.KeyName);
+ Assert.Equal(createNamespaceAuthorizationRuleResponse.Value.Properties.PrimaryKey, createAutorizationRuleParameter.Properties.PrimaryKey);
+ Assert.True(createNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Count == createAutorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in createAutorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(createNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r == right));
+ }
+
+ //Get default namespace AuthorizationRules
+ var getNamespaceAuthorizationRulesResponse = NotificationHubsManagementClient.Namespaces.GetAuthorizationRule(resourceGroup, namespaceName, NotificationHubsManagementHelper.DefaultNamespaceAuthorizationRule);
+ Assert.NotNull(getNamespaceAuthorizationRulesResponse);
+ Assert.NotNull(getNamespaceAuthorizationRulesResponse.Value);
+ Assert.Equal(getNamespaceAuthorizationRulesResponse.Value.Name, NotificationHubsManagementHelper.DefaultNamespaceAuthorizationRule);
+ Assert.Equal(getNamespaceAuthorizationRulesResponse.Value.Properties.KeyName, NotificationHubsManagementHelper.DefaultNamespaceAuthorizationRule);
+ Assert.True(getNamespaceAuthorizationRulesResponse.Value.Properties.Rights.Any(r => r == AccessRights.Listen));
+ Assert.True(getNamespaceAuthorizationRulesResponse.Value.Properties.Rights.Any(r => r == AccessRights.Send));
+ Assert.True(getNamespaceAuthorizationRulesResponse.Value.Properties.Rights.Any(r => r == AccessRights.Manage));
+
+ //Get created namespace AuthorizationRules
+ getNamespaceAuthorizationRulesResponse = NotificationHubsManagementClient.Namespaces.GetAuthorizationRule(resourceGroup, namespaceName, authorizationRuleName);
+ Assert.NotNull(getNamespaceAuthorizationRulesResponse);
+ Assert.NotNull(getNamespaceAuthorizationRulesResponse.Value);
+ Assert.Equal(getNamespaceAuthorizationRulesResponse.Value.Name, createAutorizationRuleParameter.Properties.KeyName);
+ Assert.Equal(getNamespaceAuthorizationRulesResponse.Value.Properties.PrimaryKey, createAutorizationRuleParameter.Properties.PrimaryKey);
+ Assert.True(getNamespaceAuthorizationRulesResponse.Value.Properties.Rights.Count == createAutorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in createAutorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(getNamespaceAuthorizationRulesResponse.Value.Properties.Rights.Any(r => r == right));
+ }
+
+ //Get all namespaces AuthorizationRules
+ var getAllNamespaceAuthorizationRulesResponse = NotificationHubsManagementClient.Namespaces.ListAuthorizationRules(resourceGroup, namespaceName);
+ Assert.NotNull(getAllNamespaceAuthorizationRulesResponse);
+ Assert.NotNull(getAllNamespaceAuthorizationRulesResponse.Value);
+ Assert.True(getAllNamespaceAuthorizationRulesResponse.Value.Count > 1);
+ Assert.True(getAllNamespaceAuthorizationRulesResponse.Value.Any(ns => ns.Name == authorizationRuleName));
+ Assert.True(getAllNamespaceAuthorizationRulesResponse.Value.Any(auth => auth.Name == NotificationHubsManagementHelper.DefaultNamespaceAuthorizationRule));
+
+ //Update namespace authorizationRule
+ string updatePrimaryKey = HttpMockServer.GetVariable("UpdatePrimaryKey", NotificationHubsManagementHelper.GenerateRandomKey());
+ SharedAccessAuthorizationRuleCreateOrUpdateParameters updateNamespaceAuthorizationRuleParameter = new SharedAccessAuthorizationRuleCreateOrUpdateParameters(getNamespaceAuthorizationRulesResponse.Value.Properties);
+ updateNamespaceAuthorizationRuleParameter.Properties.Rights = new List() { AccessRights.Listen };
+ updateNamespaceAuthorizationRuleParameter.Properties.PrimaryKey = updatePrimaryKey;
+
+ var updateNamespaceAuthorizationRuleResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdateAuthorizationRule(resourceGroup,
+ namespaceName, authorizationRuleName, updateNamespaceAuthorizationRuleParameter);
+
+ Assert.NotNull(updateNamespaceAuthorizationRuleResponse);
+ Assert.NotNull(updateNamespaceAuthorizationRuleResponse.Value);
+ Assert.Equal(authorizationRuleName, updateNamespaceAuthorizationRuleResponse.Value.Name);
+ Assert.Equal(updateNamespaceAuthorizationRuleResponse.Value.Properties.PrimaryKey, updateNamespaceAuthorizationRuleParameter.Properties.PrimaryKey);
+ Assert.Equal(updateNamespaceAuthorizationRuleResponse.Value.Properties.KeyName, updateNamespaceAuthorizationRuleParameter.Properties.KeyName);
+ Assert.True(updateNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Count == updateNamespaceAuthorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in updateNamespaceAuthorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(updateNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r.Equals(right)));
+ }
+
+ //Get the updated namespace AuthorizationRule
+ var getNamespaceAuthorizationRuleResponse = NotificationHubsManagementClient.Namespaces.GetAuthorizationRule(resourceGroup, namespaceName,
+ authorizationRuleName);
+ Assert.NotNull(getNamespaceAuthorizationRuleResponse);
+ Assert.NotNull(getNamespaceAuthorizationRuleResponse.Value);
+ Assert.Equal(authorizationRuleName, getNamespaceAuthorizationRuleResponse.Value.Name);
+ //Assert.Equal(getNamespaceAuthorizationRuleResponse.Value.Properties.PrimaryKey, updateNamespaceAuthorizationRuleParameter.Properties.PrimaryKey);
+ Assert.Equal(getNamespaceAuthorizationRuleResponse.Value.Properties.KeyName, updateNamespaceAuthorizationRuleParameter.Properties.KeyName);
+ Assert.True(getNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Count == updateNamespaceAuthorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in updateNamespaceAuthorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(getNamespaceAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r.Equals(right)));
+ }
+
+ //Get the connectionString to the namespace for a Authorization rule created
+ var listKeysResponse = NotificationHubsManagementClient.Namespaces.ListKeys(resourceGroup, namespaceName, authorizationRuleName);
+ Assert.NotNull(listKeysResponse);
+ Assert.NotNull(listKeysResponse.PrimaryConnectionString);
+ Assert.NotNull(listKeysResponse.PrimaryConnectionString.Contains(getNamespaceAuthorizationRuleResponse.Value.Properties.PrimaryKey));
+ Assert.NotNull(listKeysResponse.SecondaryConnectionString);
+ Assert.NotNull(listKeysResponse.SecondaryConnectionString.Contains(getNamespaceAuthorizationRuleResponse.Value.Properties.SecondaryKey));
+
+ //Delete namespace authorizationRule
+ var deleteResponse = NotificationHubsManagementClient.Namespaces.DeleteAuthorizationRule(resourceGroup, namespaceName, authorizationRuleName);
+ Assert.NotNull(deleteResponse);
+ Assert.Equal(deleteResponse.StatusCode, HttpStatusCode.OK);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+ try
+ {
+ NotificationHubsManagementClient.Namespaces.GetAuthorizationRule(resourceGroup, namespaceName, authorizationRuleName);
+ Assert.True(false, "this step should have failed");
+ }
+ catch (CloudException ex)
+ {
+ Assert.Equal(HttpStatusCode.NotFound, ex.Response.StatusCode);
+ }
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, namespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CheckAvailability.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CheckAvailability.cs
new file mode 100644
index 000000000000..d21564fad45d
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NamespaceTests.CheckAvailability.cs
@@ -0,0 +1,80 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Net;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void CheckNamespaceNameAvailabilityTest()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "CheckNamespaceNameAvailability");
+
+ var validNamespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+ var response = NotificationHubsManagementClient.Namespaces.CheckAvailability(new CheckAvailabilityParameters(validNamespaceName));
+ Assert.NotNull(response);
+ Assert.True(response.Value.IsAvailable);
+
+ const string invalidNamespaceName = "hydraNhNamespace-invalid@!!#%$#";
+ response = NotificationHubsManagementClient.Namespaces.CheckAvailability(new CheckAvailabilityParameters(invalidNamespaceName));
+ Assert.NotNull(response);
+ Assert.False(response.Value.IsAvailable);
+
+ // create NH Namespace
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ var createResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, validNamespaceName,
+ new NamespaceCreateOrUpdateParameters(
+ location,
+ new NamespaceProperties
+ {
+ NamespaceType = NamespaceType.NotificationHub,
+ }));
+
+ Assert.NotNull(createResponse);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+ response = NotificationHubsManagementClient.Namespaces.CheckAvailability( new CheckAvailabilityParameters(validNamespaceName));
+ Assert.NotNull(response);
+ Assert.False(response.Value.IsAvailable);
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, validNamespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUD.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUD.cs
new file mode 100644
index 000000000000..3be9c094341e
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUD.cs
@@ -0,0 +1,201 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Hyak.Common;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void NotificationHubCreateGetUpdateDelete()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "NotificationHubCreateGetUpdateDelete");
+
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ var namespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+
+ var createNamespaceResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName,
+ new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties()
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ });
+
+ Assert.NotNull(createNamespaceResponse);
+ Assert.NotNull(createNamespaceResponse.Value);
+ Assert.Equal(createNamespaceResponse.Value.Properties.Name, namespaceName);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+
+ //Get the created namespace
+ var getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ Assert.NotNull(getNamespaceResponse);
+ Assert.NotNull(getNamespaceResponse.Value);
+ if (string.Compare(getNamespaceResponse.Value.Properties.ProvisioningState, "Succeeded", true) != 0)
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ Assert.Equal("Succeeded", getNamespaceResponse.Value.Properties.ProvisioningState, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal("Active", getNamespaceResponse.Value.Properties.Status, StringComparer.CurrentCultureIgnoreCase);
+
+ //Create a notificationHub
+ var notificationHubList = CreateNotificationHubs(location, resourceGroup, namespaceName, 1);
+ var notificationHubName = notificationHubList.FirstOrDefault();
+
+ //Get the created notificationHub
+ var getNotificationHubResponse = NotificationHubsManagementClient.NotificationHubs.Get(resourceGroup, namespaceName, notificationHubName);
+ Assert.NotNull(getNotificationHubResponse);
+ Assert.NotNull(getNotificationHubResponse.Value);
+ Assert.Equal(getNotificationHubResponse.Value.Name, notificationHubName);
+
+ //Get all namespaces created within a namespace
+ var getAllNotificationHubsResponse = NotificationHubsManagementClient.NotificationHubs.List(resourceGroup, namespaceName);
+ Assert.NotNull(getAllNotificationHubsResponse);
+ Assert.NotNull(getAllNotificationHubsResponse.Value);
+ Assert.True(getAllNotificationHubsResponse.Value.Count >= 1);
+ Assert.True(getAllNotificationHubsResponse.Value.Any(nh => string.Compare(nh.Name, notificationHubName, true) == 0));
+ Assert.True(getAllNotificationHubsResponse.Value.All(nh => nh.Id.Contains(resourceGroup)));
+
+ //Update notificationHub tags and add PNS credentials
+ var updateNotificationHubParameter = new NotificationHubCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NotificationHubProperties()
+ {
+ WnsCredential = new WnsCredential()
+ {
+ Properties = new WnsCredentialProperties()
+ {
+ PackageSid = "ms-app://s-1-15-2-1817505189-427745171-3213743798-2985869298-800724128-1004923984-4143860699",
+ SecretKey = "w7TBprR-9tJxn9mUOdK4PPHLCAzSYFhp",
+ WindowsLiveEndpoint = @"http://pushtestservice.cloudapp.net/LiveID/accesstoken.srf"
+ }
+ }
+ }
+ };
+ updateNotificationHubParameter.Tags.Add(new KeyValuePair("tag1", "value1"));
+ updateNotificationHubParameter.Tags.Add(new KeyValuePair("tag2", "value2"));
+ updateNotificationHubParameter.Tags.Add(new KeyValuePair("tag3", "value3"));
+
+ var jsonStr = NotificationHubsManagementHelper.ConvertObjectToJSon(updateNotificationHubParameter);
+
+ var updateNotificationHubResponse = NotificationHubsManagementClient.NotificationHubs.Update(resourceGroup, namespaceName,
+ notificationHubName, updateNotificationHubParameter);
+
+ Assert.NotNull(updateNotificationHubResponse);
+ Assert.NotNull(updateNotificationHubResponse.Value);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+
+ //Get the updated notificationHub
+ getNotificationHubResponse = NotificationHubsManagementClient.NotificationHubs.Get(resourceGroup, namespaceName, notificationHubName);
+ Assert.NotNull(getNotificationHubResponse);
+ Assert.NotNull(getNotificationHubResponse.Value);
+ Assert.Equal(getNotificationHubResponse.Value.Tags.Count, 3);
+ foreach (var tag in updateNotificationHubParameter.Tags)
+ {
+ Assert.True(getNotificationHubResponse.Value.Tags.Any(t => t.Key.Equals(tag.Key)));
+ Assert.True(getNotificationHubResponse.Value.Tags.Any(t => t.Value.Equals(tag.Value)));
+ }
+
+ //Get the updated notificationHub PNSCredentials
+ var getNotificationHubPnsCredentialsResponse = NotificationHubsManagementClient.NotificationHubs.GetPnsCredentials(resourceGroup, namespaceName, notificationHubName);
+ Assert.NotNull(getNotificationHubPnsCredentialsResponse);
+ Assert.NotNull(getNotificationHubPnsCredentialsResponse.Value);
+ Assert.Equal(notificationHubName, getNotificationHubPnsCredentialsResponse.Value.Name);
+ Assert.NotNull(getNotificationHubPnsCredentialsResponse.Value.Properties);
+ Assert.NotNull(getNotificationHubPnsCredentialsResponse.Value.Properties.WnsCredential);
+ Assert.Equal(getNotificationHubPnsCredentialsResponse.Value.Properties.WnsCredential.Properties.PackageSid, updateNotificationHubParameter.Properties.WnsCredential.Properties.PackageSid);
+ Assert.Equal(getNotificationHubPnsCredentialsResponse.Value.Properties.WnsCredential.Properties.SecretKey, updateNotificationHubParameter.Properties.WnsCredential.Properties.SecretKey);
+ Assert.Equal(getNotificationHubPnsCredentialsResponse.Value.Properties.WnsCredential.Properties.WindowsLiveEndpoint, updateNotificationHubParameter.Properties.WnsCredential.Properties.WindowsLiveEndpoint);
+
+
+ //Delete notificationHub
+ var deleteResponse = NotificationHubsManagementClient.NotificationHubs.Delete(resourceGroup, namespaceName, notificationHubName);
+ Assert.NotNull(deleteResponse);
+ Assert.Equal(deleteResponse.StatusCode, HttpStatusCode.OK);
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+
+ try
+ {
+ NotificationHubsManagementClient.NotificationHubs.Get(resourceGroup, namespaceName, notificationHubName);
+ Assert.True(false, "this step should have failed");
+ }
+ catch (CloudException ex)
+ {
+ Assert.Equal(HttpStatusCode.NotFound, ex.Response.StatusCode);
+ }
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, namespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+
+ private List CreateNotificationHubs(string location, string resourceGroup, string namespaceName, int count)
+ {
+ List notificationHubNameList = new List();
+
+ for (int i = 0; i < count; i++)
+ {
+ var notificationHubName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NotificationHubPrefix) + TestUtilities.GenerateName();
+ notificationHubNameList.Add(notificationHubName);
+ Console.WriteLine(notificationHubName);
+
+
+ var parameter = new NotificationHubCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NotificationHubProperties()
+ };
+
+ var jsonStr = NotificationHubsManagementHelper.ConvertObjectToJSon(parameter);
+
+ var createNotificationHubResponse = NotificationHubsManagementClient.NotificationHubs.Create(resourceGroup, namespaceName,
+ notificationHubName, parameter);
+ Assert.NotNull(createNotificationHubResponse);
+ Assert.NotNull(createNotificationHubResponse.Value);
+ }
+
+ return notificationHubNameList;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUDAuthorizationRules.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUDAuthorizationRules.cs
new file mode 100644
index 000000000000..fe1eadc4bc0b
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CRUDAuthorizationRules.cs
@@ -0,0 +1,214 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Hyak.Common;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.Azure.Test.HttpRecorder;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void NotificationHubCreateGetUpdateDeleteAuthorizationRules()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "NotificationHubCreateGetUpdateDeleteAuthorizationRules");
+
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ //Create a namespace
+ var namespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+ var createNamespaceResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, namespaceName,
+ new NamespaceCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NamespaceProperties()
+ {
+ NamespaceType = NamespaceType.NotificationHub
+ }
+ });
+
+ Assert.NotNull(createNamespaceResponse);
+ Assert.NotNull(createNamespaceResponse.Value);
+ Assert.Equal(createNamespaceResponse.Value.Properties.Name, namespaceName);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+
+ //Get the created namespace
+ var getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ if (string.Compare(getNamespaceResponse.Value.Properties.ProvisioningState, "Succeeded", true) != 0)
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ getNamespaceResponse = NotificationHubsManagementClient.Namespaces.Get(resourceGroup, namespaceName);
+ Assert.NotNull(getNamespaceResponse);
+ Assert.NotNull(getNamespaceResponse.Value);
+ Assert.Equal("Succeeded", getNamespaceResponse.Value.Properties.ProvisioningState, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal("Active", getNamespaceResponse.Value.Properties.Status, StringComparer.CurrentCultureIgnoreCase);
+ Assert.Equal(NamespaceType.NotificationHub, getNamespaceResponse.Value.Properties.NamespaceType);
+ Assert.Equal(location, getNamespaceResponse.Value.Properties.Region, StringComparer.CurrentCultureIgnoreCase);
+
+ //Create a notificationHub
+ var notificationHubName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NotificationHubPrefix);
+
+ var createNotificationHubResponse = NotificationHubsManagementClient.NotificationHubs.Create(resourceGroup, namespaceName,
+ notificationHubName,
+ new NotificationHubCreateOrUpdateParameters()
+ {
+ Location = location,
+ Properties = new NotificationHubProperties()
+ });
+
+ Assert.NotNull(createNotificationHubResponse);
+ Assert.NotNull(createNotificationHubResponse.Value);
+
+ //Create a notificationHub AuthorizationRule
+ var authorizationRuleName = TestUtilities.GenerateName(NotificationHubsManagementHelper.AuthorizationRulesPrefix);
+ string createPrimaryKey = HttpMockServer.GetVariable("CreatePrimaryKey", NotificationHubsManagementHelper.GenerateRandomKey());
+ var createAutorizationRuleParameter = new SharedAccessAuthorizationRuleCreateOrUpdateParameters()
+ {
+ Name = authorizationRuleName,
+ Properties = new SharedAccessAuthorizationRuleProperties()
+ {
+ KeyName = authorizationRuleName,
+ Rights = new List() { AccessRights.Listen, AccessRights.Send },
+ PrimaryKey = createPrimaryKey,
+ SecondaryKey = NotificationHubsManagementHelper.GenerateRandomKey(),
+ ClaimType = "SharedAccessKey",
+ ClaimValue = "None"
+ }
+ };
+
+ var createNotificationHubAuthorizationRuleResponse = NotificationHubsManagementClient.NotificationHubs.CreateOrUpdateAuthorizationRule(resourceGroup,
+ namespaceName, notificationHubName, authorizationRuleName, createAutorizationRuleParameter);
+ Assert.NotNull(createNotificationHubAuthorizationRuleResponse);
+ Assert.NotNull(createNotificationHubAuthorizationRuleResponse.Value);
+ Assert.Equal(createNotificationHubAuthorizationRuleResponse.Value.Name, createAutorizationRuleParameter.Properties.KeyName);
+ Assert.Equal(createNotificationHubAuthorizationRuleResponse.Value.Properties.PrimaryKey, createAutorizationRuleParameter.Properties.PrimaryKey);
+ Assert.True(createNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Count == createAutorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in createAutorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(createNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r == right));
+ }
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+ //Get created notificationHub AuthorizationRules
+ var getNotificationHubAuthorizationRulesResponse = NotificationHubsManagementClient.NotificationHubs.GetAuthorizationRule(resourceGroup, namespaceName,
+ notificationHubName, authorizationRuleName);
+ Assert.NotNull(getNotificationHubAuthorizationRulesResponse);
+ Assert.NotNull(getNotificationHubAuthorizationRulesResponse.Value);
+ Assert.Equal(getNotificationHubAuthorizationRulesResponse.Value.Name, createAutorizationRuleParameter.Properties.KeyName);
+ Assert.Equal(getNotificationHubAuthorizationRulesResponse.Value.Properties.PrimaryKey, createAutorizationRuleParameter.Properties.PrimaryKey);
+ Assert.True(getNotificationHubAuthorizationRulesResponse.Value.Properties.Rights.Count == createAutorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in createAutorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(getNotificationHubAuthorizationRulesResponse.Value.Properties.Rights.Any(r => r == right));
+ }
+
+ //Get all notificationHub AuthorizationRules
+ var getAllNotificationHubAuthorizationRulesResponse = NotificationHubsManagementClient.NotificationHubs.ListAuthorizationRules(resourceGroup, namespaceName,
+ notificationHubName);
+ Assert.NotNull(getAllNotificationHubAuthorizationRulesResponse);
+ Assert.NotNull(getAllNotificationHubAuthorizationRulesResponse.Value);
+ Assert.True(getAllNotificationHubAuthorizationRulesResponse.Value.Count > 1);
+ Assert.True(getAllNotificationHubAuthorizationRulesResponse.Value.Any(ns => ns.Name == authorizationRuleName));
+
+ //Update notificationHub authorizationRule
+ var updateNotificationHubAuthorizationRuleParameter = new SharedAccessAuthorizationRuleCreateOrUpdateParameters(getNotificationHubAuthorizationRulesResponse.Value.Properties);
+ string updatePrimaryKey = HttpMockServer.GetVariable("UpdatePrimaryKey", NotificationHubsManagementHelper.GenerateRandomKey());
+ updateNotificationHubAuthorizationRuleParameter.Properties.Rights = new List() { AccessRights.Listen };
+ updateNotificationHubAuthorizationRuleParameter.Properties.PrimaryKey = updatePrimaryKey;
+
+ var updateNotificationHubAuthorizationRuleResponse = NotificationHubsManagementClient.NotificationHubs.CreateOrUpdateAuthorizationRule(resourceGroup,
+ namespaceName, notificationHubName, authorizationRuleName, updateNotificationHubAuthorizationRuleParameter);
+
+ Assert.NotNull(updateNotificationHubAuthorizationRuleResponse);
+ Assert.NotNull(updateNotificationHubAuthorizationRuleResponse.Value);
+ Assert.Equal(authorizationRuleName, updateNotificationHubAuthorizationRuleResponse.Value.Name);
+ Assert.Equal(updateNotificationHubAuthorizationRuleResponse.Value.Properties.PrimaryKey, updateNotificationHubAuthorizationRuleParameter.Properties.PrimaryKey);
+ Assert.Equal(updateNotificationHubAuthorizationRuleResponse.Value.Properties.KeyName, updateNotificationHubAuthorizationRuleParameter.Properties.KeyName);
+ Assert.True(updateNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Count == updateNotificationHubAuthorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in updateNotificationHubAuthorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(updateNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r.Equals(right)));
+ }
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+
+ //Get the updated notificationHub AuthorizationRule
+ var getNotificationHubAuthorizationRuleResponse = NotificationHubsManagementClient.NotificationHubs.GetAuthorizationRule(resourceGroup, namespaceName,
+ notificationHubName, authorizationRuleName);
+ Assert.NotNull(getNotificationHubAuthorizationRuleResponse);
+ Assert.NotNull(getNotificationHubAuthorizationRuleResponse.Value);
+ Assert.Equal(authorizationRuleName, getNotificationHubAuthorizationRuleResponse.Value.Name);
+ Assert.Equal(getNotificationHubAuthorizationRuleResponse.Value.Properties.PrimaryKey, updateNotificationHubAuthorizationRuleParameter.Properties.PrimaryKey);
+ Assert.Equal(getNotificationHubAuthorizationRuleResponse.Value.Properties.KeyName, updateNotificationHubAuthorizationRuleParameter.Properties.KeyName);
+ Assert.True(getNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Count == updateNotificationHubAuthorizationRuleParameter.Properties.Rights.Count);
+ foreach (var right in updateNotificationHubAuthorizationRuleParameter.Properties.Rights)
+ {
+ Assert.True(getNotificationHubAuthorizationRuleResponse.Value.Properties.Rights.Any(r => r.Equals(right)));
+ }
+
+ //Get the connectionString to the namespace for a Authorization rule created at notificationHub level
+ var listKeysResponse = NotificationHubsManagementClient.NotificationHubs.ListKeys(resourceGroup, namespaceName, notificationHubName, authorizationRuleName);
+ Assert.NotNull(listKeysResponse);
+ Assert.NotNull(listKeysResponse.PrimaryConnectionString);
+ Assert.NotNull(listKeysResponse.PrimaryConnectionString.Contains(getNotificationHubAuthorizationRuleResponse.Value.Properties.PrimaryKey));
+ Assert.NotNull(listKeysResponse.SecondaryConnectionString);
+ Assert.NotNull(listKeysResponse.SecondaryConnectionString.Contains(getNotificationHubAuthorizationRuleResponse.Value.Properties.SecondaryKey));
+
+ //Delete notificationHub authorizationRule
+ var deleteResponse = NotificationHubsManagementClient.NotificationHubs.DeleteAuthorizationRule(resourceGroup, namespaceName, notificationHubName, authorizationRuleName);
+ Assert.NotNull(deleteResponse);
+ Assert.Equal(deleteResponse.StatusCode, HttpStatusCode.OK);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(5));
+ try
+ {
+ NotificationHubsManagementClient.NotificationHubs.GetAuthorizationRule(resourceGroup, namespaceName, notificationHubName, authorizationRuleName);
+ Assert.True(false, "this step should have failed");
+ }
+ catch (CloudException ex)
+ {
+ Assert.Equal(HttpStatusCode.NotFound, ex.Response.StatusCode);
+ }
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, namespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CheckAvailability.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CheckAvailability.cs
new file mode 100644
index 000000000000..abcb232ccf5b
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.NotificationHubTests.CheckAvailability.cs
@@ -0,0 +1,91 @@
+//
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using System;
+ using System.Net;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ [Fact]
+ public void CheckNotificationHubNameAvailability()
+ {
+ using (var context = UndoContext.Current)
+ {
+ context.Start("ScenarioTests", "CheckNotificationHubNameAvailability");
+
+ var validNamespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+ var responseNS = NotificationHubsManagementClient.Namespaces.CheckAvailability(new CheckAvailabilityParameters(validNamespaceName));
+ Assert.NotNull(responseNS);
+ Assert.True(responseNS.Value.IsAvailable);
+
+ // create NH Namespace
+ var location = NotificationHubsManagementHelper.DefaultLocation;
+ var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location);
+ if (string.IsNullOrWhiteSpace(resourceGroup))
+ {
+ resourceGroup = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup);
+ }
+
+ var createNSResponse = NotificationHubsManagementClient.Namespaces.CreateOrUpdate(resourceGroup, validNamespaceName,
+ new NamespaceCreateOrUpdateParameters(
+ location,
+ new NamespaceProperties
+ {
+ NamespaceType = NamespaceType.NotificationHub,
+ }));
+
+ Assert.NotNull(createNSResponse);
+
+ TestUtilities.Wait(TimeSpan.FromSeconds(30));
+
+ var validNotificationHubName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NotificationHubPrefix) + "-valid" + TestUtilities.GenerateName();
+ var responseNH = NotificationHubsManagementClient.NotificationHubs.CheckAvailability(resourceGroup, validNamespaceName,
+ new CheckAvailabilityParameters(validNotificationHubName));
+ Assert.NotNull(responseNH);
+ Assert.True(responseNH.Value.IsAvailable);
+
+ // create Notificationhub
+ var createNHResponse = NotificationHubsManagementClient.NotificationHubs.Create(resourceGroup, validNamespaceName,
+ validNotificationHubName,
+ new NotificationHubCreateOrUpdateParameters(
+ location, new NotificationHubProperties()));
+
+ Assert.NotNull(createNHResponse);
+
+ responseNH = NotificationHubsManagementClient.NotificationHubs.CheckAvailability(resourceGroup, validNamespaceName,
+ new CheckAvailabilityParameters(validNotificationHubName));
+ Assert.NotNull(responseNH);
+ Assert.False(responseNH.Value.IsAvailable);
+
+ //Delete namespace
+ var deleteNSResponse = NotificationHubsManagementClient.Namespaces.Delete(resourceGroup, validNamespaceName);
+ Assert.NotNull(deleteNSResponse);
+ Assert.True(HttpStatusCode.NotFound == deleteNSResponse.StatusCode || HttpStatusCode.OK == deleteNSResponse.StatusCode);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.cs b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.cs
new file mode 100644
index 000000000000..cf8ab3b92ca5
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/Tests/ScenarioTests.cs
@@ -0,0 +1,89 @@
+//
+// Copyright (c) Microsoft. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+namespace NotificationHubs.Tests.ScenarioTests
+{
+ using global::NotificationHubs.Tests;
+ using Microsoft.Azure.Management.NotificationHubs;
+ using Microsoft.Azure.Management.NotificationHubs.Models;
+ using Microsoft.Azure.Management.Resources;
+ using Microsoft.Azure.Test;
+ using Microsoft.WindowsAzure.Management;
+ using NotificationHubs.Tests.TestHelper;
+ using Xunit;
+
+ public partial class ScenarioTests : TestBase
+ {
+ private ManagementClient _managmentClient;
+ private ResourceManagementClient _resourceManagementClient;
+ private NotificationHubsManagementClient _notificationHubsManagementClient;
+ private RecordedDelegatingHandler handler = new RecordedDelegatingHandler();
+
+ public string Location { get; set; }
+ public string ResourceGroupName { get; set; }
+ public string NamespaceName { get; set; }
+
+ public ManagementClient ManagmentClient
+ {
+ get
+ {
+ if (_managmentClient == null)
+ {
+ _managmentClient = NotificationHubsManagementHelper.GetManagementClient(handler);
+ }
+ return _managmentClient;
+ }
+ }
+
+ public ResourceManagementClient ResourceManagementClient
+ {
+ get
+ {
+ if (_resourceManagementClient == null)
+ {
+ _resourceManagementClient = NotificationHubsManagementHelper.GetResourceManagementClient(handler);
+ }
+ return _resourceManagementClient;
+ }
+ }
+
+ public NotificationHubsManagementClient NotificationHubsManagementClient
+ {
+ get
+ {
+ if (_notificationHubsManagementClient == null)
+ {
+ _notificationHubsManagementClient = NotificationHubsManagementHelper.GetNotificationHubsManagementClient(handler);
+ }
+ return _notificationHubsManagementClient;
+ }
+ }
+
+ protected void TryCreateNamespace()
+ {
+ this.ResourceGroupName = this.ResourceManagementClient.TryGetResourceGroup(Location);
+ this.Location = NotificationHubsManagementHelper.DefaultLocation;
+
+ if (string.IsNullOrWhiteSpace(ResourceGroupName))
+ {
+ ResourceGroupName = TestUtilities.GenerateName(NotificationHubsManagementHelper.ResourceGroupPrefix);
+ this.ResourceManagementClient.TryRegisterResourceGroup(Location, ResourceGroupName);
+ }
+
+ NamespaceName = TestUtilities.GenerateName(NotificationHubsManagementHelper.NamespacePrefix);
+ this.NotificationHubsManagementClient.TryCreateNamespace(ResourceGroupName, NamespaceName, Location);
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/app.config b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/app.config
new file mode 100644
index 000000000000..d493bfcbbea0
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/packages.config b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/packages.config
new file mode 100644
index 000000000000..767d9428db67
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.Tests/packages.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubs.sln b/src/ResourceManagement/NotificationHubs/NotificationHubs.sln
new file mode 100644
index 000000000000..00dc194de757
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubs.sln
@@ -0,0 +1,103 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.40629.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotificationHubsManagement", "NotificationHubsManagement\NotificationHubsManagement.csproj", "{D56E4444-B9DF-4B02-9329-FFE12B39832D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotificationHubs.Tests", "NotificationHubs.Tests\NotificationHubs.Tests.csproj", "{0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestDependencies", "..\..\TestDependencies\TestDependencies.csproj", "{40F35645-00EE-4DF2-B66E-7624546B66DF}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Net40-Debug|Any CPU = Net40-Debug|Any CPU
+ Net40-Debug|x64 = Net40-Debug|x64
+ Net40-Debug|x86 = Net40-Debug|x86
+ Net40-Release|Any CPU = Net40-Release|Any CPU
+ Net40-Release|x64 = Net40-Release|x64
+ Net40-Release|x86 = Net40-Release|x86
+ Net45-Debug|Any CPU = Net45-Debug|Any CPU
+ Net45-Debug|x64 = Net45-Debug|x64
+ Net45-Debug|x86 = Net45-Debug|x86
+ Net45-Release|Any CPU = Net45-Release|Any CPU
+ Net45-Release|x64 = Net45-Release|x64
+ Net45-Release|x86 = Net45-Release|x86
+ Portable-Debug|Any CPU = Portable-Debug|Any CPU
+ Portable-Debug|x64 = Portable-Debug|x64
+ Portable-Debug|x86 = Portable-Debug|x86
+ Portable-Release|Any CPU = Portable-Release|Any CPU
+ Portable-Release|x64 = Portable-Release|x64
+ Portable-Release|x86 = Portable-Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Debug|Any CPU.ActiveCfg = Net40-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Debug|Any CPU.Build.0 = Net40-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Debug|x64.ActiveCfg = Net40-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Debug|x86.ActiveCfg = Net40-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Release|Any CPU.ActiveCfg = Net40-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Release|Any CPU.Build.0 = Net40-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Release|x64.ActiveCfg = Net40-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net40-Release|x86.ActiveCfg = Net40-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Debug|Any CPU.ActiveCfg = Net45-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Debug|Any CPU.Build.0 = Net45-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Debug|x64.ActiveCfg = Net45-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Debug|x86.ActiveCfg = Net45-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Release|Any CPU.ActiveCfg = Net45-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Release|Any CPU.Build.0 = Net45-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Release|x64.ActiveCfg = Net45-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Net45-Release|x86.ActiveCfg = Net45-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Debug|Any CPU.ActiveCfg = Portable-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Debug|Any CPU.Build.0 = Portable-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Debug|x64.ActiveCfg = Portable-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Debug|x86.ActiveCfg = Portable-Debug|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Release|Any CPU.ActiveCfg = Portable-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Release|Any CPU.Build.0 = Portable-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Release|x64.ActiveCfg = Portable-Release|Any CPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}.Portable-Release|x86.ActiveCfg = Portable-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Debug|Any CPU.ActiveCfg = Net40-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Debug|x64.ActiveCfg = Net40-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Debug|x86.ActiveCfg = Net40-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Release|Any CPU.ActiveCfg = Net40-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Release|x64.ActiveCfg = Net40-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net40-Release|x86.ActiveCfg = Net40-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Debug|Any CPU.ActiveCfg = Net45-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Debug|Any CPU.Build.0 = Net45-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Debug|x64.ActiveCfg = Net45-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Debug|x86.ActiveCfg = Net45-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Debug|x86.Build.0 = Net45-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Release|Any CPU.ActiveCfg = Net45-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Release|Any CPU.Build.0 = Net45-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Release|x64.ActiveCfg = Net45-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Net45-Release|x86.ActiveCfg = Net45-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Debug|Any CPU.ActiveCfg = Portable-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Debug|x64.ActiveCfg = Portable-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Debug|x86.ActiveCfg = Portable-Debug|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Release|Any CPU.ActiveCfg = Portable-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Release|x64.ActiveCfg = Portable-Release|Any CPU
+ {0ED772D0-2E8C-4E55-B1EE-5B75FA80A896}.Portable-Release|x86.ActiveCfg = Portable-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Debug|Any CPU.ActiveCfg = Net40-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Debug|x64.ActiveCfg = Net40-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Debug|x86.ActiveCfg = Net40-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Release|Any CPU.ActiveCfg = Net40-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Release|x64.ActiveCfg = Net40-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net40-Release|x86.ActiveCfg = Net40-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Debug|Any CPU.ActiveCfg = Net45-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Debug|Any CPU.Build.0 = Net45-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Debug|x64.ActiveCfg = Net45-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Debug|x86.ActiveCfg = Net45-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Release|Any CPU.ActiveCfg = Net45-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Release|Any CPU.Build.0 = Net45-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Release|x64.ActiveCfg = Net45-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Net45-Release|x86.ActiveCfg = Net45-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Debug|Any CPU.ActiveCfg = Portable-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Debug|x64.ActiveCfg = Portable-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Debug|x86.ActiveCfg = Portable-Debug|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Release|Any CPU.ActiveCfg = Portable-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Release|x64.ActiveCfg = Portable-Release|Any CPU
+ {40F35645-00EE-4DF2-B66E-7624546B66DF}.Portable-Release|x86.ActiveCfg = Portable-Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INamespaceOperations.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INamespaceOperations.cs
new file mode 100644
index 000000000000..6e24382947d2
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INamespaceOperations.cs
@@ -0,0 +1,312 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// The Management API includes operations for managing NotificationHub
+ /// only namespaces.
+ ///
+ public partial interface INamespaceOperations
+ {
+ ///
+ /// Deletes an existing namespace. This operation also removes all
+ /// associated notificationHubs under the namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ Task BeginDeleteAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken);
+
+ ///
+ /// Checks the availability of the given service namespace across all
+ /// Windows Azure subscriptions. This is useful because the domain
+ /// name is created based on the service namespace name. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ Task CheckAvailabilityAsync(CheckAvailabilityParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// Creates/Updates a service namespace. Once created, this namespace's
+ /// resource manifest is immutable. This operation is idempotent.
+ /// (see http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Namespace.
+ ///
+ Task CreateOrUpdateAsync(string resourceGroupName, string namespaceName, NamespaceCreateOrUpdateParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// The create namespace authorization rule operation creates an
+ /// authorization rule for a namespace
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The namespace authorizationRuleName name.
+ ///
+ ///
+ /// The shared access authorization rule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ Task CreateOrUpdateAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// Delete existing Namespace
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The name of the namespace.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ Task DeleteAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken);
+
+ ///
+ /// The delete a namespace authorization rule operation
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ Task DeleteAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken);
+
+ ///
+ /// Returns the description for the specified namespace. (see
+ /// http://msdn.microsoft.com/library/azure/dn140232.aspx for more
+ /// information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ Task GetAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken);
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a namespace by name.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace to get the authorization rule for.
+ ///
+ ///
+ /// The entity name to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ Task GetAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken);
+
+ ///
+ /// The Get namespace Delete Operation Status operation returns the
+ /// status of the delete operation. After calling the operation, you
+ /// can call Get namespace Delete Operation Status to determine
+ /// whether the operation has succeeded, failed, or is still in
+ /// progress. This method differs from GetLongRunningOperationStatus
+ /// in providing NotificationHub service resource description.
+ ///
+ ///
+ /// Location value returned by the Begin operation.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ Task GetDeleteNamespaceOperationStatusAsync(string operationStatusLink, CancellationToken cancellationToken);
+
+ ///
+ /// The Get Operation Status operation returns the status of the
+ /// specified operation. After calling an asynchronous operation, you
+ /// can call Get Operation Status to determine whether the operation
+ /// has succeeded, failed, or is still in progress.
+ ///
+ ///
+ /// Location value returned by the Begin operation.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response for long running operations.
+ ///
+ Task GetLongRunningOperationStatusAsync(string operationStatusLink, CancellationToken cancellationToken);
+
+ ///
+ /// Lists the available namespaces within a resourceGroup. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// The name of the resource group. If resourceGroupName value is null
+ /// the method lists all the namespaces within subscription
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ Task ListAsync(string resourceGroupName, CancellationToken cancellationToken);
+
+ ///
+ /// Lists all the available namespaces within the subscription
+ /// irrespective of the resourceGroups. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ Task ListAllAsync(CancellationToken cancellationToken);
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a namespace.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ Task ListAuthorizationRulesAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken);
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the namespace
+ /// (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The connection string of the namespace for the specified
+ /// authorizationRule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ Task ListKeysAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken);
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubOperations.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubOperations.cs
new file mode 100644
index 000000000000..bd2f6ea8e1d8
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubOperations.cs
@@ -0,0 +1,310 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// The Management API includes operations for managing notification hubs.
+ ///
+ public partial interface INotificationHubOperations
+ {
+ ///
+ /// Checks the availability of the given notificationHub in a
+ /// namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notificationHub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ Task CheckAvailabilityAsync(string resourceGroupName, string namespaceName, CheckAvailabilityParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ Task CreateAsync(string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// The create NotificationHub authorization rule operation creates an
+ /// authorization rule for a NotificationHub
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// The namespace authorizationRuleName name.
+ ///
+ ///
+ /// The shared access authorization rule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ Task CreateOrUpdateAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters, CancellationToken cancellationToken);
+
+ ///
+ /// Deletes a notification hub associated with a namespace.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ Task DeleteAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken);
+
+ ///
+ /// The delete a notificationHub authorization rule operation
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ Task DeleteAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken);
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ Task GetAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken);
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a NotificationHub by name.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace to get the authorization rule for.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// The entity name to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ Task GetAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken);
+
+ ///
+ /// Lists the PNS Credentials associated with a notification hub .
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ Task GetPnsCredentialsAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken);
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List NotificationHub operation.
+ ///
+ Task ListAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken);
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a NotificationHub.
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The NotificationHub to get the authorization rule for.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ Task ListAuthorizationRulesAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken);
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the
+ /// NotificationHub (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// The connection string of the NotificationHub for the specified
+ /// authorizationRule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ Task ListKeysAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken);
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// The name of the resource group.
+ ///
+ ///
+ /// The namespace name.
+ ///
+ ///
+ /// The notification hub name.
+ ///
+ ///
+ /// Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ Task UpdateAsync(string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters, CancellationToken cancellationToken);
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubsManagementClient.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubsManagementClient.cs
new file mode 100644
index 000000000000..1e4f093322fd
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/INotificationHubsManagementClient.cs
@@ -0,0 +1,94 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// .Net client wrapper for the REST API for Azure NotificationHub Service
+ ///
+ public partial interface INotificationHubsManagementClient : IDisposable
+ {
+ ///
+ /// Gets the API version.
+ ///
+ string ApiVersion
+ {
+ get;
+ }
+
+ ///
+ /// Gets the URI used as the base for all cloud service requests.
+ ///
+ Uri BaseUri
+ {
+ get;
+ }
+
+ ///
+ /// Gets subscription credentials which uniquely identify Microsoft
+ /// Azure subscription. The subscription ID forms part of the URI for
+ /// every service call.
+ ///
+ SubscriptionCloudCredentials Credentials
+ {
+ get;
+ }
+
+ ///
+ /// Gets or sets the initial timeout for Long Running Operations.
+ ///
+ int LongRunningOperationInitialTimeout
+ {
+ get; set;
+ }
+
+ ///
+ /// Gets or sets the retry timeout for Long Running Operations.
+ ///
+ int LongRunningOperationRetryTimeout
+ {
+ get; set;
+ }
+
+ ///
+ /// The Management API includes operations for managing NotificationHub
+ /// only namespaces.
+ ///
+ INamespaceOperations Namespaces
+ {
+ get;
+ }
+
+ ///
+ /// The Management API includes operations for managing notification
+ /// hubs.
+ ///
+ INotificationHubOperations NotificationHubs
+ {
+ get;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AccessRights.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AccessRights.cs
new file mode 100644
index 000000000000..cfeb967a0de2
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AccessRights.cs
@@ -0,0 +1,47 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// AuthorizationRules access rights.
+ ///
+ public enum AccessRights
+ {
+ ///
+ /// Listen Access Right.
+ ///
+ Manage = 0,
+
+ ///
+ /// Manage Access Right.
+ ///
+ Send = 1,
+
+ ///
+ /// Send Access Right.
+ ///
+ Listen = 2,
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredential.cs
new file mode 100644
index 000000000000..931f99359411
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredential.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub AdmCredential.
+ ///
+ public partial class AdmCredential
+ {
+ private AdmCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub AdmCredential.
+ ///
+ public AdmCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the AdmCredential class.
+ ///
+ public AdmCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredentialProperties.cs
new file mode 100644
index 000000000000..06a0903c5800
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AdmCredentialProperties.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub AdmCredential.
+ ///
+ public partial class AdmCredentialProperties
+ {
+ private string _authTokenUrl;
+
+ ///
+ /// Optional. Gets or sets the URL of the authorization token.
+ ///
+ public string AuthTokenUrl
+ {
+ get { return this._authTokenUrl; }
+ set { this._authTokenUrl = value; }
+ }
+
+ private string _clientId;
+
+ ///
+ /// Optional. Gets or sets the client identifier.
+ ///
+ public string ClientId
+ {
+ get { return this._clientId; }
+ set { this._clientId = value; }
+ }
+
+ private string _clientSecret;
+
+ ///
+ /// Optional. Gets or sets the credential secret access key.
+ ///
+ public string ClientSecret
+ {
+ get { return this._clientSecret; }
+ set { this._clientSecret = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the AdmCredentialProperties class.
+ ///
+ public AdmCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredential.cs
new file mode 100644
index 000000000000..da4237c87726
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredential.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub ApnsCredential.
+ ///
+ public partial class ApnsCredential
+ {
+ private ApnsCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub ApnsCredential.
+ ///
+ public ApnsCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the ApnsCredential class.
+ ///
+ public ApnsCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredentialProperties.cs
new file mode 100644
index 000000000000..28cda5c4985b
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ApnsCredentialProperties.cs
@@ -0,0 +1,83 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub ApnsCredential.
+ ///
+ public partial class ApnsCredentialProperties
+ {
+ private string _apnsCertificate;
+
+ ///
+ /// Optional. Gets or sets the APNS certificate.
+ ///
+ public string ApnsCertificate
+ {
+ get { return this._apnsCertificate; }
+ set { this._apnsCertificate = value; }
+ }
+
+ private string _certificateKey;
+
+ ///
+ /// Optional. Gets or sets the certificate key.
+ ///
+ public string CertificateKey
+ {
+ get { return this._certificateKey; }
+ set { this._certificateKey = value; }
+ }
+
+ private string _endpoint;
+
+ ///
+ /// Optional. Gets or sets the endpoint of this credential.
+ ///
+ public string Endpoint
+ {
+ get { return this._endpoint; }
+ set { this._endpoint = value; }
+ }
+
+ private string _thumbprint;
+
+ ///
+ /// Optional. Gets or sets the Apns certificate Thumbprint
+ ///
+ public string Thumbprint
+ {
+ get { return this._thumbprint; }
+ set { this._thumbprint = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the ApnsCredentialProperties class.
+ ///
+ public ApnsCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AuthorizationRule.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AuthorizationRule.cs
new file mode 100644
index 000000000000..79d8a25e81df
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/AuthorizationRule.cs
@@ -0,0 +1,120 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// AuthorizationRules properties.
+ ///
+ public partial class AuthorizationRule
+ {
+ private string _claimType;
+
+ ///
+ /// Optional. The type of the claim.
+ ///
+ public string ClaimType
+ {
+ get { return this._claimType; }
+ set { this._claimType = value; }
+ }
+
+ private string _claimValue;
+
+ ///
+ /// Optional. The value of the claim.
+ ///
+ public string ClaimValue
+ {
+ get { return this._claimValue; }
+ set { this._claimValue = value; }
+ }
+
+ private DateTime _createdTime;
+
+ ///
+ /// Optional. The time at which the authorization rule was created.
+ ///
+ public DateTime CreatedTime
+ {
+ get { return this._createdTime; }
+ set { this._createdTime = value; }
+ }
+
+ private string _keyName;
+
+ ///
+ /// Optional. The name of the key that was used.
+ ///
+ public string KeyName
+ {
+ get { return this._keyName; }
+ set { this._keyName = value; }
+ }
+
+ private DateTime _modifiedTime;
+
+ ///
+ /// Optional. The most recent time the rule was updated.
+ ///
+ public DateTime ModifiedTime
+ {
+ get { return this._modifiedTime; }
+ set { this._modifiedTime = value; }
+ }
+
+ private int _revision;
+
+ ///
+ /// Optional. The revision number for the rule.
+ ///
+ public int Revision
+ {
+ get { return this._revision; }
+ set { this._revision = value; }
+ }
+
+ private IList _rights;
+
+ ///
+ /// Optional. The rights associated with the rule.
+ ///
+ public IList Rights
+ {
+ get { return this._rights; }
+ set { this._rights = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the AuthorizationRule class.
+ ///
+ public AuthorizationRule()
+ {
+ this.Rights = new LazyList();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredential.cs
new file mode 100644
index 000000000000..688c37313942
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredential.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub BaiduCredential.
+ ///
+ public partial class BaiduCredential
+ {
+ private BaiduCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub
+ /// BaiduCredential.
+ ///
+ public BaiduCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the BaiduCredential class.
+ ///
+ public BaiduCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredentialProperties.cs
new file mode 100644
index 000000000000..99a4d3dfb893
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/BaiduCredentialProperties.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub BaiduCredential.
+ ///
+ public partial class BaiduCredentialProperties
+ {
+ private string _baiduApiKey;
+
+ ///
+ /// Optional. Get or Set Baidu Api Key.
+ ///
+ public string BaiduApiKey
+ {
+ get { return this._baiduApiKey; }
+ set { this._baiduApiKey = value; }
+ }
+
+ private string _baiduEndPoint;
+
+ ///
+ /// Optional. Get or Set Baidu Endpoint.
+ ///
+ public string BaiduEndPoint
+ {
+ get { return this._baiduEndPoint; }
+ set { this._baiduEndPoint = value; }
+ }
+
+ private string _baiduSecretKey;
+
+ ///
+ /// Optional. Get or Set Baidu Secret Key
+ ///
+ public string BaiduSecretKey
+ {
+ get { return this._baiduSecretKey; }
+ set { this._baiduSecretKey = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the BaiduCredentialProperties class.
+ ///
+ public BaiduCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityParameters.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityParameters.cs
new file mode 100644
index 000000000000..3f6bd339d0b5
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityParameters.cs
@@ -0,0 +1,102 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Parameters supplied to the Check Name Availability for Namespace and
+ /// NotificationHubs.
+ ///
+ public partial class CheckAvailabilityParameters
+ {
+ private bool _isAvailable;
+
+ ///
+ /// Optional. Gets or sets true if the name is available and can be
+ /// used to create new Namespace/NotificationHub. Otherwise false.
+ ///
+ public bool IsAvailable
+ {
+ get { return this._isAvailable; }
+ set { this._isAvailable = value; }
+ }
+
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets location.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Required. Gets or sets name
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets tags.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the CheckAvailabilityParameters class.
+ ///
+ public CheckAvailabilityParameters()
+ {
+ this.Tags = new LazyDictionary();
+ }
+
+ ///
+ /// Initializes a new instance of the CheckAvailabilityParameters class
+ /// with required arguments.
+ ///
+ public CheckAvailabilityParameters(string name)
+ : this()
+ {
+ if (name == null)
+ {
+ throw new ArgumentNullException("name");
+ }
+ this.Name = name;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityProperties.cs
new file mode 100644
index 000000000000..5053c01fc00e
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityProperties.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Parameters supplied to the Check NameAvailability operation.
+ ///
+ public partial class CheckAvailabilityProperties
+ {
+ private bool _isAvailable;
+
+ ///
+ /// Optional. Gets or sets true if the name is available and can be
+ /// used to create new Namespace/NotificationHub. Otherwise false.
+ ///
+ public bool IsAvailable
+ {
+ get { return this._isAvailable; }
+ set { this._isAvailable = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the CheckAvailabilityProperties class.
+ ///
+ public CheckAvailabilityProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResource.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResource.cs
new file mode 100644
index 000000000000..30a6a425ddc9
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResource.cs
@@ -0,0 +1,109 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a CheckAvailibility resource.
+ ///
+ public partial class CheckAvailabilityResource
+ {
+ private string _id;
+
+ ///
+ /// Optional. Gets or sets the id
+ ///
+ public string Id
+ {
+ get { return this._id; }
+ set { this._id = value; }
+ }
+
+ private bool _isAvailable;
+
+ ///
+ /// Optional. Gets or sets true if the name is available and can be
+ /// used to create new Namespace/NotificationHub. Otherwise false.
+ ///
+ public bool IsAvailable
+ {
+ get { return this._isAvailable; }
+ set { this._isAvailable = value; }
+ }
+
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets datacenter location
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. Gets or sets name
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets tags
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ private string _type;
+
+ ///
+ /// Optional. Gets or sets resource type
+ ///
+ public string Type
+ {
+ get { return this._type; }
+ set { this._type = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the CheckAvailabilityResource class.
+ ///
+ public CheckAvailabilityResource()
+ {
+ this.Tags = new LazyDictionary();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResponse.cs
new file mode 100644
index 000000000000..56e15c75f11d
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/CheckAvailabilityResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public partial class CheckAvailabilityResponse : AzureOperationResponse
+ {
+ private CheckAvailabilityResource _value;
+
+ ///
+ /// Optional. Gets or sets true if the name is available and can be
+ /// used to create new Namespace/NotificationHub. Otherwise false.
+ ///
+ public CheckAvailabilityResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the CheckAvailabilityResponse class.
+ ///
+ public CheckAvailabilityResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredential.cs
new file mode 100644
index 000000000000..b977a59f024d
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredential.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub GcmCredential.
+ ///
+ public partial class GcmCredential
+ {
+ private GcmCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub GcmCredential.
+ ///
+ public GcmCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the GcmCredential class.
+ ///
+ public GcmCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredentialProperties.cs
new file mode 100644
index 000000000000..47f3a238031a
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/GcmCredentialProperties.cs
@@ -0,0 +1,61 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub GcmCredential.
+ ///
+ public partial class GcmCredentialProperties
+ {
+ private string _gcmEndpoint;
+
+ ///
+ /// Optional. Gets or sets the GCM endpoint.
+ ///
+ public string GcmEndpoint
+ {
+ get { return this._gcmEndpoint; }
+ set { this._gcmEndpoint = value; }
+ }
+
+ private string _googleApiKey;
+
+ ///
+ /// Optional. Gets or sets the Google API key.
+ ///
+ public string GoogleApiKey
+ {
+ get { return this._googleApiKey; }
+ set { this._googleApiKey = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the GcmCredentialProperties class.
+ ///
+ public GcmCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/LongRunningOperationResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/LongRunningOperationResponse.cs
new file mode 100644
index 000000000000..1cacf7f0459f
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/LongRunningOperationResponse.cs
@@ -0,0 +1,88 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// A standard service response for long running operations.
+ ///
+ public partial class LongRunningOperationResponse : AzureOperationResponse
+ {
+ private ResourceError _error;
+
+ ///
+ /// Optional. Gets or sets error description of the opertion. Equals to
+ /// null is no errors.
+ ///
+ public ResourceError Error
+ {
+ get { return this._error; }
+ set { this._error = value; }
+ }
+
+ private string _operationStatusLink;
+
+ ///
+ /// Optional. Gets or sets operation status link.
+ ///
+ public string OperationStatusLink
+ {
+ get { return this._operationStatusLink; }
+ set { this._operationStatusLink = value; }
+ }
+
+ private int _retryAfter;
+
+ ///
+ /// Optional. Gets or sets the number of minutes to retry the operation
+ /// after.
+ ///
+ public int RetryAfter
+ {
+ get { return this._retryAfter; }
+ set { this._retryAfter = value; }
+ }
+
+ private OperationStatus _status;
+
+ ///
+ /// Optional. Gets or sets current status of the operation.
+ ///
+ public OperationStatus Status
+ {
+ get { return this._status; }
+ set { this._status = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the LongRunningOperationResponse
+ /// class.
+ ///
+ public LongRunningOperationResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredential.cs
new file mode 100644
index 000000000000..1f7d36692ca7
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredential.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub MpnsCredential.
+ ///
+ public partial class MpnsCredential
+ {
+ private MpnsCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub MpnsCredential.
+ ///
+ public MpnsCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the MpnsCredential class.
+ ///
+ public MpnsCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredentialProperties.cs
new file mode 100644
index 000000000000..86c191067095
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/MpnsCredentialProperties.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub MpnsCredential.
+ ///
+ public partial class MpnsCredentialProperties
+ {
+ private string _certificateKey;
+
+ ///
+ /// Optional. Gets or sets the certificate key for this credential.
+ ///
+ public string CertificateKey
+ {
+ get { return this._certificateKey; }
+ set { this._certificateKey = value; }
+ }
+
+ private string _mpnsCertificate;
+
+ ///
+ /// Optional. Gets or sets the MPNS certificate.
+ ///
+ public string MpnsCertificate
+ {
+ get { return this._mpnsCertificate; }
+ set { this._mpnsCertificate = value; }
+ }
+
+ private string _thumbprint;
+
+ ///
+ /// Optional. Gets or sets the Mpns certificate Thumbprint
+ ///
+ public string Thumbprint
+ {
+ get { return this._thumbprint; }
+ set { this._thumbprint = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the MpnsCredentialProperties class.
+ ///
+ public MpnsCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateParameters.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateParameters.cs
new file mode 100644
index 000000000000..f366ff7bbff5
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateParameters.cs
@@ -0,0 +1,96 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Parameters supplied to the CreateOrUpdate Namespace operation.
+ ///
+ public partial class NamespaceCreateOrUpdateParameters
+ {
+ private string _location;
+
+ ///
+ /// Required. Gets or sets Namespace data center location.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private NamespaceProperties _properties;
+
+ ///
+ /// Required. Gets or sets properties of the Namespace.
+ ///
+ public NamespaceProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets Namespace tags.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceCreateOrUpdateParameters
+ /// class.
+ ///
+ public NamespaceCreateOrUpdateParameters()
+ {
+ this.Tags = new LazyDictionary();
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceCreateOrUpdateParameters
+ /// class with required arguments.
+ ///
+ public NamespaceCreateOrUpdateParameters(string location, NamespaceProperties properties)
+ : this()
+ {
+ if (location == null)
+ {
+ throw new ArgumentNullException("location");
+ }
+ if (properties == null)
+ {
+ throw new ArgumentNullException("properties");
+ }
+ this.Location = location;
+ this.Properties = properties;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateResponse.cs
new file mode 100644
index 000000000000..0f2d82532049
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceCreateOrUpdateResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the CreateOrUpdate Namespace.
+ ///
+ public partial class NamespaceCreateOrUpdateResponse : AzureOperationResponse
+ {
+ private NamespaceResource _value;
+
+ ///
+ /// Optional. Gets or sets Namespace resource description.
+ ///
+ public NamespaceResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceCreateOrUpdateResponse
+ /// class.
+ ///
+ public NamespaceCreateOrUpdateResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceGetResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceGetResponse.cs
new file mode 100644
index 000000000000..71a716e3cf73
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceGetResponse.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public partial class NamespaceGetResponse : AzureOperationResponse
+ {
+ private NamespaceResource _value;
+
+ ///
+ /// Optional. Gets or sets result of the Get Namespace operation.
+ ///
+ public NamespaceResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceGetResponse class.
+ ///
+ public NamespaceGetResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceListResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceListResponse.cs
new file mode 100644
index 000000000000..926e1f4d9719
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceListResponse.cs
@@ -0,0 +1,67 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public partial class NamespaceListResponse : AzureOperationResponse
+ {
+ private string _nextLink;
+
+ ///
+ /// Optional. Gets or sets link to the next set of results. Not empty
+ /// if Value contains incomplete list of Namespaces
+ ///
+ public string NextLink
+ {
+ get { return this._nextLink; }
+ set { this._nextLink = value; }
+ }
+
+ private IList _value;
+
+ ///
+ /// Optional. Gets or sets result of the List Namespace operation.
+ ///
+ public IList Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceListResponse class.
+ ///
+ public NamespaceListResponse()
+ {
+ this.Value = new LazyList();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceLongRunningResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceLongRunningResponse.cs
new file mode 100644
index 000000000000..4bede04dfa69
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceLongRunningResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the CreateOrUpdate Api Management service long running
+ /// operation.
+ ///
+ public partial class NamespaceLongRunningResponse : LongRunningOperationResponse
+ {
+ private NamespaceResource _value;
+
+ ///
+ /// Optional. Gets or sets namespace resource description.
+ ///
+ public NamespaceResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceLongRunningResponse
+ /// class.
+ ///
+ public NamespaceLongRunningResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceProperties.cs
new file mode 100644
index 000000000000..719088620771
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceProperties.cs
@@ -0,0 +1,174 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Namespace properties.
+ ///
+ public partial class NamespaceProperties
+ {
+ private DateTime _createdAt;
+
+ ///
+ /// Optional. The time the namespace was created.
+ ///
+ public DateTime CreatedAt
+ {
+ get { return this._createdAt; }
+ set { this._createdAt = value; }
+ }
+
+ private bool _critical;
+
+ ///
+ /// Optional. Whether or not the namespace is set as Critical.
+ ///
+ public bool Critical
+ {
+ get { return this._critical; }
+ set { this._critical = value; }
+ }
+
+ private bool _enabled;
+
+ ///
+ /// Optional. Whether or not the namespace is currently enabled.
+ ///
+ public bool Enabled
+ {
+ get { return this._enabled; }
+ set { this._enabled = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. The name of the namespace.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private NamespaceType _namespaceType;
+
+ ///
+ /// Optional. Gets or sets the namespace type.
+ ///
+ public NamespaceType NamespaceType
+ {
+ get { return this._namespaceType; }
+ set { this._namespaceType = value; }
+ }
+
+ private string _provisioningState;
+
+ ///
+ /// Optional. Gets or sets provisioning state of the Namespace.
+ ///
+ public string ProvisioningState
+ {
+ get { return this._provisioningState; }
+ set { this._provisioningState = value; }
+ }
+
+ private string _region;
+
+ ///
+ /// Optional. Specifies the targeted region in which the namespace
+ /// should be created. It can be any of the following values:
+ /// Australia EastAustralia SoutheastCentral USEast USEast US 2West
+ /// USNorth Central USSouth Central USEast AsiaSoutheast AsiaBrazil
+ /// SouthJapan EastJapan WestNorth EuropeWest Europe (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ public string Region
+ {
+ get { return this._region; }
+ set { this._region = value; }
+ }
+
+ private string _scaleUnit;
+
+ ///
+ /// Optional. ScaleUnit where the namespace gets created
+ ///
+ public string ScaleUnit
+ {
+ get { return this._scaleUnit; }
+ set { this._scaleUnit = value; }
+ }
+
+ private Uri _serviceBusEndpoint;
+
+ ///
+ /// Optional. Endpoint you can use to perform NotificationHub
+ /// operations. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ public Uri ServiceBusEndpoint
+ {
+ get { return this._serviceBusEndpoint; }
+ set { this._serviceBusEndpoint = value; }
+ }
+
+ private string _status;
+
+ ///
+ /// Optional. Status of the namespace. It can be any of these values:1
+ /// = Created/Active2 = Creating3 = Suspended4 = Deleting (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ public string Status
+ {
+ get { return this._status; }
+ set { this._status = value; }
+ }
+
+ private string _subscriptionId;
+
+ ///
+ /// Optional. The Id of the Azure subscription associated with the
+ /// namespace.
+ ///
+ public string SubscriptionId
+ {
+ get { return this._subscriptionId; }
+ set { this._subscriptionId = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceProperties class.
+ ///
+ public NamespaceProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceResource.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceResource.cs
new file mode 100644
index 000000000000..cf2aedc5ef00
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceResource.cs
@@ -0,0 +1,109 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a Namespace resource.
+ ///
+ public partial class NamespaceResource
+ {
+ private string _id;
+
+ ///
+ /// Optional. Gets or sets the id of the created Namespace.
+ ///
+ public string Id
+ {
+ get { return this._id; }
+ set { this._id = value; }
+ }
+
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets datacenter location of the Namespace.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. Gets or sets name of the Namespace.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private NamespaceProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of the Namespace.
+ ///
+ public NamespaceProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets tags of the Namespace.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ private string _type;
+
+ ///
+ /// Optional. Gets or sets resource type of the Namespace.
+ ///
+ public string Type
+ {
+ get { return this._type; }
+ set { this._type = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NamespaceResource class.
+ ///
+ public NamespaceResource()
+ {
+ this.Tags = new LazyDictionary();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceType.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceType.cs
new file mode 100644
index 000000000000..8b02a1c462ec
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NamespaceType.cs
@@ -0,0 +1,33 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ public enum NamespaceType
+ {
+ Messaging = 0,
+
+ NotificationHub = 1,
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateParameters.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateParameters.cs
new file mode 100644
index 000000000000..88c14f12eb4c
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateParameters.cs
@@ -0,0 +1,97 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Parameters supplied to the CreateOrUpdate NotificationHub operation.
+ ///
+ public partial class NotificationHubCreateOrUpdateParameters
+ {
+ private string _location;
+
+ ///
+ /// Required. Gets or sets NotificationHub data center location.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private NotificationHubProperties _properties;
+
+ ///
+ /// Required. Gets or sets properties of the NotificationHub.
+ ///
+ public NotificationHubProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets NotificationHub tags.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// NotificationHubCreateOrUpdateParameters class.
+ ///
+ public NotificationHubCreateOrUpdateParameters()
+ {
+ this.Tags = new LazyDictionary();
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// NotificationHubCreateOrUpdateParameters class with required
+ /// arguments.
+ ///
+ public NotificationHubCreateOrUpdateParameters(string location, NotificationHubProperties properties)
+ : this()
+ {
+ if (location == null)
+ {
+ throw new ArgumentNullException("location");
+ }
+ if (properties == null)
+ {
+ throw new ArgumentNullException("properties");
+ }
+ this.Location = location;
+ this.Properties = properties;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateResponse.cs
new file mode 100644
index 000000000000..e80dbdc6dbed
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubCreateOrUpdateResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public partial class NotificationHubCreateOrUpdateResponse : AzureOperationResponse
+ {
+ private NotificationHubResource _value;
+
+ ///
+ /// Optional. Gets or Sets NotificationHub description
+ ///
+ public NotificationHubResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// NotificationHubCreateOrUpdateResponse class.
+ ///
+ public NotificationHubCreateOrUpdateResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubGetResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubGetResponse.cs
new file mode 100644
index 000000000000..04d4bf6c5494
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubGetResponse.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public partial class NotificationHubGetResponse : AzureOperationResponse
+ {
+ private NotificationHubResource _value;
+
+ ///
+ /// Optional. Gets or sets result of the Get NotificationHub operation.
+ ///
+ public NotificationHubResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubGetResponse class.
+ ///
+ public NotificationHubGetResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubListResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubListResponse.cs
new file mode 100644
index 000000000000..9910a8eb3554
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubListResponse.cs
@@ -0,0 +1,67 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the List NotificationHub operation.
+ ///
+ public partial class NotificationHubListResponse : AzureOperationResponse
+ {
+ private string _nextLink;
+
+ ///
+ /// Optional. Gets or sets link to the next set of results. Not empty
+ /// if Value contains incomplete list of NotificationHub
+ ///
+ public string NextLink
+ {
+ get { return this._nextLink; }
+ set { this._nextLink = value; }
+ }
+
+ private IList _value;
+
+ ///
+ /// Optional. Gets or sets result of the List NotificationHub operation.
+ ///
+ public IList Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubListResponse class.
+ ///
+ public NotificationHubListResponse()
+ {
+ this.Value = new LazyList();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubProperties.cs
new file mode 100644
index 000000000000..0b5d0647bc4f
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubProperties.cs
@@ -0,0 +1,142 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// NotificationHub properties.
+ ///
+ public partial class NotificationHubProperties
+ {
+ private AdmCredential _admCredential;
+
+ ///
+ /// Optional. The AdmCredential of the created NotificationHub
+ ///
+ public AdmCredential AdmCredential
+ {
+ get { return this._admCredential; }
+ set { this._admCredential = value; }
+ }
+
+ private ApnsCredential _apnsCredential;
+
+ ///
+ /// Optional. The ApnsCredential of the created NotificationHub
+ ///
+ public ApnsCredential ApnsCredential
+ {
+ get { return this._apnsCredential; }
+ set { this._apnsCredential = value; }
+ }
+
+ private IList _authorizationRules;
+
+ ///
+ /// Optional. The AuthorizationRules of the created NotificationHub
+ ///
+ public IList AuthorizationRules
+ {
+ get { return this._authorizationRules; }
+ set { this._authorizationRules = value; }
+ }
+
+ private BaiduCredential _baiduCredential;
+
+ ///
+ /// Optional. The BaiduCredential of the created NotificationHub
+ ///
+ public BaiduCredential BaiduCredential
+ {
+ get { return this._baiduCredential; }
+ set { this._baiduCredential = value; }
+ }
+
+ private GcmCredential _gcmCredential;
+
+ ///
+ /// Optional. The GcmCredential of the created NotificationHub
+ ///
+ public GcmCredential GcmCredential
+ {
+ get { return this._gcmCredential; }
+ set { this._gcmCredential = value; }
+ }
+
+ private MpnsCredential _mpnsCredential;
+
+ ///
+ /// Optional. The MpnsCredential of the created NotificationHub
+ ///
+ public MpnsCredential MpnsCredential
+ {
+ get { return this._mpnsCredential; }
+ set { this._mpnsCredential = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. The NotificationHub name.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private string _registrationTtl;
+
+ ///
+ /// Optional. The RegistrationTtl of the created NotificationHub
+ ///
+ public string RegistrationTtl
+ {
+ get { return this._registrationTtl; }
+ set { this._registrationTtl = value; }
+ }
+
+ private WnsCredential _wnsCredential;
+
+ ///
+ /// Optional. The WnsCredential of the created NotificationHub
+ ///
+ public WnsCredential WnsCredential
+ {
+ get { return this._wnsCredential; }
+ set { this._wnsCredential = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubProperties class.
+ ///
+ public NotificationHubProperties()
+ {
+ this.AuthorizationRules = new LazyList();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubResource.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubResource.cs
new file mode 100644
index 000000000000..f61eee61bf31
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/NotificationHubResource.cs
@@ -0,0 +1,109 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificatioHub Resource.
+ ///
+ public partial class NotificationHubResource
+ {
+ private string _id;
+
+ ///
+ /// Optional. Gets or sets the id of the created NotificatioHub.
+ ///
+ public string Id
+ {
+ get { return this._id; }
+ set { this._id = value; }
+ }
+
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets datacenter location of the NotificatioHub.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. Gets or sets name of the NotificatioHub.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private NotificationHubProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of the NotificatioHub.
+ ///
+ public NotificationHubProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets tags of the NotificatioHub.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ private string _type;
+
+ ///
+ /// Optional. Gets or sets resource type of the NotificatioHub.
+ ///
+ public string Type
+ {
+ get { return this._type; }
+ set { this._type = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubResource class.
+ ///
+ public NotificationHubResource()
+ {
+ this.Tags = new LazyDictionary();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceError.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceError.cs
new file mode 100644
index 000000000000..12d54bd0e04e
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceError.cs
@@ -0,0 +1,94 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a standard NotificationHub service response error.
+ ///
+ public partial class ResourceError
+ {
+ private string _code;
+
+ ///
+ /// Required. Gets or sets the error code returned from the service.
+ ///
+ public string Code
+ {
+ get { return this._code; }
+ set { this._code = value; }
+ }
+
+ private IDictionary _details;
+
+ ///
+ /// Optional. Gets or sets the error detais.
+ ///
+ public IDictionary Details
+ {
+ get { return this._details; }
+ set { this._details = value; }
+ }
+
+ private string _message;
+
+ ///
+ /// Required. Gets or sets the error message returned from the service.
+ ///
+ public string Message
+ {
+ get { return this._message; }
+ set { this._message = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the ResourceError class.
+ ///
+ public ResourceError()
+ {
+ this.Details = new LazyDictionary();
+ }
+
+ ///
+ /// Initializes a new instance of the ResourceError class with required
+ /// arguments.
+ ///
+ public ResourceError(string code, string message)
+ : this()
+ {
+ if (code == null)
+ {
+ throw new ArgumentNullException("code");
+ }
+ if (message == null)
+ {
+ throw new ArgumentNullException("message");
+ }
+ this.Code = code;
+ this.Message = message;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceListKeys.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceListKeys.cs
new file mode 100644
index 000000000000..47ef2b473761
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/ResourceListKeys.cs
@@ -0,0 +1,64 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public partial class ResourceListKeys : AzureOperationResponse
+ {
+ private string _primaryConnectionString;
+
+ ///
+ /// Optional. Gets or sets the primaryConnectionString of the created
+ /// Namespace AuthorizationRule.
+ ///
+ public string PrimaryConnectionString
+ {
+ get { return this._primaryConnectionString; }
+ set { this._primaryConnectionString = value; }
+ }
+
+ private string _secondaryConnectionString;
+
+ ///
+ /// Optional. Gets or sets the secondaryConnectionString of the created
+ /// Namespace AuthorizationRule
+ ///
+ public string SecondaryConnectionString
+ {
+ get { return this._secondaryConnectionString; }
+ set { this._secondaryConnectionString = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the ResourceListKeys class.
+ ///
+ public ResourceListKeys()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateParameters.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateParameters.cs
new file mode 100644
index 000000000000..f2b7fb03bcd2
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateParameters.cs
@@ -0,0 +1,90 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Parameters supplied to the CreateOrUpdate Namespace AuthorizationRules.
+ ///
+ public partial class SharedAccessAuthorizationRuleCreateOrUpdateParameters
+ {
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets Namespace data center location.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. Gets or sets Name of the Namespace AuthorizationRule.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private SharedAccessAuthorizationRuleProperties _properties;
+
+ ///
+ /// Required. Gets or sets properties of the Namespace
+ /// AuthorizationRules.
+ ///
+ public SharedAccessAuthorizationRuleProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleCreateOrUpdateParameters class.
+ ///
+ public SharedAccessAuthorizationRuleCreateOrUpdateParameters()
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleCreateOrUpdateParameters class with
+ /// required arguments.
+ ///
+ public SharedAccessAuthorizationRuleCreateOrUpdateParameters(SharedAccessAuthorizationRuleProperties properties)
+ : this()
+ {
+ if (properties == null)
+ {
+ throw new ArgumentNullException("properties");
+ }
+ this.Properties = properties;
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateResponse.cs
new file mode 100644
index 000000000000..f35238fbf21d
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleCreateOrUpdateResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public partial class SharedAccessAuthorizationRuleCreateOrUpdateResponse : AzureOperationResponse
+ {
+ private SharedAccessAuthorizationRuleResource _value;
+
+ ///
+ /// Optional. Gets or Sets Namespace AuthorizationRules description
+ ///
+ public SharedAccessAuthorizationRuleResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleCreateOrUpdateResponse class.
+ ///
+ public SharedAccessAuthorizationRuleCreateOrUpdateResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleGetResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleGetResponse.cs
new file mode 100644
index 000000000000..ab252e3b91ff
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleGetResponse.cs
@@ -0,0 +1,53 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public partial class SharedAccessAuthorizationRuleGetResponse : AzureOperationResponse
+ {
+ private SharedAccessAuthorizationRuleResource _value;
+
+ ///
+ /// Optional. Gets or sets result of the Get Namespace operation.
+ ///
+ public SharedAccessAuthorizationRuleResource Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleGetResponse class.
+ ///
+ public SharedAccessAuthorizationRuleGetResponse()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleListResponse.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleListResponse.cs
new file mode 100644
index 000000000000..277f45826cda
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleListResponse.cs
@@ -0,0 +1,69 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public partial class SharedAccessAuthorizationRuleListResponse : AzureOperationResponse
+ {
+ private string _nextLink;
+
+ ///
+ /// Optional. Gets or sets link to the next set of results. Not empty
+ /// if Value contains incomplete list of AuthorizationRules
+ ///
+ public string NextLink
+ {
+ get { return this._nextLink; }
+ set { this._nextLink = value; }
+ }
+
+ private IList _value;
+
+ ///
+ /// Optional. Gets or sets result of the List AuthorizationRules
+ /// operation.
+ ///
+ public IList Value
+ {
+ get { return this._value; }
+ set { this._value = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleListResponse class.
+ ///
+ public SharedAccessAuthorizationRuleListResponse()
+ {
+ this.Value = new LazyList();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleProperties.cs
new file mode 100644
index 000000000000..3a956764cf58
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleProperties.cs
@@ -0,0 +1,63 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// SharedAccessAuthorizationRule properties.
+ ///
+ public partial class SharedAccessAuthorizationRuleProperties : AuthorizationRule
+ {
+ private string _primaryKey;
+
+ ///
+ /// Optional. The primary key that was used.
+ ///
+ public string PrimaryKey
+ {
+ get { return this._primaryKey; }
+ set { this._primaryKey = value; }
+ }
+
+ private string _secondaryKey;
+
+ ///
+ /// Optional. The secondary key that was used.
+ ///
+ public string SecondaryKey
+ {
+ get { return this._secondaryKey; }
+ set { this._secondaryKey = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleProperties class.
+ ///
+ public SharedAccessAuthorizationRuleProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleResource.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleResource.cs
new file mode 100644
index 000000000000..2d009b428dc7
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/SharedAccessAuthorizationRuleResource.cs
@@ -0,0 +1,113 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Hyak.Common;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a Namespace AuthorizationRules.
+ ///
+ public partial class SharedAccessAuthorizationRuleResource
+ {
+ private string _id;
+
+ ///
+ /// Optional. Gets or sets the id of the created Namespace
+ /// AuthorizationRules.
+ ///
+ public string Id
+ {
+ get { return this._id; }
+ set { this._id = value; }
+ }
+
+ private string _location;
+
+ ///
+ /// Optional. Gets or sets datacenter location of the Namespace
+ /// AuthorizationRules.
+ ///
+ public string Location
+ {
+ get { return this._location; }
+ set { this._location = value; }
+ }
+
+ private string _name;
+
+ ///
+ /// Optional. Gets or sets name of the Namespace AuthorizationRules.
+ ///
+ public string Name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private SharedAccessAuthorizationRuleProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of the Namespace.
+ ///
+ public SharedAccessAuthorizationRuleProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ private IDictionary _tags;
+
+ ///
+ /// Optional. Gets or sets tags of the Namespace AuthorizationRules.
+ ///
+ public IDictionary Tags
+ {
+ get { return this._tags; }
+ set { this._tags = value; }
+ }
+
+ private string _type;
+
+ ///
+ /// Optional. Gets or sets resource type of the Namespace
+ /// AuthorizationRules.
+ ///
+ public string Type
+ {
+ get { return this._type; }
+ set { this._type = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the
+ /// SharedAccessAuthorizationRuleResource class.
+ ///
+ public SharedAccessAuthorizationRuleResource()
+ {
+ this.Tags = new LazyDictionary();
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredential.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredential.cs
new file mode 100644
index 000000000000..9f1ec366b991
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredential.cs
@@ -0,0 +1,51 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub WnsCredential.
+ ///
+ public partial class WnsCredential
+ {
+ private WnsCredentialProperties _properties;
+
+ ///
+ /// Optional. Gets or sets properties of NotificationHub WnsCredential.
+ ///
+ public WnsCredentialProperties Properties
+ {
+ get { return this._properties; }
+ set { this._properties = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the WnsCredential class.
+ ///
+ public WnsCredential()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredentialProperties.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredentialProperties.cs
new file mode 100644
index 000000000000..046b3fdbf7c2
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/Models/WnsCredentialProperties.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs.Models
+{
+ ///
+ /// Description of a NotificationHub WnsCredential.
+ ///
+ public partial class WnsCredentialProperties
+ {
+ private string _packageSid;
+
+ ///
+ /// Optional. Gets or sets the package ID for this credential.
+ ///
+ public string PackageSid
+ {
+ get { return this._packageSid; }
+ set { this._packageSid = value; }
+ }
+
+ private string _secretKey;
+
+ ///
+ /// Optional. Gets or sets the secret key.
+ ///
+ public string SecretKey
+ {
+ get { return this._secretKey; }
+ set { this._secretKey = value; }
+ }
+
+ private string _windowsLiveEndpoint;
+
+ ///
+ /// Optional. Gets or sets the Windows Live endpoint.
+ ///
+ public string WindowsLiveEndpoint
+ {
+ get { return this._windowsLiveEndpoint; }
+ set { this._windowsLiveEndpoint = value; }
+ }
+
+ ///
+ /// Initializes a new instance of the WnsCredentialProperties class.
+ ///
+ public WnsCredentialProperties()
+ {
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperations.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperations.cs
new file mode 100644
index 000000000000..fa597971dea7
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperations.cs
@@ -0,0 +1,3492 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using Hyak.Common;
+using Hyak.Common.Internals;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+using Newtonsoft.Json.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// The Management API includes operations for managing NotificationHub
+ /// only namespaces.
+ ///
+ internal partial class NamespaceOperations : IServiceOperations, INamespaceOperations
+ {
+ ///
+ /// Initializes a new instance of the NamespaceOperations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ internal NamespaceOperations(NotificationHubsManagementClient client)
+ {
+ this._client = client;
+ }
+
+ private NotificationHubsManagementClient _client;
+
+ ///
+ /// Gets a reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient.
+ ///
+ public NotificationHubsManagementClient Client
+ {
+ get { return this._client; }
+ }
+
+ ///
+ /// Deletes an existing namespace. This operation also removes all
+ /// associated notificationHubs under the namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public async Task BeginDeleteAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ TracingAdapter.Enter(invocationId, this, "BeginDeleteAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Delete;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Accepted && statusCode != HttpStatusCode.NoContent)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceLongRunningResponse result = null;
+ // Deserialize Response
+ result = new NamespaceLongRunningResponse();
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("Location"))
+ {
+ result.OperationStatusLink = httpResponse.Headers.GetValues("Location").FirstOrDefault();
+ }
+ if (httpResponse.Headers.Contains("Retry-After"))
+ {
+ result.RetryAfter = int.Parse(httpResponse.Headers.GetValues("Retry-After").FirstOrDefault(), CultureInfo.InvariantCulture);
+ }
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ if (statusCode == HttpStatusCode.BadRequest)
+ {
+ result.Status = OperationStatus.Failed;
+ }
+ if (statusCode == HttpStatusCode.OK)
+ {
+ result.Status = OperationStatus.Succeeded;
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all
+ /// Windows Azure subscriptions. This is useful because the domain
+ /// name is created based on the service namespace name. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public async Task CheckAvailabilityAsync(CheckAvailabilityParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Name == null)
+ {
+ throw new ArgumentNullException("parameters.Name");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CheckAvailabilityAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/checkNamespaceAvailability";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject checkAvailabilityParametersValue = new JObject();
+ requestDoc = checkAvailabilityParametersValue;
+
+ checkAvailabilityParametersValue["name"] = parameters.Name;
+
+ if (parameters.Location != null)
+ {
+ checkAvailabilityParametersValue["location"] = parameters.Location;
+ }
+
+ if (parameters.Tags != null)
+ {
+ if (parameters.Tags is ILazyCollection == false || ((ILazyCollection)parameters.Tags).IsInitialized)
+ {
+ JObject tagsDictionary = new JObject();
+ foreach (KeyValuePair pair in parameters.Tags)
+ {
+ string tagsKey = pair.Key;
+ string tagsValue = pair.Value;
+ tagsDictionary[tagsKey] = tagsValue;
+ }
+ checkAvailabilityParametersValue["tags"] = tagsDictionary;
+ }
+ }
+
+ checkAvailabilityParametersValue["isAvailiable"] = parameters.IsAvailable;
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ CheckAvailabilityResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new CheckAvailabilityResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ CheckAvailabilityResource valueInstance = new CheckAvailabilityResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey2 = ((string)property.Name);
+ string tagsValue2 = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey2, tagsValue2);
+ }
+ }
+
+ JToken isAvailiableValue = responseDoc["isAvailiable"];
+ if (isAvailiableValue != null && isAvailiableValue.Type != JTokenType.Null)
+ {
+ bool isAvailiableInstance = ((bool)isAvailiableValue);
+ valueInstance.IsAvailable = isAvailiableInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Creates/Updates a service namespace. Once created, this namespace's
+ /// resource manifest is immutable. This operation is idempotent.
+ /// (see http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Namespace.
+ ///
+ public async Task CreateOrUpdateAsync(string resourceGroupName, string namespaceName, NamespaceCreateOrUpdateParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Location == null)
+ {
+ throw new ArgumentNullException("parameters.Location");
+ }
+ if (parameters.Properties == null)
+ {
+ throw new ArgumentNullException("parameters.Properties");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CreateOrUpdateAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Put;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject namespaceCreateOrUpdateParametersValue = new JObject();
+ requestDoc = namespaceCreateOrUpdateParametersValue;
+
+ namespaceCreateOrUpdateParametersValue["location"] = parameters.Location;
+
+ if (parameters.Tags != null)
+ {
+ if (parameters.Tags is ILazyCollection == false || ((ILazyCollection)parameters.Tags).IsInitialized)
+ {
+ JObject tagsDictionary = new JObject();
+ foreach (KeyValuePair pair in parameters.Tags)
+ {
+ string tagsKey = pair.Key;
+ string tagsValue = pair.Value;
+ tagsDictionary[tagsKey] = tagsValue;
+ }
+ namespaceCreateOrUpdateParametersValue["tags"] = tagsDictionary;
+ }
+ }
+
+ JObject propertiesValue = new JObject();
+ namespaceCreateOrUpdateParametersValue["properties"] = propertiesValue;
+
+ if (parameters.Properties.Name != null)
+ {
+ propertiesValue["name"] = parameters.Properties.Name;
+ }
+
+ if (parameters.Properties.ProvisioningState != null)
+ {
+ propertiesValue["provisioningState"] = parameters.Properties.ProvisioningState;
+ }
+
+ if (parameters.Properties.Region != null)
+ {
+ propertiesValue["region"] = parameters.Properties.Region;
+ }
+
+ if (parameters.Properties.Status != null)
+ {
+ propertiesValue["status"] = parameters.Properties.Status;
+ }
+
+ propertiesValue["createdAt"] = parameters.Properties.CreatedAt;
+
+ if (parameters.Properties.ServiceBusEndpoint != null)
+ {
+ propertiesValue["serviceBusEndpoint"] = parameters.Properties.ServiceBusEndpoint.AbsoluteUri;
+ }
+
+ if (parameters.Properties.SubscriptionId != null)
+ {
+ propertiesValue["subscriptionId"] = parameters.Properties.SubscriptionId;
+ }
+
+ if (parameters.Properties.ScaleUnit != null)
+ {
+ propertiesValue["scaleUnit"] = parameters.Properties.ScaleUnit;
+ }
+
+ propertiesValue["enabled"] = parameters.Properties.Enabled;
+
+ propertiesValue["critical"] = parameters.Properties.Critical;
+
+ propertiesValue["namespaceType"] = parameters.Properties.NamespaceType.ToString();
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceCreateOrUpdateResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NamespaceCreateOrUpdateResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NamespaceResource valueInstance = new NamespaceResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey2 = ((string)property.Name);
+ string tagsValue2 = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey2, tagsValue2);
+ }
+ }
+
+ JToken propertiesValue2 = responseDoc["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ NamespaceProperties propertiesInstance = new NamespaceProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue2["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken provisioningStateValue = propertiesValue2["provisioningState"];
+ if (provisioningStateValue != null && provisioningStateValue.Type != JTokenType.Null)
+ {
+ string provisioningStateInstance = ((string)provisioningStateValue);
+ propertiesInstance.ProvisioningState = provisioningStateInstance;
+ }
+
+ JToken regionValue = propertiesValue2["region"];
+ if (regionValue != null && regionValue.Type != JTokenType.Null)
+ {
+ string regionInstance = ((string)regionValue);
+ propertiesInstance.Region = regionInstance;
+ }
+
+ JToken statusValue = propertiesValue2["status"];
+ if (statusValue != null && statusValue.Type != JTokenType.Null)
+ {
+ string statusInstance = ((string)statusValue);
+ propertiesInstance.Status = statusInstance;
+ }
+
+ JToken createdAtValue = propertiesValue2["createdAt"];
+ if (createdAtValue != null && createdAtValue.Type != JTokenType.Null)
+ {
+ DateTime createdAtInstance = ((DateTime)createdAtValue);
+ propertiesInstance.CreatedAt = createdAtInstance;
+ }
+
+ JToken serviceBusEndpointValue = propertiesValue2["serviceBusEndpoint"];
+ if (serviceBusEndpointValue != null && serviceBusEndpointValue.Type != JTokenType.Null)
+ {
+ Uri serviceBusEndpointInstance = TypeConversion.TryParseUri(((string)serviceBusEndpointValue));
+ propertiesInstance.ServiceBusEndpoint = serviceBusEndpointInstance;
+ }
+
+ JToken subscriptionIdValue = propertiesValue2["subscriptionId"];
+ if (subscriptionIdValue != null && subscriptionIdValue.Type != JTokenType.Null)
+ {
+ string subscriptionIdInstance = ((string)subscriptionIdValue);
+ propertiesInstance.SubscriptionId = subscriptionIdInstance;
+ }
+
+ JToken scaleUnitValue = propertiesValue2["scaleUnit"];
+ if (scaleUnitValue != null && scaleUnitValue.Type != JTokenType.Null)
+ {
+ string scaleUnitInstance = ((string)scaleUnitValue);
+ propertiesInstance.ScaleUnit = scaleUnitInstance;
+ }
+
+ JToken enabledValue = propertiesValue2["enabled"];
+ if (enabledValue != null && enabledValue.Type != JTokenType.Null)
+ {
+ bool enabledInstance = ((bool)enabledValue);
+ propertiesInstance.Enabled = enabledInstance;
+ }
+
+ JToken criticalValue = propertiesValue2["critical"];
+ if (criticalValue != null && criticalValue.Type != JTokenType.Null)
+ {
+ bool criticalInstance = ((bool)criticalValue);
+ propertiesInstance.Critical = criticalInstance;
+ }
+
+ JToken namespaceTypeValue = propertiesValue2["namespaceType"];
+ if (namespaceTypeValue != null && namespaceTypeValue.Type != JTokenType.Null)
+ {
+ NamespaceType namespaceTypeInstance = ((NamespaceType)Enum.Parse(typeof(NamespaceType), ((string)namespaceTypeValue), true));
+ propertiesInstance.NamespaceType = namespaceTypeInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The create namespace authorization rule operation creates an
+ /// authorization rule for a namespace
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public async Task CreateOrUpdateAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Properties == null)
+ {
+ throw new ArgumentNullException("parameters.Properties");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CreateOrUpdateAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Put;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject sharedAccessAuthorizationRuleCreateOrUpdateParametersValue = new JObject();
+ requestDoc = sharedAccessAuthorizationRuleCreateOrUpdateParametersValue;
+
+ if (parameters.Location != null)
+ {
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["location"] = parameters.Location;
+ }
+
+ if (parameters.Name != null)
+ {
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["name"] = parameters.Name;
+ }
+
+ JObject propertiesValue = new JObject();
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["properties"] = propertiesValue;
+
+ if (parameters.Properties.PrimaryKey != null)
+ {
+ propertiesValue["primaryKey"] = parameters.Properties.PrimaryKey;
+ }
+
+ if (parameters.Properties.SecondaryKey != null)
+ {
+ propertiesValue["secondaryKey"] = parameters.Properties.SecondaryKey;
+ }
+
+ if (parameters.Properties.KeyName != null)
+ {
+ propertiesValue["keyName"] = parameters.Properties.KeyName;
+ }
+
+ if (parameters.Properties.ClaimType != null)
+ {
+ propertiesValue["claimType"] = parameters.Properties.ClaimType;
+ }
+
+ if (parameters.Properties.ClaimValue != null)
+ {
+ propertiesValue["claimValue"] = parameters.Properties.ClaimValue;
+ }
+
+ if (parameters.Properties.Rights != null)
+ {
+ JArray rightsArray = new JArray();
+ foreach (AccessRights rightsItem in parameters.Properties.Rights)
+ {
+ rightsArray.Add(rightsItem.ToString());
+ }
+ propertiesValue["rights"] = rightsArray;
+ }
+
+ propertiesValue["createdTime"] = string.Format(CultureInfo.InvariantCulture, "{0:O}", parameters.Properties.CreatedTime.ToUniversalTime());
+
+ propertiesValue["modifiedTime"] = string.Format(CultureInfo.InvariantCulture, "{0:O}", parameters.Properties.ModifiedTime.ToUniversalTime());
+
+ propertiesValue["revision"] = parameters.Properties.Revision;
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleCreateOrUpdateResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleCreateOrUpdateResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleResource valueInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue2 = responseDoc["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue2["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue2["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue2["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue2["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue2["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray2 = propertiesValue2["rights"];
+ if (rightsArray2 != null && rightsArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray2))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue2["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue2["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue2["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Delete existing Namespace
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The name of the namespace.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public async Task DeleteAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken)
+ {
+ NotificationHubsManagementClient client = this.Client;
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ TracingAdapter.Enter(invocationId, this, "DeleteAsync", tracingParameters);
+ }
+
+ cancellationToken.ThrowIfCancellationRequested();
+ NamespaceLongRunningResponse response = await client.Namespaces.BeginDeleteAsync(resourceGroupName, namespaceName, cancellationToken).ConfigureAwait(false);
+ if (response.Status == OperationStatus.Succeeded)
+ {
+ return response;
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ NamespaceLongRunningResponse result = await client.Namespaces.GetDeleteNamespaceOperationStatusAsync(response.OperationStatusLink, cancellationToken).ConfigureAwait(false);
+ int delayInSeconds = response.RetryAfter;
+ if (delayInSeconds == 0)
+ {
+ delayInSeconds = 60;
+ }
+ if (client.LongRunningOperationInitialTimeout >= 0)
+ {
+ delayInSeconds = client.LongRunningOperationInitialTimeout;
+ }
+ while ((result.Status != OperationStatus.InProgress) == false)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await TaskEx.Delay(delayInSeconds * 1000, cancellationToken).ConfigureAwait(false);
+ cancellationToken.ThrowIfCancellationRequested();
+ result = await client.Namespaces.GetDeleteNamespaceOperationStatusAsync(response.OperationStatusLink, cancellationToken).ConfigureAwait(false);
+ delayInSeconds = result.RetryAfter;
+ if (delayInSeconds == 0)
+ {
+ delayInSeconds = 60;
+ }
+ if (client.LongRunningOperationRetryTimeout >= 0)
+ {
+ delayInSeconds = client.LongRunningOperationRetryTimeout;
+ }
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+
+ return result;
+ }
+
+ ///
+ /// The delete a namespace authorization rule operation
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public async Task DeleteAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "DeleteAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Delete;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.NoContent)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ AzureOperationResponse result = null;
+ // Deserialize Response
+ result = new AzureOperationResponse();
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Returns the description for the specified namespace. (see
+ /// http://msdn.microsoft.com/library/azure/dn140232.aspx for more
+ /// information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public async Task GetAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ TracingAdapter.Enter(invocationId, this, "GetAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceGetResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NamespaceGetResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NamespaceResource valueInstance = new NamespaceResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NamespaceProperties propertiesInstance = new NamespaceProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken provisioningStateValue = propertiesValue["provisioningState"];
+ if (provisioningStateValue != null && provisioningStateValue.Type != JTokenType.Null)
+ {
+ string provisioningStateInstance = ((string)provisioningStateValue);
+ propertiesInstance.ProvisioningState = provisioningStateInstance;
+ }
+
+ JToken regionValue = propertiesValue["region"];
+ if (regionValue != null && regionValue.Type != JTokenType.Null)
+ {
+ string regionInstance = ((string)regionValue);
+ propertiesInstance.Region = regionInstance;
+ }
+
+ JToken statusValue = propertiesValue["status"];
+ if (statusValue != null && statusValue.Type != JTokenType.Null)
+ {
+ string statusInstance = ((string)statusValue);
+ propertiesInstance.Status = statusInstance;
+ }
+
+ JToken createdAtValue = propertiesValue["createdAt"];
+ if (createdAtValue != null && createdAtValue.Type != JTokenType.Null)
+ {
+ DateTime createdAtInstance = ((DateTime)createdAtValue);
+ propertiesInstance.CreatedAt = createdAtInstance;
+ }
+
+ JToken serviceBusEndpointValue = propertiesValue["serviceBusEndpoint"];
+ if (serviceBusEndpointValue != null && serviceBusEndpointValue.Type != JTokenType.Null)
+ {
+ Uri serviceBusEndpointInstance = TypeConversion.TryParseUri(((string)serviceBusEndpointValue));
+ propertiesInstance.ServiceBusEndpoint = serviceBusEndpointInstance;
+ }
+
+ JToken subscriptionIdValue = propertiesValue["subscriptionId"];
+ if (subscriptionIdValue != null && subscriptionIdValue.Type != JTokenType.Null)
+ {
+ string subscriptionIdInstance = ((string)subscriptionIdValue);
+ propertiesInstance.SubscriptionId = subscriptionIdInstance;
+ }
+
+ JToken scaleUnitValue = propertiesValue["scaleUnit"];
+ if (scaleUnitValue != null && scaleUnitValue.Type != JTokenType.Null)
+ {
+ string scaleUnitInstance = ((string)scaleUnitValue);
+ propertiesInstance.ScaleUnit = scaleUnitInstance;
+ }
+
+ JToken enabledValue = propertiesValue["enabled"];
+ if (enabledValue != null && enabledValue.Type != JTokenType.Null)
+ {
+ bool enabledInstance = ((bool)enabledValue);
+ propertiesInstance.Enabled = enabledInstance;
+ }
+
+ JToken criticalValue = propertiesValue["critical"];
+ if (criticalValue != null && criticalValue.Type != JTokenType.Null)
+ {
+ bool criticalInstance = ((bool)criticalValue);
+ propertiesInstance.Critical = criticalInstance;
+ }
+
+ JToken namespaceTypeValue = propertiesValue["namespaceType"];
+ if (namespaceTypeValue != null && namespaceTypeValue.Type != JTokenType.Null)
+ {
+ NamespaceType namespaceTypeInstance = ((NamespaceType)Enum.Parse(typeof(NamespaceType), ((string)namespaceTypeValue), true));
+ propertiesInstance.NamespaceType = namespaceTypeInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a namespace by name.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public async Task GetAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "GetAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleGetResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleGetResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleResource valueInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = propertiesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The Get namespace Delete Operation Status operation returns the
+ /// status of the delete operation. After calling the operation, you
+ /// can call Get namespace Delete Operation Status to determine
+ /// whether the operation has succeeded, failed, or is still in
+ /// progress. This method differs from GetLongRunningOperationStatus
+ /// in providing NotificationHub service resource description.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public async Task GetDeleteNamespaceOperationStatusAsync(string operationStatusLink, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (operationStatusLink == null)
+ {
+ throw new ArgumentNullException("operationStatusLink");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("operationStatusLink", operationStatusLink);
+ TracingAdapter.Enter(invocationId, this, "GetDeleteNamespaceOperationStatusAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + operationStatusLink;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+ httpRequest.Headers.Add("x-ms-version", "2014-09-01");
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Accepted && statusCode != HttpStatusCode.NotFound)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceLongRunningResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.Accepted || statusCode == HttpStatusCode.NotFound)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NamespaceLongRunningResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NamespaceResource valueInstance = new NamespaceResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NamespaceProperties propertiesInstance = new NamespaceProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken provisioningStateValue = propertiesValue["provisioningState"];
+ if (provisioningStateValue != null && provisioningStateValue.Type != JTokenType.Null)
+ {
+ string provisioningStateInstance = ((string)provisioningStateValue);
+ propertiesInstance.ProvisioningState = provisioningStateInstance;
+ }
+
+ JToken regionValue = propertiesValue["region"];
+ if (regionValue != null && regionValue.Type != JTokenType.Null)
+ {
+ string regionInstance = ((string)regionValue);
+ propertiesInstance.Region = regionInstance;
+ }
+
+ JToken statusValue = propertiesValue["status"];
+ if (statusValue != null && statusValue.Type != JTokenType.Null)
+ {
+ string statusInstance = ((string)statusValue);
+ propertiesInstance.Status = statusInstance;
+ }
+
+ JToken createdAtValue = propertiesValue["createdAt"];
+ if (createdAtValue != null && createdAtValue.Type != JTokenType.Null)
+ {
+ DateTime createdAtInstance = ((DateTime)createdAtValue);
+ propertiesInstance.CreatedAt = createdAtInstance;
+ }
+
+ JToken serviceBusEndpointValue = propertiesValue["serviceBusEndpoint"];
+ if (serviceBusEndpointValue != null && serviceBusEndpointValue.Type != JTokenType.Null)
+ {
+ Uri serviceBusEndpointInstance = TypeConversion.TryParseUri(((string)serviceBusEndpointValue));
+ propertiesInstance.ServiceBusEndpoint = serviceBusEndpointInstance;
+ }
+
+ JToken subscriptionIdValue = propertiesValue["subscriptionId"];
+ if (subscriptionIdValue != null && subscriptionIdValue.Type != JTokenType.Null)
+ {
+ string subscriptionIdInstance = ((string)subscriptionIdValue);
+ propertiesInstance.SubscriptionId = subscriptionIdInstance;
+ }
+
+ JToken scaleUnitValue = propertiesValue["scaleUnit"];
+ if (scaleUnitValue != null && scaleUnitValue.Type != JTokenType.Null)
+ {
+ string scaleUnitInstance = ((string)scaleUnitValue);
+ propertiesInstance.ScaleUnit = scaleUnitInstance;
+ }
+
+ JToken enabledValue = propertiesValue["enabled"];
+ if (enabledValue != null && enabledValue.Type != JTokenType.Null)
+ {
+ bool enabledInstance = ((bool)enabledValue);
+ propertiesInstance.Enabled = enabledInstance;
+ }
+
+ JToken criticalValue = propertiesValue["critical"];
+ if (criticalValue != null && criticalValue.Type != JTokenType.Null)
+ {
+ bool criticalInstance = ((bool)criticalValue);
+ propertiesInstance.Critical = criticalInstance;
+ }
+
+ JToken namespaceTypeValue = propertiesValue["namespaceType"];
+ if (namespaceTypeValue != null && namespaceTypeValue.Type != JTokenType.Null)
+ {
+ NamespaceType namespaceTypeInstance = ((NamespaceType)Enum.Parse(typeof(NamespaceType), ((string)namespaceTypeValue), true));
+ propertiesInstance.NamespaceType = namespaceTypeInstance;
+ }
+ }
+
+ ResourceError errorInstance = new ResourceError();
+ result.Error = errorInstance;
+
+ JToken codeValue = responseDoc["code"];
+ if (codeValue != null && codeValue.Type != JTokenType.Null)
+ {
+ string codeInstance = ((string)codeValue);
+ errorInstance.Code = codeInstance;
+ }
+
+ JToken messageValue = responseDoc["message"];
+ if (messageValue != null && messageValue.Type != JTokenType.Null)
+ {
+ string messageInstance = ((string)messageValue);
+ errorInstance.Message = messageInstance;
+ }
+
+ JToken detailsSequenceElement = ((JToken)responseDoc["details"]);
+ if (detailsSequenceElement != null && detailsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property2 in detailsSequenceElement)
+ {
+ string detailsKey = ((string)property2.Name);
+ string detailsValue = ((string)property2.Value);
+ errorInstance.Details.Add(detailsKey, detailsValue);
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("Location"))
+ {
+ result.OperationStatusLink = httpResponse.Headers.GetValues("Location").FirstOrDefault();
+ }
+ if (httpResponse.Headers.Contains("Retry-After"))
+ {
+ result.RetryAfter = int.Parse(httpResponse.Headers.GetValues("Retry-After").FirstOrDefault(), CultureInfo.InvariantCulture);
+ }
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ if (statusCode == HttpStatusCode.BadRequest)
+ {
+ result.Status = OperationStatus.Failed;
+ }
+ if (statusCode == HttpStatusCode.OK)
+ {
+ result.Status = OperationStatus.Succeeded;
+ }
+ if (statusCode == HttpStatusCode.NotFound)
+ {
+ result.Status = OperationStatus.Succeeded;
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The Get Operation Status operation returns the status of the
+ /// specified operation. After calling an asynchronous operation, you
+ /// can call Get Operation Status to determine whether the operation
+ /// has succeeded, failed, or is still in progress.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response for long running operations.
+ ///
+ public async Task GetLongRunningOperationStatusAsync(string operationStatusLink, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (operationStatusLink == null)
+ {
+ throw new ArgumentNullException("operationStatusLink");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("operationStatusLink", operationStatusLink);
+ TracingAdapter.Enter(invocationId, this, "GetLongRunningOperationStatusAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + operationStatusLink;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+ httpRequest.Headers.Add("x-ms-version", "2014-09-01");
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Accepted && statusCode != HttpStatusCode.NotFound)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ LongRunningOperationResponse result = null;
+ // Deserialize Response
+ result = new LongRunningOperationResponse();
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("Location"))
+ {
+ result.OperationStatusLink = httpResponse.Headers.GetValues("Location").FirstOrDefault();
+ }
+ if (httpResponse.Headers.Contains("Retry-After"))
+ {
+ result.RetryAfter = int.Parse(httpResponse.Headers.GetValues("Retry-After").FirstOrDefault(), CultureInfo.InvariantCulture);
+ }
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ if (statusCode == HttpStatusCode.BadRequest)
+ {
+ result.Status = OperationStatus.Failed;
+ }
+ if (statusCode == HttpStatusCode.OK)
+ {
+ result.Status = OperationStatus.Succeeded;
+ }
+ if (statusCode == HttpStatusCode.NotFound)
+ {
+ result.Status = OperationStatus.Succeeded;
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Lists the available namespaces within a resourceGroup. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Required. The name of the resource group. If resourceGroupName
+ /// value is null the method lists all the namespaces within
+ /// subscription
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public async Task ListAsync(string resourceGroupName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ TracingAdapter.Enter(invocationId, this, "ListAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceListResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NamespaceListResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken valueArray = responseDoc["value"];
+ if (valueArray != null && valueArray.Type != JTokenType.Null)
+ {
+ foreach (JToken valueValue in ((JArray)valueArray))
+ {
+ NamespaceResource namespaceResourceInstance = new NamespaceResource();
+ result.Value.Add(namespaceResourceInstance);
+
+ JToken idValue = valueValue["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ namespaceResourceInstance.Id = idInstance;
+ }
+
+ JToken locationValue = valueValue["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ namespaceResourceInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = valueValue["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ namespaceResourceInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = valueValue["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ namespaceResourceInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)valueValue["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ namespaceResourceInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = valueValue["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NamespaceProperties propertiesInstance = new NamespaceProperties();
+ namespaceResourceInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken provisioningStateValue = propertiesValue["provisioningState"];
+ if (provisioningStateValue != null && provisioningStateValue.Type != JTokenType.Null)
+ {
+ string provisioningStateInstance = ((string)provisioningStateValue);
+ propertiesInstance.ProvisioningState = provisioningStateInstance;
+ }
+
+ JToken regionValue = propertiesValue["region"];
+ if (regionValue != null && regionValue.Type != JTokenType.Null)
+ {
+ string regionInstance = ((string)regionValue);
+ propertiesInstance.Region = regionInstance;
+ }
+
+ JToken statusValue = propertiesValue["status"];
+ if (statusValue != null && statusValue.Type != JTokenType.Null)
+ {
+ string statusInstance = ((string)statusValue);
+ propertiesInstance.Status = statusInstance;
+ }
+
+ JToken createdAtValue = propertiesValue["createdAt"];
+ if (createdAtValue != null && createdAtValue.Type != JTokenType.Null)
+ {
+ DateTime createdAtInstance = ((DateTime)createdAtValue);
+ propertiesInstance.CreatedAt = createdAtInstance;
+ }
+
+ JToken serviceBusEndpointValue = propertiesValue["serviceBusEndpoint"];
+ if (serviceBusEndpointValue != null && serviceBusEndpointValue.Type != JTokenType.Null)
+ {
+ Uri serviceBusEndpointInstance = TypeConversion.TryParseUri(((string)serviceBusEndpointValue));
+ propertiesInstance.ServiceBusEndpoint = serviceBusEndpointInstance;
+ }
+
+ JToken subscriptionIdValue = propertiesValue["subscriptionId"];
+ if (subscriptionIdValue != null && subscriptionIdValue.Type != JTokenType.Null)
+ {
+ string subscriptionIdInstance = ((string)subscriptionIdValue);
+ propertiesInstance.SubscriptionId = subscriptionIdInstance;
+ }
+
+ JToken scaleUnitValue = propertiesValue["scaleUnit"];
+ if (scaleUnitValue != null && scaleUnitValue.Type != JTokenType.Null)
+ {
+ string scaleUnitInstance = ((string)scaleUnitValue);
+ propertiesInstance.ScaleUnit = scaleUnitInstance;
+ }
+
+ JToken enabledValue = propertiesValue["enabled"];
+ if (enabledValue != null && enabledValue.Type != JTokenType.Null)
+ {
+ bool enabledInstance = ((bool)enabledValue);
+ propertiesInstance.Enabled = enabledInstance;
+ }
+
+ JToken criticalValue = propertiesValue["critical"];
+ if (criticalValue != null && criticalValue.Type != JTokenType.Null)
+ {
+ bool criticalInstance = ((bool)criticalValue);
+ propertiesInstance.Critical = criticalInstance;
+ }
+
+ JToken namespaceTypeValue = propertiesValue["namespaceType"];
+ if (namespaceTypeValue != null && namespaceTypeValue.Type != JTokenType.Null)
+ {
+ NamespaceType namespaceTypeInstance = ((NamespaceType)Enum.Parse(typeof(NamespaceType), ((string)namespaceTypeValue), true));
+ propertiesInstance.NamespaceType = namespaceTypeInstance;
+ }
+ }
+ }
+ }
+
+ JToken nextLinkValue = responseDoc["nextLink"];
+ if (nextLinkValue != null && nextLinkValue.Type != JTokenType.Null)
+ {
+ string nextLinkInstance = ((string)nextLinkValue);
+ result.NextLink = nextLinkInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription
+ /// irrespective of the resourceGroups. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public async Task ListAllAsync(CancellationToken cancellationToken)
+ {
+ // Validate
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ TracingAdapter.Enter(invocationId, this, "ListAllAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NamespaceListResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NamespaceListResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken valueArray = responseDoc["value"];
+ if (valueArray != null && valueArray.Type != JTokenType.Null)
+ {
+ foreach (JToken valueValue in ((JArray)valueArray))
+ {
+ NamespaceResource namespaceResourceInstance = new NamespaceResource();
+ result.Value.Add(namespaceResourceInstance);
+
+ JToken idValue = valueValue["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ namespaceResourceInstance.Id = idInstance;
+ }
+
+ JToken locationValue = valueValue["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ namespaceResourceInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = valueValue["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ namespaceResourceInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = valueValue["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ namespaceResourceInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)valueValue["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ namespaceResourceInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = valueValue["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NamespaceProperties propertiesInstance = new NamespaceProperties();
+ namespaceResourceInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken provisioningStateValue = propertiesValue["provisioningState"];
+ if (provisioningStateValue != null && provisioningStateValue.Type != JTokenType.Null)
+ {
+ string provisioningStateInstance = ((string)provisioningStateValue);
+ propertiesInstance.ProvisioningState = provisioningStateInstance;
+ }
+
+ JToken regionValue = propertiesValue["region"];
+ if (regionValue != null && regionValue.Type != JTokenType.Null)
+ {
+ string regionInstance = ((string)regionValue);
+ propertiesInstance.Region = regionInstance;
+ }
+
+ JToken statusValue = propertiesValue["status"];
+ if (statusValue != null && statusValue.Type != JTokenType.Null)
+ {
+ string statusInstance = ((string)statusValue);
+ propertiesInstance.Status = statusInstance;
+ }
+
+ JToken createdAtValue = propertiesValue["createdAt"];
+ if (createdAtValue != null && createdAtValue.Type != JTokenType.Null)
+ {
+ DateTime createdAtInstance = ((DateTime)createdAtValue);
+ propertiesInstance.CreatedAt = createdAtInstance;
+ }
+
+ JToken serviceBusEndpointValue = propertiesValue["serviceBusEndpoint"];
+ if (serviceBusEndpointValue != null && serviceBusEndpointValue.Type != JTokenType.Null)
+ {
+ Uri serviceBusEndpointInstance = TypeConversion.TryParseUri(((string)serviceBusEndpointValue));
+ propertiesInstance.ServiceBusEndpoint = serviceBusEndpointInstance;
+ }
+
+ JToken subscriptionIdValue = propertiesValue["subscriptionId"];
+ if (subscriptionIdValue != null && subscriptionIdValue.Type != JTokenType.Null)
+ {
+ string subscriptionIdInstance = ((string)subscriptionIdValue);
+ propertiesInstance.SubscriptionId = subscriptionIdInstance;
+ }
+
+ JToken scaleUnitValue = propertiesValue["scaleUnit"];
+ if (scaleUnitValue != null && scaleUnitValue.Type != JTokenType.Null)
+ {
+ string scaleUnitInstance = ((string)scaleUnitValue);
+ propertiesInstance.ScaleUnit = scaleUnitInstance;
+ }
+
+ JToken enabledValue = propertiesValue["enabled"];
+ if (enabledValue != null && enabledValue.Type != JTokenType.Null)
+ {
+ bool enabledInstance = ((bool)enabledValue);
+ propertiesInstance.Enabled = enabledInstance;
+ }
+
+ JToken criticalValue = propertiesValue["critical"];
+ if (criticalValue != null && criticalValue.Type != JTokenType.Null)
+ {
+ bool criticalInstance = ((bool)criticalValue);
+ propertiesInstance.Critical = criticalInstance;
+ }
+
+ JToken namespaceTypeValue = propertiesValue["namespaceType"];
+ if (namespaceTypeValue != null && namespaceTypeValue.Type != JTokenType.Null)
+ {
+ NamespaceType namespaceTypeInstance = ((NamespaceType)Enum.Parse(typeof(NamespaceType), ((string)namespaceTypeValue), true));
+ propertiesInstance.NamespaceType = namespaceTypeInstance;
+ }
+ }
+ }
+ }
+
+ JToken nextLinkValue = responseDoc["nextLink"];
+ if (nextLinkValue != null && nextLinkValue.Type != JTokenType.Null)
+ {
+ string nextLinkInstance = ((string)nextLinkValue);
+ result.NextLink = nextLinkInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a namespace.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public async Task ListAuthorizationRulesAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ TracingAdapter.Enter(invocationId, this, "ListAuthorizationRulesAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/AuthorizationRules";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleListResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleListResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken valueArray = responseDoc["value"];
+ if (valueArray != null && valueArray.Type != JTokenType.Null)
+ {
+ foreach (JToken valueValue in ((JArray)valueArray))
+ {
+ SharedAccessAuthorizationRuleResource sharedAccessAuthorizationRuleResourceInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value.Add(sharedAccessAuthorizationRuleResourceInstance);
+
+ JToken idValue = valueValue["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ sharedAccessAuthorizationRuleResourceInstance.Id = idInstance;
+ }
+
+ JToken locationValue = valueValue["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ sharedAccessAuthorizationRuleResourceInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = valueValue["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ sharedAccessAuthorizationRuleResourceInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = valueValue["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ sharedAccessAuthorizationRuleResourceInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)valueValue["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ sharedAccessAuthorizationRuleResourceInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = valueValue["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ sharedAccessAuthorizationRuleResourceInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = propertiesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+ }
+
+ JToken nextLinkValue = responseDoc["nextLink"];
+ if (nextLinkValue != null && nextLinkValue.Type != JTokenType.Null)
+ {
+ string nextLinkInstance = ((string)nextLinkValue);
+ result.NextLink = nextLinkInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the namespace
+ /// (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The connection string of the namespace for the specified
+ /// authorizationRule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public async Task ListKeysAsync(string resourceGroupName, string namespaceName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "ListKeysAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ url = url + "/listKeys";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ ResourceListKeys result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new ResourceListKeys();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken primaryConnectionStringValue = responseDoc["primaryConnectionString"];
+ if (primaryConnectionStringValue != null && primaryConnectionStringValue.Type != JTokenType.Null)
+ {
+ string primaryConnectionStringInstance = ((string)primaryConnectionStringValue);
+ result.PrimaryConnectionString = primaryConnectionStringInstance;
+ }
+
+ JToken secondaryConnectionStringValue = responseDoc["secondaryConnectionString"];
+ if (secondaryConnectionStringValue != null && secondaryConnectionStringValue.Type != JTokenType.Null)
+ {
+ string secondaryConnectionStringInstance = ((string)secondaryConnectionStringValue);
+ result.SecondaryConnectionString = secondaryConnectionStringInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperationsExtensions.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperationsExtensions.cs
new file mode 100644
index 000000000000..5ee5090155d2
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NamespaceOperationsExtensions.cs
@@ -0,0 +1,757 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// .Net client wrapper for the REST API for Azure NotificationHub Service
+ ///
+ public static partial class NamespaceOperationsExtensions
+ {
+ ///
+ /// Deletes an existing namespace. This operation also removes all
+ /// associated notificationHubs under the namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static NamespaceLongRunningResponse BeginDelete(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).BeginDeleteAsync(resourceGroupName, namespaceName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Deletes an existing namespace. This operation also removes all
+ /// associated notificationHubs under the namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static Task BeginDeleteAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return operations.BeginDeleteAsync(resourceGroupName, namespaceName, CancellationToken.None);
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all
+ /// Windows Azure subscriptions. This is useful because the domain
+ /// name is created based on the service namespace name. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public static CheckAvailabilityResponse CheckAvailability(this INamespaceOperations operations, CheckAvailabilityParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).CheckAvailabilityAsync(parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Checks the availability of the given service namespace across all
+ /// Windows Azure subscriptions. This is useful because the domain
+ /// name is created based on the service namespace name. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public static Task CheckAvailabilityAsync(this INamespaceOperations operations, CheckAvailabilityParameters parameters)
+ {
+ return operations.CheckAvailabilityAsync(parameters, CancellationToken.None);
+ }
+
+ ///
+ /// Creates/Updates a service namespace. Once created, this namespace's
+ /// resource manifest is immutable. This operation is idempotent.
+ /// (see http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Namespace.
+ ///
+ public static NamespaceCreateOrUpdateResponse CreateOrUpdate(this INamespaceOperations operations, string resourceGroupName, string namespaceName, NamespaceCreateOrUpdateParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).CreateOrUpdateAsync(resourceGroupName, namespaceName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Creates/Updates a service namespace. Once created, this namespace's
+ /// resource manifest is immutable. This operation is idempotent.
+ /// (see http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Namespace.
+ ///
+ public static Task CreateOrUpdateAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName, NamespaceCreateOrUpdateParameters parameters)
+ {
+ return operations.CreateOrUpdateAsync(resourceGroupName, namespaceName, parameters, CancellationToken.None);
+ }
+
+ ///
+ /// The create namespace authorization rule operation creates an
+ /// authorization rule for a namespace
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public static SharedAccessAuthorizationRuleCreateOrUpdateResponse CreateOrUpdateAuthorizationRule(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).CreateOrUpdateAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The create namespace authorization rule operation creates an
+ /// authorization rule for a namespace
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public static Task CreateOrUpdateAuthorizationRuleAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters)
+ {
+ return operations.CreateOrUpdateAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName, parameters, CancellationToken.None);
+ }
+
+ ///
+ /// Delete existing Namespace
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The name of the namespace.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static NamespaceLongRunningResponse Delete(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).DeleteAsync(resourceGroupName, namespaceName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Delete existing Namespace
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The name of the namespace.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static Task DeleteAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return operations.DeleteAsync(resourceGroupName, namespaceName, CancellationToken.None);
+ }
+
+ ///
+ /// The delete a namespace authorization rule operation
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static AzureOperationResponse DeleteAuthorizationRule(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).DeleteAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The delete a namespace authorization rule operation
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static Task DeleteAuthorizationRuleAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return operations.DeleteAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName, CancellationToken.None);
+ }
+
+ ///
+ /// Returns the description for the specified namespace. (see
+ /// http://msdn.microsoft.com/library/azure/dn140232.aspx for more
+ /// information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static NamespaceGetResponse Get(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).GetAsync(resourceGroupName, namespaceName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Returns the description for the specified namespace. (see
+ /// http://msdn.microsoft.com/library/azure/dn140232.aspx for more
+ /// information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static Task GetAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return operations.GetAsync(resourceGroupName, namespaceName, CancellationToken.None);
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a namespace by name.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static SharedAccessAuthorizationRuleGetResponse GetAuthorizationRule(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).GetAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a namespace by name.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static Task GetAuthorizationRuleAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return operations.GetAuthorizationRuleAsync(resourceGroupName, namespaceName, authorizationRuleName, CancellationToken.None);
+ }
+
+ ///
+ /// The Get namespace Delete Operation Status operation returns the
+ /// status of the delete operation. After calling the operation, you
+ /// can call Get namespace Delete Operation Status to determine
+ /// whether the operation has succeeded, failed, or is still in
+ /// progress. This method differs from GetLongRunningOperationStatus
+ /// in providing NotificationHub service resource description.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static NamespaceLongRunningResponse GetDeleteNamespaceOperationStatus(this INamespaceOperations operations, string operationStatusLink)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).GetDeleteNamespaceOperationStatusAsync(operationStatusLink);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The Get namespace Delete Operation Status operation returns the
+ /// status of the delete operation. After calling the operation, you
+ /// can call Get namespace Delete Operation Status to determine
+ /// whether the operation has succeeded, failed, or is still in
+ /// progress. This method differs from GetLongRunningOperationStatus
+ /// in providing NotificationHub service resource description.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// The response of the CreateOrUpdate Api Management service long
+ /// running operation.
+ ///
+ public static Task GetDeleteNamespaceOperationStatusAsync(this INamespaceOperations operations, string operationStatusLink)
+ {
+ return operations.GetDeleteNamespaceOperationStatusAsync(operationStatusLink, CancellationToken.None);
+ }
+
+ ///
+ /// The Get Operation Status operation returns the status of the
+ /// specified operation. After calling an asynchronous operation, you
+ /// can call Get Operation Status to determine whether the operation
+ /// has succeeded, failed, or is still in progress.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// A standard service response for long running operations.
+ ///
+ public static LongRunningOperationResponse GetLongRunningOperationStatus(this INamespaceOperations operations, string operationStatusLink)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).GetLongRunningOperationStatusAsync(operationStatusLink);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The Get Operation Status operation returns the status of the
+ /// specified operation. After calling an asynchronous operation, you
+ /// can call Get Operation Status to determine whether the operation
+ /// has succeeded, failed, or is still in progress.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. Location value returned by the Begin operation.
+ ///
+ ///
+ /// A standard service response for long running operations.
+ ///
+ public static Task GetLongRunningOperationStatusAsync(this INamespaceOperations operations, string operationStatusLink)
+ {
+ return operations.GetLongRunningOperationStatusAsync(operationStatusLink, CancellationToken.None);
+ }
+
+ ///
+ /// Lists the available namespaces within a resourceGroup. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group. If resourceGroupName
+ /// value is null the method lists all the namespaces within
+ /// subscription
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static NamespaceListResponse List(this INamespaceOperations operations, string resourceGroupName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).ListAsync(resourceGroupName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists the available namespaces within a resourceGroup. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group. If resourceGroupName
+ /// value is null the method lists all the namespaces within
+ /// subscription
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static Task ListAsync(this INamespaceOperations operations, string resourceGroupName)
+ {
+ return operations.ListAsync(resourceGroupName, CancellationToken.None);
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription
+ /// irrespective of the resourceGroups. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static NamespaceListResponse ListAll(this INamespaceOperations operations)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).ListAllAsync();
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists all the available namespaces within the subscription
+ /// irrespective of the resourceGroups. (see
+ /// http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for
+ /// more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static Task ListAllAsync(this INamespaceOperations operations)
+ {
+ return operations.ListAllAsync(CancellationToken.None);
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static SharedAccessAuthorizationRuleListResponse ListAuthorizationRules(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).ListAuthorizationRulesAsync(resourceGroupName, namespaceName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static Task ListAuthorizationRulesAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return operations.ListAuthorizationRulesAsync(resourceGroupName, namespaceName, CancellationToken.None);
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the namespace
+ /// (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The connection string of the namespace for the specified
+ /// authorizationRule.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public static ResourceListKeys ListKeys(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INamespaceOperations)s).ListKeysAsync(resourceGroupName, namespaceName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the namespace
+ /// (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INamespaceOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The connection string of the namespace for the specified
+ /// authorizationRule.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public static Task ListKeysAsync(this INamespaceOperations operations, string resourceGroupName, string namespaceName, string authorizationRuleName)
+ {
+ return operations.ListKeysAsync(resourceGroupName, namespaceName, authorizationRuleName, CancellationToken.None);
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperations.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperations.cs
new file mode 100644
index 000000000000..9eed484ab661
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperations.cs
@@ -0,0 +1,4937 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using Hyak.Common;
+using Hyak.Common.Internals;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+using Newtonsoft.Json.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// The Management API includes operations for managing notification hubs.
+ ///
+ internal partial class NotificationHubOperations : IServiceOperations, INotificationHubOperations
+ {
+ ///
+ /// Initializes a new instance of the NotificationHubOperations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ internal NotificationHubOperations(NotificationHubsManagementClient client)
+ {
+ this._client = client;
+ }
+
+ private NotificationHubsManagementClient _client;
+
+ ///
+ /// Gets a reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.NotificationHubsManagementClient.
+ ///
+ public NotificationHubsManagementClient Client
+ {
+ get { return this._client; }
+ }
+
+ ///
+ /// Checks the availability of the given notificationHub in a
+ /// namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notificationHub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public async Task CheckAvailabilityAsync(string resourceGroupName, string namespaceName, CheckAvailabilityParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Name == null)
+ {
+ throw new ArgumentNullException("parameters.Name");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CheckAvailabilityAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/checkNotificationHubAvailability";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject checkAvailabilityParametersValue = new JObject();
+ requestDoc = checkAvailabilityParametersValue;
+
+ checkAvailabilityParametersValue["name"] = parameters.Name;
+
+ if (parameters.Location != null)
+ {
+ checkAvailabilityParametersValue["location"] = parameters.Location;
+ }
+
+ if (parameters.Tags != null)
+ {
+ if (parameters.Tags is ILazyCollection == false || ((ILazyCollection)parameters.Tags).IsInitialized)
+ {
+ JObject tagsDictionary = new JObject();
+ foreach (KeyValuePair pair in parameters.Tags)
+ {
+ string tagsKey = pair.Key;
+ string tagsValue = pair.Value;
+ tagsDictionary[tagsKey] = tagsValue;
+ }
+ checkAvailabilityParametersValue["tags"] = tagsDictionary;
+ }
+ }
+
+ checkAvailabilityParametersValue["isAvailiable"] = parameters.IsAvailable;
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ CheckAvailabilityResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new CheckAvailabilityResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ CheckAvailabilityResource valueInstance = new CheckAvailabilityResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey2 = ((string)property.Name);
+ string tagsValue2 = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey2, tagsValue2);
+ }
+ }
+
+ JToken isAvailiableValue = responseDoc["isAvailiable"];
+ if (isAvailiableValue != null && isAvailiableValue.Type != JTokenType.Null)
+ {
+ bool isAvailiableInstance = ((bool)isAvailiableValue);
+ valueInstance.IsAvailable = isAvailiableInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public async Task CreateAsync(string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Location == null)
+ {
+ throw new ArgumentNullException("parameters.Location");
+ }
+ if (parameters.Properties == null)
+ {
+ throw new ArgumentNullException("parameters.Properties");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CreateAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Put;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject notificationHubCreateOrUpdateParametersValue = new JObject();
+ requestDoc = notificationHubCreateOrUpdateParametersValue;
+
+ notificationHubCreateOrUpdateParametersValue["location"] = parameters.Location;
+
+ if (parameters.Tags != null)
+ {
+ if (parameters.Tags is ILazyCollection == false || ((ILazyCollection)parameters.Tags).IsInitialized)
+ {
+ JObject tagsDictionary = new JObject();
+ foreach (KeyValuePair pair in parameters.Tags)
+ {
+ string tagsKey = pair.Key;
+ string tagsValue = pair.Value;
+ tagsDictionary[tagsKey] = tagsValue;
+ }
+ notificationHubCreateOrUpdateParametersValue["tags"] = tagsDictionary;
+ }
+ }
+
+ JObject propertiesValue = new JObject();
+ notificationHubCreateOrUpdateParametersValue["properties"] = propertiesValue;
+
+ if (parameters.Properties.Name != null)
+ {
+ propertiesValue["name"] = parameters.Properties.Name;
+ }
+
+ if (parameters.Properties.RegistrationTtl != null)
+ {
+ propertiesValue["registrationTtl"] = parameters.Properties.RegistrationTtl;
+ }
+
+ if (parameters.Properties.AuthorizationRules != null)
+ {
+ if (parameters.Properties.AuthorizationRules is ILazyCollection == false || ((ILazyCollection)parameters.Properties.AuthorizationRules).IsInitialized)
+ {
+ JArray authorizationRulesArray = new JArray();
+ foreach (SharedAccessAuthorizationRuleProperties authorizationRulesItem in parameters.Properties.AuthorizationRules)
+ {
+ if (authorizationRulesItem.PrimaryKey != null)
+ {
+ requestDoc = authorizationRulesItem.PrimaryKey;
+ }
+
+ if (authorizationRulesItem.SecondaryKey != null)
+ {
+ requestDoc = authorizationRulesItem.SecondaryKey;
+ }
+
+ if (authorizationRulesItem.KeyName != null)
+ {
+ requestDoc = authorizationRulesItem.KeyName;
+ }
+
+ if (authorizationRulesItem.ClaimType != null)
+ {
+ requestDoc = authorizationRulesItem.ClaimType;
+ }
+
+ if (authorizationRulesItem.ClaimValue != null)
+ {
+ requestDoc = authorizationRulesItem.ClaimValue;
+ }
+
+ if (authorizationRulesItem.Rights != null)
+ {
+ JArray rightsArray = new JArray();
+ foreach (AccessRights rightsItem in authorizationRulesItem.Rights)
+ {
+ rightsArray.Add(rightsItem.ToString());
+ }
+ requestDoc = rightsArray;
+ }
+
+ requestDoc = string.Format(CultureInfo.InvariantCulture, "{0:O}", authorizationRulesItem.CreatedTime.ToUniversalTime());
+
+ requestDoc = string.Format(CultureInfo.InvariantCulture, "{0:O}", authorizationRulesItem.ModifiedTime.ToUniversalTime());
+
+ requestDoc = authorizationRulesItem.Revision;
+ }
+ propertiesValue["authorizationRules"] = authorizationRulesArray;
+ }
+ }
+
+ if (parameters.Properties.ApnsCredential != null)
+ {
+ JObject apnsCredentialValue = new JObject();
+ propertiesValue["apnsCredential"] = apnsCredentialValue;
+
+ if (parameters.Properties.ApnsCredential.Properties != null)
+ {
+ JObject propertiesValue2 = new JObject();
+ apnsCredentialValue["properties"] = propertiesValue2;
+
+ if (parameters.Properties.ApnsCredential.Properties.ApnsCertificate != null)
+ {
+ propertiesValue2["apnsCertificate"] = parameters.Properties.ApnsCredential.Properties.ApnsCertificate;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.CertificateKey != null)
+ {
+ propertiesValue2["certificateKey"] = parameters.Properties.ApnsCredential.Properties.CertificateKey;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.Endpoint != null)
+ {
+ propertiesValue2["endpoint"] = parameters.Properties.ApnsCredential.Properties.Endpoint;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.Thumbprint != null)
+ {
+ propertiesValue2["thumbprint"] = parameters.Properties.ApnsCredential.Properties.Thumbprint;
+ }
+ }
+ }
+
+ if (parameters.Properties.WnsCredential != null)
+ {
+ JObject wnsCredentialValue = new JObject();
+ propertiesValue["wnsCredential"] = wnsCredentialValue;
+
+ if (parameters.Properties.WnsCredential.Properties != null)
+ {
+ JObject propertiesValue3 = new JObject();
+ wnsCredentialValue["properties"] = propertiesValue3;
+
+ if (parameters.Properties.WnsCredential.Properties.PackageSid != null)
+ {
+ propertiesValue3["packageSid"] = parameters.Properties.WnsCredential.Properties.PackageSid;
+ }
+
+ if (parameters.Properties.WnsCredential.Properties.SecretKey != null)
+ {
+ propertiesValue3["secretKey"] = parameters.Properties.WnsCredential.Properties.SecretKey;
+ }
+
+ if (parameters.Properties.WnsCredential.Properties.WindowsLiveEndpoint != null)
+ {
+ propertiesValue3["windowsLiveEndpoint"] = parameters.Properties.WnsCredential.Properties.WindowsLiveEndpoint;
+ }
+ }
+ }
+
+ if (parameters.Properties.GcmCredential != null)
+ {
+ JObject gcmCredentialValue = new JObject();
+ propertiesValue["gcmCredential"] = gcmCredentialValue;
+
+ if (parameters.Properties.GcmCredential.Properties != null)
+ {
+ JObject propertiesValue4 = new JObject();
+ gcmCredentialValue["properties"] = propertiesValue4;
+
+ if (parameters.Properties.GcmCredential.Properties.GcmEndpoint != null)
+ {
+ propertiesValue4["gcmEndpoint"] = parameters.Properties.GcmCredential.Properties.GcmEndpoint;
+ }
+
+ if (parameters.Properties.GcmCredential.Properties.GoogleApiKey != null)
+ {
+ propertiesValue4["googleApiKey"] = parameters.Properties.GcmCredential.Properties.GoogleApiKey;
+ }
+ }
+ }
+
+ if (parameters.Properties.MpnsCredential != null)
+ {
+ JObject mpnsCredentialValue = new JObject();
+ propertiesValue["mpnsCredential"] = mpnsCredentialValue;
+
+ if (parameters.Properties.MpnsCredential.Properties != null)
+ {
+ JObject propertiesValue5 = new JObject();
+ mpnsCredentialValue["properties"] = propertiesValue5;
+
+ if (parameters.Properties.MpnsCredential.Properties.MpnsCertificate != null)
+ {
+ propertiesValue5["mpnsCertificate"] = parameters.Properties.MpnsCredential.Properties.MpnsCertificate;
+ }
+
+ if (parameters.Properties.MpnsCredential.Properties.CertificateKey != null)
+ {
+ propertiesValue5["certificateKey"] = parameters.Properties.MpnsCredential.Properties.CertificateKey;
+ }
+
+ if (parameters.Properties.MpnsCredential.Properties.Thumbprint != null)
+ {
+ propertiesValue5["thumbprint"] = parameters.Properties.MpnsCredential.Properties.Thumbprint;
+ }
+ }
+ }
+
+ if (parameters.Properties.AdmCredential != null)
+ {
+ JObject admCredentialValue = new JObject();
+ propertiesValue["admCredential"] = admCredentialValue;
+
+ if (parameters.Properties.AdmCredential.Properties != null)
+ {
+ JObject propertiesValue6 = new JObject();
+ admCredentialValue["properties"] = propertiesValue6;
+
+ if (parameters.Properties.AdmCredential.Properties.ClientId != null)
+ {
+ propertiesValue6["clientId"] = parameters.Properties.AdmCredential.Properties.ClientId;
+ }
+
+ if (parameters.Properties.AdmCredential.Properties.ClientSecret != null)
+ {
+ propertiesValue6["clientSecret"] = parameters.Properties.AdmCredential.Properties.ClientSecret;
+ }
+
+ if (parameters.Properties.AdmCredential.Properties.AuthTokenUrl != null)
+ {
+ propertiesValue6["authTokenUrl"] = parameters.Properties.AdmCredential.Properties.AuthTokenUrl;
+ }
+ }
+ }
+
+ if (parameters.Properties.BaiduCredential != null)
+ {
+ JObject baiduCredentialValue = new JObject();
+ propertiesValue["baiduCredential"] = baiduCredentialValue;
+
+ if (parameters.Properties.BaiduCredential.Properties != null)
+ {
+ JObject propertiesValue7 = new JObject();
+ baiduCredentialValue["properties"] = propertiesValue7;
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduApiKey != null)
+ {
+ propertiesValue7["baiduApiKey"] = parameters.Properties.BaiduCredential.Properties.BaiduApiKey;
+ }
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduEndPoint != null)
+ {
+ propertiesValue7["baiduEndPoint"] = parameters.Properties.BaiduCredential.Properties.BaiduEndPoint;
+ }
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduSecretKey != null)
+ {
+ propertiesValue7["baiduSecretKey"] = parameters.Properties.BaiduCredential.Properties.BaiduSecretKey;
+ }
+ }
+ }
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NotificationHubCreateOrUpdateResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NotificationHubCreateOrUpdateResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NotificationHubResource valueInstance = new NotificationHubResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey2 = ((string)property.Name);
+ string tagsValue2 = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey2, tagsValue2);
+ }
+ }
+
+ JToken propertiesValue8 = responseDoc["properties"];
+ if (propertiesValue8 != null && propertiesValue8.Type != JTokenType.Null)
+ {
+ NotificationHubProperties propertiesInstance = new NotificationHubProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue8["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken registrationTtlValue = propertiesValue8["registrationTtl"];
+ if (registrationTtlValue != null && registrationTtlValue.Type != JTokenType.Null)
+ {
+ string registrationTtlInstance = ((string)registrationTtlValue);
+ propertiesInstance.RegistrationTtl = registrationTtlInstance;
+ }
+
+ JToken authorizationRulesArray2 = propertiesValue8["authorizationRules"];
+ if (authorizationRulesArray2 != null && authorizationRulesArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken authorizationRulesValue in ((JArray)authorizationRulesArray2))
+ {
+ SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ propertiesInstance.AuthorizationRules.Add(sharedAccessAuthorizationRulePropertiesInstance);
+
+ JToken primaryKeyValue = authorizationRulesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = authorizationRulesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = authorizationRulesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ sharedAccessAuthorizationRulePropertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = authorizationRulesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = authorizationRulesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray2 = authorizationRulesValue["rights"];
+ if (rightsArray2 != null && rightsArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray2))
+ {
+ sharedAccessAuthorizationRulePropertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = authorizationRulesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = authorizationRulesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = authorizationRulesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ sharedAccessAuthorizationRulePropertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ JToken apnsCredentialValue2 = propertiesValue8["apnsCredential"];
+ if (apnsCredentialValue2 != null && apnsCredentialValue2.Type != JTokenType.Null)
+ {
+ ApnsCredential apnsCredentialInstance = new ApnsCredential();
+ propertiesInstance.ApnsCredential = apnsCredentialInstance;
+
+ JToken propertiesValue9 = apnsCredentialValue2["properties"];
+ if (propertiesValue9 != null && propertiesValue9.Type != JTokenType.Null)
+ {
+ ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
+ apnsCredentialInstance.Properties = propertiesInstance2;
+
+ JToken apnsCertificateValue = propertiesValue9["apnsCertificate"];
+ if (apnsCertificateValue != null && apnsCertificateValue.Type != JTokenType.Null)
+ {
+ string apnsCertificateInstance = ((string)apnsCertificateValue);
+ propertiesInstance2.ApnsCertificate = apnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue = propertiesValue9["certificateKey"];
+ if (certificateKeyValue != null && certificateKeyValue.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance = ((string)certificateKeyValue);
+ propertiesInstance2.CertificateKey = certificateKeyInstance;
+ }
+
+ JToken endpointValue = propertiesValue9["endpoint"];
+ if (endpointValue != null && endpointValue.Type != JTokenType.Null)
+ {
+ string endpointInstance = ((string)endpointValue);
+ propertiesInstance2.Endpoint = endpointInstance;
+ }
+
+ JToken thumbprintValue = propertiesValue9["thumbprint"];
+ if (thumbprintValue != null && thumbprintValue.Type != JTokenType.Null)
+ {
+ string thumbprintInstance = ((string)thumbprintValue);
+ propertiesInstance2.Thumbprint = thumbprintInstance;
+ }
+ }
+ }
+
+ JToken wnsCredentialValue2 = propertiesValue8["wnsCredential"];
+ if (wnsCredentialValue2 != null && wnsCredentialValue2.Type != JTokenType.Null)
+ {
+ WnsCredential wnsCredentialInstance = new WnsCredential();
+ propertiesInstance.WnsCredential = wnsCredentialInstance;
+
+ JToken propertiesValue10 = wnsCredentialValue2["properties"];
+ if (propertiesValue10 != null && propertiesValue10.Type != JTokenType.Null)
+ {
+ WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
+ wnsCredentialInstance.Properties = propertiesInstance3;
+
+ JToken packageSidValue = propertiesValue10["packageSid"];
+ if (packageSidValue != null && packageSidValue.Type != JTokenType.Null)
+ {
+ string packageSidInstance = ((string)packageSidValue);
+ propertiesInstance3.PackageSid = packageSidInstance;
+ }
+
+ JToken secretKeyValue = propertiesValue10["secretKey"];
+ if (secretKeyValue != null && secretKeyValue.Type != JTokenType.Null)
+ {
+ string secretKeyInstance = ((string)secretKeyValue);
+ propertiesInstance3.SecretKey = secretKeyInstance;
+ }
+
+ JToken windowsLiveEndpointValue = propertiesValue10["windowsLiveEndpoint"];
+ if (windowsLiveEndpointValue != null && windowsLiveEndpointValue.Type != JTokenType.Null)
+ {
+ string windowsLiveEndpointInstance = ((string)windowsLiveEndpointValue);
+ propertiesInstance3.WindowsLiveEndpoint = windowsLiveEndpointInstance;
+ }
+ }
+ }
+
+ JToken gcmCredentialValue2 = propertiesValue8["gcmCredential"];
+ if (gcmCredentialValue2 != null && gcmCredentialValue2.Type != JTokenType.Null)
+ {
+ GcmCredential gcmCredentialInstance = new GcmCredential();
+ propertiesInstance.GcmCredential = gcmCredentialInstance;
+
+ JToken propertiesValue11 = gcmCredentialValue2["properties"];
+ if (propertiesValue11 != null && propertiesValue11.Type != JTokenType.Null)
+ {
+ GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
+ gcmCredentialInstance.Properties = propertiesInstance4;
+
+ JToken gcmEndpointValue = propertiesValue11["gcmEndpoint"];
+ if (gcmEndpointValue != null && gcmEndpointValue.Type != JTokenType.Null)
+ {
+ string gcmEndpointInstance = ((string)gcmEndpointValue);
+ propertiesInstance4.GcmEndpoint = gcmEndpointInstance;
+ }
+
+ JToken googleApiKeyValue = propertiesValue11["googleApiKey"];
+ if (googleApiKeyValue != null && googleApiKeyValue.Type != JTokenType.Null)
+ {
+ string googleApiKeyInstance = ((string)googleApiKeyValue);
+ propertiesInstance4.GoogleApiKey = googleApiKeyInstance;
+ }
+ }
+ }
+
+ JToken mpnsCredentialValue2 = propertiesValue8["mpnsCredential"];
+ if (mpnsCredentialValue2 != null && mpnsCredentialValue2.Type != JTokenType.Null)
+ {
+ MpnsCredential mpnsCredentialInstance = new MpnsCredential();
+ propertiesInstance.MpnsCredential = mpnsCredentialInstance;
+
+ JToken propertiesValue12 = mpnsCredentialValue2["properties"];
+ if (propertiesValue12 != null && propertiesValue12.Type != JTokenType.Null)
+ {
+ MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
+ mpnsCredentialInstance.Properties = propertiesInstance5;
+
+ JToken mpnsCertificateValue = propertiesValue12["mpnsCertificate"];
+ if (mpnsCertificateValue != null && mpnsCertificateValue.Type != JTokenType.Null)
+ {
+ string mpnsCertificateInstance = ((string)mpnsCertificateValue);
+ propertiesInstance5.MpnsCertificate = mpnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue2 = propertiesValue12["certificateKey"];
+ if (certificateKeyValue2 != null && certificateKeyValue2.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance2 = ((string)certificateKeyValue2);
+ propertiesInstance5.CertificateKey = certificateKeyInstance2;
+ }
+
+ JToken thumbprintValue2 = propertiesValue12["thumbprint"];
+ if (thumbprintValue2 != null && thumbprintValue2.Type != JTokenType.Null)
+ {
+ string thumbprintInstance2 = ((string)thumbprintValue2);
+ propertiesInstance5.Thumbprint = thumbprintInstance2;
+ }
+ }
+ }
+
+ JToken admCredentialValue2 = propertiesValue8["admCredential"];
+ if (admCredentialValue2 != null && admCredentialValue2.Type != JTokenType.Null)
+ {
+ AdmCredential admCredentialInstance = new AdmCredential();
+ propertiesInstance.AdmCredential = admCredentialInstance;
+
+ JToken propertiesValue13 = admCredentialValue2["properties"];
+ if (propertiesValue13 != null && propertiesValue13.Type != JTokenType.Null)
+ {
+ AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
+ admCredentialInstance.Properties = propertiesInstance6;
+
+ JToken clientIdValue = propertiesValue13["clientId"];
+ if (clientIdValue != null && clientIdValue.Type != JTokenType.Null)
+ {
+ string clientIdInstance = ((string)clientIdValue);
+ propertiesInstance6.ClientId = clientIdInstance;
+ }
+
+ JToken clientSecretValue = propertiesValue13["clientSecret"];
+ if (clientSecretValue != null && clientSecretValue.Type != JTokenType.Null)
+ {
+ string clientSecretInstance = ((string)clientSecretValue);
+ propertiesInstance6.ClientSecret = clientSecretInstance;
+ }
+
+ JToken authTokenUrlValue = propertiesValue13["authTokenUrl"];
+ if (authTokenUrlValue != null && authTokenUrlValue.Type != JTokenType.Null)
+ {
+ string authTokenUrlInstance = ((string)authTokenUrlValue);
+ propertiesInstance6.AuthTokenUrl = authTokenUrlInstance;
+ }
+ }
+ }
+
+ JToken baiduCredentialValue2 = propertiesValue8["baiduCredential"];
+ if (baiduCredentialValue2 != null && baiduCredentialValue2.Type != JTokenType.Null)
+ {
+ BaiduCredential baiduCredentialInstance = new BaiduCredential();
+ propertiesInstance.BaiduCredential = baiduCredentialInstance;
+
+ JToken propertiesValue14 = baiduCredentialValue2["properties"];
+ if (propertiesValue14 != null && propertiesValue14.Type != JTokenType.Null)
+ {
+ BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
+ baiduCredentialInstance.Properties = propertiesInstance7;
+
+ JToken baiduApiKeyValue = propertiesValue14["baiduApiKey"];
+ if (baiduApiKeyValue != null && baiduApiKeyValue.Type != JTokenType.Null)
+ {
+ string baiduApiKeyInstance = ((string)baiduApiKeyValue);
+ propertiesInstance7.BaiduApiKey = baiduApiKeyInstance;
+ }
+
+ JToken baiduEndPointValue = propertiesValue14["baiduEndPoint"];
+ if (baiduEndPointValue != null && baiduEndPointValue.Type != JTokenType.Null)
+ {
+ string baiduEndPointInstance = ((string)baiduEndPointValue);
+ propertiesInstance7.BaiduEndPoint = baiduEndPointInstance;
+ }
+
+ JToken baiduSecretKeyValue = propertiesValue14["baiduSecretKey"];
+ if (baiduSecretKeyValue != null && baiduSecretKeyValue.Type != JTokenType.Null)
+ {
+ string baiduSecretKeyInstance = ((string)baiduSecretKeyValue);
+ propertiesInstance7.BaiduSecretKey = baiduSecretKeyInstance;
+ }
+ }
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The create NotificationHub authorization rule operation creates an
+ /// authorization rule for a NotificationHub
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public async Task CreateOrUpdateAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Properties == null)
+ {
+ throw new ArgumentNullException("parameters.Properties");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "CreateOrUpdateAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Put;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject sharedAccessAuthorizationRuleCreateOrUpdateParametersValue = new JObject();
+ requestDoc = sharedAccessAuthorizationRuleCreateOrUpdateParametersValue;
+
+ if (parameters.Location != null)
+ {
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["location"] = parameters.Location;
+ }
+
+ if (parameters.Name != null)
+ {
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["name"] = parameters.Name;
+ }
+
+ JObject propertiesValue = new JObject();
+ sharedAccessAuthorizationRuleCreateOrUpdateParametersValue["properties"] = propertiesValue;
+
+ if (parameters.Properties.PrimaryKey != null)
+ {
+ propertiesValue["primaryKey"] = parameters.Properties.PrimaryKey;
+ }
+
+ if (parameters.Properties.SecondaryKey != null)
+ {
+ propertiesValue["secondaryKey"] = parameters.Properties.SecondaryKey;
+ }
+
+ if (parameters.Properties.KeyName != null)
+ {
+ propertiesValue["keyName"] = parameters.Properties.KeyName;
+ }
+
+ if (parameters.Properties.ClaimType != null)
+ {
+ propertiesValue["claimType"] = parameters.Properties.ClaimType;
+ }
+
+ if (parameters.Properties.ClaimValue != null)
+ {
+ propertiesValue["claimValue"] = parameters.Properties.ClaimValue;
+ }
+
+ if (parameters.Properties.Rights != null)
+ {
+ JArray rightsArray = new JArray();
+ foreach (AccessRights rightsItem in parameters.Properties.Rights)
+ {
+ rightsArray.Add(rightsItem.ToString());
+ }
+ propertiesValue["rights"] = rightsArray;
+ }
+
+ propertiesValue["createdTime"] = string.Format(CultureInfo.InvariantCulture, "{0:O}", parameters.Properties.CreatedTime.ToUniversalTime());
+
+ propertiesValue["modifiedTime"] = string.Format(CultureInfo.InvariantCulture, "{0:O}", parameters.Properties.ModifiedTime.ToUniversalTime());
+
+ propertiesValue["revision"] = parameters.Properties.Revision;
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleCreateOrUpdateResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleCreateOrUpdateResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleResource valueInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue2 = responseDoc["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue2["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue2["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue2["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue2["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue2["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray2 = propertiesValue2["rights"];
+ if (rightsArray2 != null && rightsArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray2))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue2["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue2["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue2["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Deletes a notification hub associated with a namespace.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public async Task DeleteAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ TracingAdapter.Enter(invocationId, this, "DeleteAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Delete;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ AzureOperationResponse result = null;
+ // Deserialize Response
+ result = new AzureOperationResponse();
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The delete a notificationHub authorization rule operation
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public async Task DeleteAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "DeleteAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Delete;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.NoContent)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ AzureOperationResponse result = null;
+ // Deserialize Response
+ result = new AzureOperationResponse();
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public async Task GetAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ TracingAdapter.Enter(invocationId, this, "GetAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NotificationHubGetResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NotificationHubGetResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NotificationHubResource valueInstance = new NotificationHubResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NotificationHubProperties propertiesInstance = new NotificationHubProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken registrationTtlValue = propertiesValue["registrationTtl"];
+ if (registrationTtlValue != null && registrationTtlValue.Type != JTokenType.Null)
+ {
+ string registrationTtlInstance = ((string)registrationTtlValue);
+ propertiesInstance.RegistrationTtl = registrationTtlInstance;
+ }
+
+ JToken authorizationRulesArray = propertiesValue["authorizationRules"];
+ if (authorizationRulesArray != null && authorizationRulesArray.Type != JTokenType.Null)
+ {
+ foreach (JToken authorizationRulesValue in ((JArray)authorizationRulesArray))
+ {
+ SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ propertiesInstance.AuthorizationRules.Add(sharedAccessAuthorizationRulePropertiesInstance);
+
+ JToken primaryKeyValue = authorizationRulesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = authorizationRulesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = authorizationRulesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ sharedAccessAuthorizationRulePropertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = authorizationRulesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = authorizationRulesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = authorizationRulesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ sharedAccessAuthorizationRulePropertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = authorizationRulesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = authorizationRulesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = authorizationRulesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ sharedAccessAuthorizationRulePropertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ JToken apnsCredentialValue = propertiesValue["apnsCredential"];
+ if (apnsCredentialValue != null && apnsCredentialValue.Type != JTokenType.Null)
+ {
+ ApnsCredential apnsCredentialInstance = new ApnsCredential();
+ propertiesInstance.ApnsCredential = apnsCredentialInstance;
+
+ JToken propertiesValue2 = apnsCredentialValue["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
+ apnsCredentialInstance.Properties = propertiesInstance2;
+
+ JToken apnsCertificateValue = propertiesValue2["apnsCertificate"];
+ if (apnsCertificateValue != null && apnsCertificateValue.Type != JTokenType.Null)
+ {
+ string apnsCertificateInstance = ((string)apnsCertificateValue);
+ propertiesInstance2.ApnsCertificate = apnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue = propertiesValue2["certificateKey"];
+ if (certificateKeyValue != null && certificateKeyValue.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance = ((string)certificateKeyValue);
+ propertiesInstance2.CertificateKey = certificateKeyInstance;
+ }
+
+ JToken endpointValue = propertiesValue2["endpoint"];
+ if (endpointValue != null && endpointValue.Type != JTokenType.Null)
+ {
+ string endpointInstance = ((string)endpointValue);
+ propertiesInstance2.Endpoint = endpointInstance;
+ }
+
+ JToken thumbprintValue = propertiesValue2["thumbprint"];
+ if (thumbprintValue != null && thumbprintValue.Type != JTokenType.Null)
+ {
+ string thumbprintInstance = ((string)thumbprintValue);
+ propertiesInstance2.Thumbprint = thumbprintInstance;
+ }
+ }
+ }
+
+ JToken wnsCredentialValue = propertiesValue["wnsCredential"];
+ if (wnsCredentialValue != null && wnsCredentialValue.Type != JTokenType.Null)
+ {
+ WnsCredential wnsCredentialInstance = new WnsCredential();
+ propertiesInstance.WnsCredential = wnsCredentialInstance;
+
+ JToken propertiesValue3 = wnsCredentialValue["properties"];
+ if (propertiesValue3 != null && propertiesValue3.Type != JTokenType.Null)
+ {
+ WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
+ wnsCredentialInstance.Properties = propertiesInstance3;
+
+ JToken packageSidValue = propertiesValue3["packageSid"];
+ if (packageSidValue != null && packageSidValue.Type != JTokenType.Null)
+ {
+ string packageSidInstance = ((string)packageSidValue);
+ propertiesInstance3.PackageSid = packageSidInstance;
+ }
+
+ JToken secretKeyValue = propertiesValue3["secretKey"];
+ if (secretKeyValue != null && secretKeyValue.Type != JTokenType.Null)
+ {
+ string secretKeyInstance = ((string)secretKeyValue);
+ propertiesInstance3.SecretKey = secretKeyInstance;
+ }
+
+ JToken windowsLiveEndpointValue = propertiesValue3["windowsLiveEndpoint"];
+ if (windowsLiveEndpointValue != null && windowsLiveEndpointValue.Type != JTokenType.Null)
+ {
+ string windowsLiveEndpointInstance = ((string)windowsLiveEndpointValue);
+ propertiesInstance3.WindowsLiveEndpoint = windowsLiveEndpointInstance;
+ }
+ }
+ }
+
+ JToken gcmCredentialValue = propertiesValue["gcmCredential"];
+ if (gcmCredentialValue != null && gcmCredentialValue.Type != JTokenType.Null)
+ {
+ GcmCredential gcmCredentialInstance = new GcmCredential();
+ propertiesInstance.GcmCredential = gcmCredentialInstance;
+
+ JToken propertiesValue4 = gcmCredentialValue["properties"];
+ if (propertiesValue4 != null && propertiesValue4.Type != JTokenType.Null)
+ {
+ GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
+ gcmCredentialInstance.Properties = propertiesInstance4;
+
+ JToken gcmEndpointValue = propertiesValue4["gcmEndpoint"];
+ if (gcmEndpointValue != null && gcmEndpointValue.Type != JTokenType.Null)
+ {
+ string gcmEndpointInstance = ((string)gcmEndpointValue);
+ propertiesInstance4.GcmEndpoint = gcmEndpointInstance;
+ }
+
+ JToken googleApiKeyValue = propertiesValue4["googleApiKey"];
+ if (googleApiKeyValue != null && googleApiKeyValue.Type != JTokenType.Null)
+ {
+ string googleApiKeyInstance = ((string)googleApiKeyValue);
+ propertiesInstance4.GoogleApiKey = googleApiKeyInstance;
+ }
+ }
+ }
+
+ JToken mpnsCredentialValue = propertiesValue["mpnsCredential"];
+ if (mpnsCredentialValue != null && mpnsCredentialValue.Type != JTokenType.Null)
+ {
+ MpnsCredential mpnsCredentialInstance = new MpnsCredential();
+ propertiesInstance.MpnsCredential = mpnsCredentialInstance;
+
+ JToken propertiesValue5 = mpnsCredentialValue["properties"];
+ if (propertiesValue5 != null && propertiesValue5.Type != JTokenType.Null)
+ {
+ MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
+ mpnsCredentialInstance.Properties = propertiesInstance5;
+
+ JToken mpnsCertificateValue = propertiesValue5["mpnsCertificate"];
+ if (mpnsCertificateValue != null && mpnsCertificateValue.Type != JTokenType.Null)
+ {
+ string mpnsCertificateInstance = ((string)mpnsCertificateValue);
+ propertiesInstance5.MpnsCertificate = mpnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue2 = propertiesValue5["certificateKey"];
+ if (certificateKeyValue2 != null && certificateKeyValue2.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance2 = ((string)certificateKeyValue2);
+ propertiesInstance5.CertificateKey = certificateKeyInstance2;
+ }
+
+ JToken thumbprintValue2 = propertiesValue5["thumbprint"];
+ if (thumbprintValue2 != null && thumbprintValue2.Type != JTokenType.Null)
+ {
+ string thumbprintInstance2 = ((string)thumbprintValue2);
+ propertiesInstance5.Thumbprint = thumbprintInstance2;
+ }
+ }
+ }
+
+ JToken admCredentialValue = propertiesValue["admCredential"];
+ if (admCredentialValue != null && admCredentialValue.Type != JTokenType.Null)
+ {
+ AdmCredential admCredentialInstance = new AdmCredential();
+ propertiesInstance.AdmCredential = admCredentialInstance;
+
+ JToken propertiesValue6 = admCredentialValue["properties"];
+ if (propertiesValue6 != null && propertiesValue6.Type != JTokenType.Null)
+ {
+ AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
+ admCredentialInstance.Properties = propertiesInstance6;
+
+ JToken clientIdValue = propertiesValue6["clientId"];
+ if (clientIdValue != null && clientIdValue.Type != JTokenType.Null)
+ {
+ string clientIdInstance = ((string)clientIdValue);
+ propertiesInstance6.ClientId = clientIdInstance;
+ }
+
+ JToken clientSecretValue = propertiesValue6["clientSecret"];
+ if (clientSecretValue != null && clientSecretValue.Type != JTokenType.Null)
+ {
+ string clientSecretInstance = ((string)clientSecretValue);
+ propertiesInstance6.ClientSecret = clientSecretInstance;
+ }
+
+ JToken authTokenUrlValue = propertiesValue6["authTokenUrl"];
+ if (authTokenUrlValue != null && authTokenUrlValue.Type != JTokenType.Null)
+ {
+ string authTokenUrlInstance = ((string)authTokenUrlValue);
+ propertiesInstance6.AuthTokenUrl = authTokenUrlInstance;
+ }
+ }
+ }
+
+ JToken baiduCredentialValue = propertiesValue["baiduCredential"];
+ if (baiduCredentialValue != null && baiduCredentialValue.Type != JTokenType.Null)
+ {
+ BaiduCredential baiduCredentialInstance = new BaiduCredential();
+ propertiesInstance.BaiduCredential = baiduCredentialInstance;
+
+ JToken propertiesValue7 = baiduCredentialValue["properties"];
+ if (propertiesValue7 != null && propertiesValue7.Type != JTokenType.Null)
+ {
+ BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
+ baiduCredentialInstance.Properties = propertiesInstance7;
+
+ JToken baiduApiKeyValue = propertiesValue7["baiduApiKey"];
+ if (baiduApiKeyValue != null && baiduApiKeyValue.Type != JTokenType.Null)
+ {
+ string baiduApiKeyInstance = ((string)baiduApiKeyValue);
+ propertiesInstance7.BaiduApiKey = baiduApiKeyInstance;
+ }
+
+ JToken baiduEndPointValue = propertiesValue7["baiduEndPoint"];
+ if (baiduEndPointValue != null && baiduEndPointValue.Type != JTokenType.Null)
+ {
+ string baiduEndPointInstance = ((string)baiduEndPointValue);
+ propertiesInstance7.BaiduEndPoint = baiduEndPointInstance;
+ }
+
+ JToken baiduSecretKeyValue = propertiesValue7["baiduSecretKey"];
+ if (baiduSecretKeyValue != null && baiduSecretKeyValue.Type != JTokenType.Null)
+ {
+ string baiduSecretKeyInstance = ((string)baiduSecretKeyValue);
+ propertiesInstance7.BaiduSecretKey = baiduSecretKeyInstance;
+ }
+ }
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a NotificationHub by name.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public async Task GetAuthorizationRuleAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "GetAuthorizationRuleAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleGetResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleGetResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleResource valueInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = propertiesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Lists the PNS Credentials associated with a notification hub .
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public async Task GetPnsCredentialsAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ TracingAdapter.Enter(invocationId, this, "GetPnsCredentialsAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/pnsCredentials";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NotificationHubGetResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NotificationHubGetResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NotificationHubResource valueInstance = new NotificationHubResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = responseDoc["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NotificationHubProperties propertiesInstance = new NotificationHubProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken registrationTtlValue = propertiesValue["registrationTtl"];
+ if (registrationTtlValue != null && registrationTtlValue.Type != JTokenType.Null)
+ {
+ string registrationTtlInstance = ((string)registrationTtlValue);
+ propertiesInstance.RegistrationTtl = registrationTtlInstance;
+ }
+
+ JToken authorizationRulesArray = propertiesValue["authorizationRules"];
+ if (authorizationRulesArray != null && authorizationRulesArray.Type != JTokenType.Null)
+ {
+ foreach (JToken authorizationRulesValue in ((JArray)authorizationRulesArray))
+ {
+ SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ propertiesInstance.AuthorizationRules.Add(sharedAccessAuthorizationRulePropertiesInstance);
+
+ JToken primaryKeyValue = authorizationRulesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = authorizationRulesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = authorizationRulesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ sharedAccessAuthorizationRulePropertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = authorizationRulesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = authorizationRulesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = authorizationRulesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ sharedAccessAuthorizationRulePropertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = authorizationRulesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = authorizationRulesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = authorizationRulesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ sharedAccessAuthorizationRulePropertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ JToken apnsCredentialValue = propertiesValue["apnsCredential"];
+ if (apnsCredentialValue != null && apnsCredentialValue.Type != JTokenType.Null)
+ {
+ ApnsCredential apnsCredentialInstance = new ApnsCredential();
+ propertiesInstance.ApnsCredential = apnsCredentialInstance;
+
+ JToken propertiesValue2 = apnsCredentialValue["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
+ apnsCredentialInstance.Properties = propertiesInstance2;
+
+ JToken apnsCertificateValue = propertiesValue2["apnsCertificate"];
+ if (apnsCertificateValue != null && apnsCertificateValue.Type != JTokenType.Null)
+ {
+ string apnsCertificateInstance = ((string)apnsCertificateValue);
+ propertiesInstance2.ApnsCertificate = apnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue = propertiesValue2["certificateKey"];
+ if (certificateKeyValue != null && certificateKeyValue.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance = ((string)certificateKeyValue);
+ propertiesInstance2.CertificateKey = certificateKeyInstance;
+ }
+
+ JToken endpointValue = propertiesValue2["endpoint"];
+ if (endpointValue != null && endpointValue.Type != JTokenType.Null)
+ {
+ string endpointInstance = ((string)endpointValue);
+ propertiesInstance2.Endpoint = endpointInstance;
+ }
+
+ JToken thumbprintValue = propertiesValue2["thumbprint"];
+ if (thumbprintValue != null && thumbprintValue.Type != JTokenType.Null)
+ {
+ string thumbprintInstance = ((string)thumbprintValue);
+ propertiesInstance2.Thumbprint = thumbprintInstance;
+ }
+ }
+ }
+
+ JToken wnsCredentialValue = propertiesValue["wnsCredential"];
+ if (wnsCredentialValue != null && wnsCredentialValue.Type != JTokenType.Null)
+ {
+ WnsCredential wnsCredentialInstance = new WnsCredential();
+ propertiesInstance.WnsCredential = wnsCredentialInstance;
+
+ JToken propertiesValue3 = wnsCredentialValue["properties"];
+ if (propertiesValue3 != null && propertiesValue3.Type != JTokenType.Null)
+ {
+ WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
+ wnsCredentialInstance.Properties = propertiesInstance3;
+
+ JToken packageSidValue = propertiesValue3["packageSid"];
+ if (packageSidValue != null && packageSidValue.Type != JTokenType.Null)
+ {
+ string packageSidInstance = ((string)packageSidValue);
+ propertiesInstance3.PackageSid = packageSidInstance;
+ }
+
+ JToken secretKeyValue = propertiesValue3["secretKey"];
+ if (secretKeyValue != null && secretKeyValue.Type != JTokenType.Null)
+ {
+ string secretKeyInstance = ((string)secretKeyValue);
+ propertiesInstance3.SecretKey = secretKeyInstance;
+ }
+
+ JToken windowsLiveEndpointValue = propertiesValue3["windowsLiveEndpoint"];
+ if (windowsLiveEndpointValue != null && windowsLiveEndpointValue.Type != JTokenType.Null)
+ {
+ string windowsLiveEndpointInstance = ((string)windowsLiveEndpointValue);
+ propertiesInstance3.WindowsLiveEndpoint = windowsLiveEndpointInstance;
+ }
+ }
+ }
+
+ JToken gcmCredentialValue = propertiesValue["gcmCredential"];
+ if (gcmCredentialValue != null && gcmCredentialValue.Type != JTokenType.Null)
+ {
+ GcmCredential gcmCredentialInstance = new GcmCredential();
+ propertiesInstance.GcmCredential = gcmCredentialInstance;
+
+ JToken propertiesValue4 = gcmCredentialValue["properties"];
+ if (propertiesValue4 != null && propertiesValue4.Type != JTokenType.Null)
+ {
+ GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
+ gcmCredentialInstance.Properties = propertiesInstance4;
+
+ JToken gcmEndpointValue = propertiesValue4["gcmEndpoint"];
+ if (gcmEndpointValue != null && gcmEndpointValue.Type != JTokenType.Null)
+ {
+ string gcmEndpointInstance = ((string)gcmEndpointValue);
+ propertiesInstance4.GcmEndpoint = gcmEndpointInstance;
+ }
+
+ JToken googleApiKeyValue = propertiesValue4["googleApiKey"];
+ if (googleApiKeyValue != null && googleApiKeyValue.Type != JTokenType.Null)
+ {
+ string googleApiKeyInstance = ((string)googleApiKeyValue);
+ propertiesInstance4.GoogleApiKey = googleApiKeyInstance;
+ }
+ }
+ }
+
+ JToken mpnsCredentialValue = propertiesValue["mpnsCredential"];
+ if (mpnsCredentialValue != null && mpnsCredentialValue.Type != JTokenType.Null)
+ {
+ MpnsCredential mpnsCredentialInstance = new MpnsCredential();
+ propertiesInstance.MpnsCredential = mpnsCredentialInstance;
+
+ JToken propertiesValue5 = mpnsCredentialValue["properties"];
+ if (propertiesValue5 != null && propertiesValue5.Type != JTokenType.Null)
+ {
+ MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
+ mpnsCredentialInstance.Properties = propertiesInstance5;
+
+ JToken mpnsCertificateValue = propertiesValue5["mpnsCertificate"];
+ if (mpnsCertificateValue != null && mpnsCertificateValue.Type != JTokenType.Null)
+ {
+ string mpnsCertificateInstance = ((string)mpnsCertificateValue);
+ propertiesInstance5.MpnsCertificate = mpnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue2 = propertiesValue5["certificateKey"];
+ if (certificateKeyValue2 != null && certificateKeyValue2.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance2 = ((string)certificateKeyValue2);
+ propertiesInstance5.CertificateKey = certificateKeyInstance2;
+ }
+
+ JToken thumbprintValue2 = propertiesValue5["thumbprint"];
+ if (thumbprintValue2 != null && thumbprintValue2.Type != JTokenType.Null)
+ {
+ string thumbprintInstance2 = ((string)thumbprintValue2);
+ propertiesInstance5.Thumbprint = thumbprintInstance2;
+ }
+ }
+ }
+
+ JToken admCredentialValue = propertiesValue["admCredential"];
+ if (admCredentialValue != null && admCredentialValue.Type != JTokenType.Null)
+ {
+ AdmCredential admCredentialInstance = new AdmCredential();
+ propertiesInstance.AdmCredential = admCredentialInstance;
+
+ JToken propertiesValue6 = admCredentialValue["properties"];
+ if (propertiesValue6 != null && propertiesValue6.Type != JTokenType.Null)
+ {
+ AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
+ admCredentialInstance.Properties = propertiesInstance6;
+
+ JToken clientIdValue = propertiesValue6["clientId"];
+ if (clientIdValue != null && clientIdValue.Type != JTokenType.Null)
+ {
+ string clientIdInstance = ((string)clientIdValue);
+ propertiesInstance6.ClientId = clientIdInstance;
+ }
+
+ JToken clientSecretValue = propertiesValue6["clientSecret"];
+ if (clientSecretValue != null && clientSecretValue.Type != JTokenType.Null)
+ {
+ string clientSecretInstance = ((string)clientSecretValue);
+ propertiesInstance6.ClientSecret = clientSecretInstance;
+ }
+
+ JToken authTokenUrlValue = propertiesValue6["authTokenUrl"];
+ if (authTokenUrlValue != null && authTokenUrlValue.Type != JTokenType.Null)
+ {
+ string authTokenUrlInstance = ((string)authTokenUrlValue);
+ propertiesInstance6.AuthTokenUrl = authTokenUrlInstance;
+ }
+ }
+ }
+
+ JToken baiduCredentialValue = propertiesValue["baiduCredential"];
+ if (baiduCredentialValue != null && baiduCredentialValue.Type != JTokenType.Null)
+ {
+ BaiduCredential baiduCredentialInstance = new BaiduCredential();
+ propertiesInstance.BaiduCredential = baiduCredentialInstance;
+
+ JToken propertiesValue7 = baiduCredentialValue["properties"];
+ if (propertiesValue7 != null && propertiesValue7.Type != JTokenType.Null)
+ {
+ BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
+ baiduCredentialInstance.Properties = propertiesInstance7;
+
+ JToken baiduApiKeyValue = propertiesValue7["baiduApiKey"];
+ if (baiduApiKeyValue != null && baiduApiKeyValue.Type != JTokenType.Null)
+ {
+ string baiduApiKeyInstance = ((string)baiduApiKeyValue);
+ propertiesInstance7.BaiduApiKey = baiduApiKeyInstance;
+ }
+
+ JToken baiduEndPointValue = propertiesValue7["baiduEndPoint"];
+ if (baiduEndPointValue != null && baiduEndPointValue.Type != JTokenType.Null)
+ {
+ string baiduEndPointInstance = ((string)baiduEndPointValue);
+ propertiesInstance7.BaiduEndPoint = baiduEndPointInstance;
+ }
+
+ JToken baiduSecretKeyValue = propertiesValue7["baiduSecretKey"];
+ if (baiduSecretKeyValue != null && baiduSecretKeyValue.Type != JTokenType.Null)
+ {
+ string baiduSecretKeyInstance = ((string)baiduSecretKeyValue);
+ propertiesInstance7.BaiduSecretKey = baiduSecretKeyInstance;
+ }
+ }
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List NotificationHub operation.
+ ///
+ public async Task ListAsync(string resourceGroupName, string namespaceName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ TracingAdapter.Enter(invocationId, this, "ListAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Get;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NotificationHubListResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NotificationHubListResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken valueArray = responseDoc["value"];
+ if (valueArray != null && valueArray.Type != JTokenType.Null)
+ {
+ foreach (JToken valueValue in ((JArray)valueArray))
+ {
+ NotificationHubResource notificationHubResourceInstance = new NotificationHubResource();
+ result.Value.Add(notificationHubResourceInstance);
+
+ JToken idValue = valueValue["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ notificationHubResourceInstance.Id = idInstance;
+ }
+
+ JToken locationValue = valueValue["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ notificationHubResourceInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = valueValue["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ notificationHubResourceInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = valueValue["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ notificationHubResourceInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)valueValue["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ notificationHubResourceInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = valueValue["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ NotificationHubProperties propertiesInstance = new NotificationHubProperties();
+ notificationHubResourceInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken registrationTtlValue = propertiesValue["registrationTtl"];
+ if (registrationTtlValue != null && registrationTtlValue.Type != JTokenType.Null)
+ {
+ string registrationTtlInstance = ((string)registrationTtlValue);
+ propertiesInstance.RegistrationTtl = registrationTtlInstance;
+ }
+
+ JToken authorizationRulesArray = propertiesValue["authorizationRules"];
+ if (authorizationRulesArray != null && authorizationRulesArray.Type != JTokenType.Null)
+ {
+ foreach (JToken authorizationRulesValue in ((JArray)authorizationRulesArray))
+ {
+ SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ propertiesInstance.AuthorizationRules.Add(sharedAccessAuthorizationRulePropertiesInstance);
+
+ JToken primaryKeyValue = authorizationRulesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = authorizationRulesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = authorizationRulesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ sharedAccessAuthorizationRulePropertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = authorizationRulesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = authorizationRulesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = authorizationRulesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ sharedAccessAuthorizationRulePropertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = authorizationRulesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = authorizationRulesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = authorizationRulesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ sharedAccessAuthorizationRulePropertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ JToken apnsCredentialValue = propertiesValue["apnsCredential"];
+ if (apnsCredentialValue != null && apnsCredentialValue.Type != JTokenType.Null)
+ {
+ ApnsCredential apnsCredentialInstance = new ApnsCredential();
+ propertiesInstance.ApnsCredential = apnsCredentialInstance;
+
+ JToken propertiesValue2 = apnsCredentialValue["properties"];
+ if (propertiesValue2 != null && propertiesValue2.Type != JTokenType.Null)
+ {
+ ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
+ apnsCredentialInstance.Properties = propertiesInstance2;
+
+ JToken apnsCertificateValue = propertiesValue2["apnsCertificate"];
+ if (apnsCertificateValue != null && apnsCertificateValue.Type != JTokenType.Null)
+ {
+ string apnsCertificateInstance = ((string)apnsCertificateValue);
+ propertiesInstance2.ApnsCertificate = apnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue = propertiesValue2["certificateKey"];
+ if (certificateKeyValue != null && certificateKeyValue.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance = ((string)certificateKeyValue);
+ propertiesInstance2.CertificateKey = certificateKeyInstance;
+ }
+
+ JToken endpointValue = propertiesValue2["endpoint"];
+ if (endpointValue != null && endpointValue.Type != JTokenType.Null)
+ {
+ string endpointInstance = ((string)endpointValue);
+ propertiesInstance2.Endpoint = endpointInstance;
+ }
+
+ JToken thumbprintValue = propertiesValue2["thumbprint"];
+ if (thumbprintValue != null && thumbprintValue.Type != JTokenType.Null)
+ {
+ string thumbprintInstance = ((string)thumbprintValue);
+ propertiesInstance2.Thumbprint = thumbprintInstance;
+ }
+ }
+ }
+
+ JToken wnsCredentialValue = propertiesValue["wnsCredential"];
+ if (wnsCredentialValue != null && wnsCredentialValue.Type != JTokenType.Null)
+ {
+ WnsCredential wnsCredentialInstance = new WnsCredential();
+ propertiesInstance.WnsCredential = wnsCredentialInstance;
+
+ JToken propertiesValue3 = wnsCredentialValue["properties"];
+ if (propertiesValue3 != null && propertiesValue3.Type != JTokenType.Null)
+ {
+ WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
+ wnsCredentialInstance.Properties = propertiesInstance3;
+
+ JToken packageSidValue = propertiesValue3["packageSid"];
+ if (packageSidValue != null && packageSidValue.Type != JTokenType.Null)
+ {
+ string packageSidInstance = ((string)packageSidValue);
+ propertiesInstance3.PackageSid = packageSidInstance;
+ }
+
+ JToken secretKeyValue = propertiesValue3["secretKey"];
+ if (secretKeyValue != null && secretKeyValue.Type != JTokenType.Null)
+ {
+ string secretKeyInstance = ((string)secretKeyValue);
+ propertiesInstance3.SecretKey = secretKeyInstance;
+ }
+
+ JToken windowsLiveEndpointValue = propertiesValue3["windowsLiveEndpoint"];
+ if (windowsLiveEndpointValue != null && windowsLiveEndpointValue.Type != JTokenType.Null)
+ {
+ string windowsLiveEndpointInstance = ((string)windowsLiveEndpointValue);
+ propertiesInstance3.WindowsLiveEndpoint = windowsLiveEndpointInstance;
+ }
+ }
+ }
+
+ JToken gcmCredentialValue = propertiesValue["gcmCredential"];
+ if (gcmCredentialValue != null && gcmCredentialValue.Type != JTokenType.Null)
+ {
+ GcmCredential gcmCredentialInstance = new GcmCredential();
+ propertiesInstance.GcmCredential = gcmCredentialInstance;
+
+ JToken propertiesValue4 = gcmCredentialValue["properties"];
+ if (propertiesValue4 != null && propertiesValue4.Type != JTokenType.Null)
+ {
+ GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
+ gcmCredentialInstance.Properties = propertiesInstance4;
+
+ JToken gcmEndpointValue = propertiesValue4["gcmEndpoint"];
+ if (gcmEndpointValue != null && gcmEndpointValue.Type != JTokenType.Null)
+ {
+ string gcmEndpointInstance = ((string)gcmEndpointValue);
+ propertiesInstance4.GcmEndpoint = gcmEndpointInstance;
+ }
+
+ JToken googleApiKeyValue = propertiesValue4["googleApiKey"];
+ if (googleApiKeyValue != null && googleApiKeyValue.Type != JTokenType.Null)
+ {
+ string googleApiKeyInstance = ((string)googleApiKeyValue);
+ propertiesInstance4.GoogleApiKey = googleApiKeyInstance;
+ }
+ }
+ }
+
+ JToken mpnsCredentialValue = propertiesValue["mpnsCredential"];
+ if (mpnsCredentialValue != null && mpnsCredentialValue.Type != JTokenType.Null)
+ {
+ MpnsCredential mpnsCredentialInstance = new MpnsCredential();
+ propertiesInstance.MpnsCredential = mpnsCredentialInstance;
+
+ JToken propertiesValue5 = mpnsCredentialValue["properties"];
+ if (propertiesValue5 != null && propertiesValue5.Type != JTokenType.Null)
+ {
+ MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
+ mpnsCredentialInstance.Properties = propertiesInstance5;
+
+ JToken mpnsCertificateValue = propertiesValue5["mpnsCertificate"];
+ if (mpnsCertificateValue != null && mpnsCertificateValue.Type != JTokenType.Null)
+ {
+ string mpnsCertificateInstance = ((string)mpnsCertificateValue);
+ propertiesInstance5.MpnsCertificate = mpnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue2 = propertiesValue5["certificateKey"];
+ if (certificateKeyValue2 != null && certificateKeyValue2.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance2 = ((string)certificateKeyValue2);
+ propertiesInstance5.CertificateKey = certificateKeyInstance2;
+ }
+
+ JToken thumbprintValue2 = propertiesValue5["thumbprint"];
+ if (thumbprintValue2 != null && thumbprintValue2.Type != JTokenType.Null)
+ {
+ string thumbprintInstance2 = ((string)thumbprintValue2);
+ propertiesInstance5.Thumbprint = thumbprintInstance2;
+ }
+ }
+ }
+
+ JToken admCredentialValue = propertiesValue["admCredential"];
+ if (admCredentialValue != null && admCredentialValue.Type != JTokenType.Null)
+ {
+ AdmCredential admCredentialInstance = new AdmCredential();
+ propertiesInstance.AdmCredential = admCredentialInstance;
+
+ JToken propertiesValue6 = admCredentialValue["properties"];
+ if (propertiesValue6 != null && propertiesValue6.Type != JTokenType.Null)
+ {
+ AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
+ admCredentialInstance.Properties = propertiesInstance6;
+
+ JToken clientIdValue = propertiesValue6["clientId"];
+ if (clientIdValue != null && clientIdValue.Type != JTokenType.Null)
+ {
+ string clientIdInstance = ((string)clientIdValue);
+ propertiesInstance6.ClientId = clientIdInstance;
+ }
+
+ JToken clientSecretValue = propertiesValue6["clientSecret"];
+ if (clientSecretValue != null && clientSecretValue.Type != JTokenType.Null)
+ {
+ string clientSecretInstance = ((string)clientSecretValue);
+ propertiesInstance6.ClientSecret = clientSecretInstance;
+ }
+
+ JToken authTokenUrlValue = propertiesValue6["authTokenUrl"];
+ if (authTokenUrlValue != null && authTokenUrlValue.Type != JTokenType.Null)
+ {
+ string authTokenUrlInstance = ((string)authTokenUrlValue);
+ propertiesInstance6.AuthTokenUrl = authTokenUrlInstance;
+ }
+ }
+ }
+
+ JToken baiduCredentialValue = propertiesValue["baiduCredential"];
+ if (baiduCredentialValue != null && baiduCredentialValue.Type != JTokenType.Null)
+ {
+ BaiduCredential baiduCredentialInstance = new BaiduCredential();
+ propertiesInstance.BaiduCredential = baiduCredentialInstance;
+
+ JToken propertiesValue7 = baiduCredentialValue["properties"];
+ if (propertiesValue7 != null && propertiesValue7.Type != JTokenType.Null)
+ {
+ BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
+ baiduCredentialInstance.Properties = propertiesInstance7;
+
+ JToken baiduApiKeyValue = propertiesValue7["baiduApiKey"];
+ if (baiduApiKeyValue != null && baiduApiKeyValue.Type != JTokenType.Null)
+ {
+ string baiduApiKeyInstance = ((string)baiduApiKeyValue);
+ propertiesInstance7.BaiduApiKey = baiduApiKeyInstance;
+ }
+
+ JToken baiduEndPointValue = propertiesValue7["baiduEndPoint"];
+ if (baiduEndPointValue != null && baiduEndPointValue.Type != JTokenType.Null)
+ {
+ string baiduEndPointInstance = ((string)baiduEndPointValue);
+ propertiesInstance7.BaiduEndPoint = baiduEndPointInstance;
+ }
+
+ JToken baiduSecretKeyValue = propertiesValue7["baiduSecretKey"];
+ if (baiduSecretKeyValue != null && baiduSecretKeyValue.Type != JTokenType.Null)
+ {
+ string baiduSecretKeyInstance = ((string)baiduSecretKeyValue);
+ propertiesInstance7.BaiduSecretKey = baiduSecretKeyInstance;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ JToken nextLinkValue = responseDoc["nextLink"];
+ if (nextLinkValue != null && nextLinkValue.Type != JTokenType.Null)
+ {
+ string nextLinkInstance = ((string)nextLinkValue);
+ result.NextLink = nextLinkInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a NotificationHub.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The NotificationHub to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public async Task ListAuthorizationRulesAsync(string resourceGroupName, string namespaceName, string notificationHubName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ TracingAdapter.Enter(invocationId, this, "ListAuthorizationRulesAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/AuthorizationRules";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ SharedAccessAuthorizationRuleListResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new SharedAccessAuthorizationRuleListResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken valueArray = responseDoc["value"];
+ if (valueArray != null && valueArray.Type != JTokenType.Null)
+ {
+ foreach (JToken valueValue in ((JArray)valueArray))
+ {
+ SharedAccessAuthorizationRuleResource sharedAccessAuthorizationRuleResourceInstance = new SharedAccessAuthorizationRuleResource();
+ result.Value.Add(sharedAccessAuthorizationRuleResourceInstance);
+
+ JToken idValue = valueValue["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ sharedAccessAuthorizationRuleResourceInstance.Id = idInstance;
+ }
+
+ JToken locationValue = valueValue["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ sharedAccessAuthorizationRuleResourceInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = valueValue["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ sharedAccessAuthorizationRuleResourceInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = valueValue["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ sharedAccessAuthorizationRuleResourceInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)valueValue["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey = ((string)property.Name);
+ string tagsValue = ((string)property.Value);
+ sharedAccessAuthorizationRuleResourceInstance.Tags.Add(tagsKey, tagsValue);
+ }
+ }
+
+ JToken propertiesValue = valueValue["properties"];
+ if (propertiesValue != null && propertiesValue.Type != JTokenType.Null)
+ {
+ SharedAccessAuthorizationRuleProperties propertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ sharedAccessAuthorizationRuleResourceInstance.Properties = propertiesInstance;
+
+ JToken primaryKeyValue = propertiesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ propertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = propertiesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ propertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = propertiesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ propertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = propertiesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ propertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = propertiesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ propertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray = propertiesValue["rights"];
+ if (rightsArray != null && rightsArray.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray))
+ {
+ propertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = propertiesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = propertiesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ propertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = propertiesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ propertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+ }
+
+ JToken nextLinkValue = responseDoc["nextLink"];
+ if (nextLinkValue != null && nextLinkValue.Type != JTokenType.Null)
+ {
+ string nextLinkInstance = ((string)nextLinkValue);
+ result.NextLink = nextLinkInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the
+ /// NotificationHub (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The connection string of the NotificationHub for the
+ /// specified authorizationRule.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public async Task ListKeysAsync(string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (authorizationRuleName == null)
+ {
+ throw new ArgumentNullException("authorizationRuleName");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("authorizationRuleName", authorizationRuleName);
+ TracingAdapter.Enter(invocationId, this, "ListKeysAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ url = url + "/AuthorizationRules/";
+ url = url + Uri.EscapeDataString(authorizationRuleName);
+ url = url + "/listKeys";
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Post;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, null, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ ResourceListKeys result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new ResourceListKeys();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ JToken primaryConnectionStringValue = responseDoc["primaryConnectionString"];
+ if (primaryConnectionStringValue != null && primaryConnectionStringValue.Type != JTokenType.Null)
+ {
+ string primaryConnectionStringInstance = ((string)primaryConnectionStringValue);
+ result.PrimaryConnectionString = primaryConnectionStringInstance;
+ }
+
+ JToken secondaryConnectionStringValue = responseDoc["secondaryConnectionString"];
+ if (secondaryConnectionStringValue != null && secondaryConnectionStringValue.Type != JTokenType.Null)
+ {
+ string secondaryConnectionStringInstance = ((string)secondaryConnectionStringValue);
+ result.SecondaryConnectionString = secondaryConnectionStringInstance;
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Cancellation token.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public async Task UpdateAsync(string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters, CancellationToken cancellationToken)
+ {
+ // Validate
+ if (resourceGroupName == null)
+ {
+ throw new ArgumentNullException("resourceGroupName");
+ }
+ if (namespaceName == null)
+ {
+ throw new ArgumentNullException("namespaceName");
+ }
+ if (notificationHubName == null)
+ {
+ throw new ArgumentNullException("notificationHubName");
+ }
+ if (parameters == null)
+ {
+ throw new ArgumentNullException("parameters");
+ }
+ if (parameters.Location == null)
+ {
+ throw new ArgumentNullException("parameters.Location");
+ }
+ if (parameters.Properties == null)
+ {
+ throw new ArgumentNullException("parameters.Properties");
+ }
+
+ // Tracing
+ bool shouldTrace = TracingAdapter.IsEnabled;
+ string invocationId = null;
+ if (shouldTrace)
+ {
+ invocationId = TracingAdapter.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("resourceGroupName", resourceGroupName);
+ tracingParameters.Add("namespaceName", namespaceName);
+ tracingParameters.Add("notificationHubName", notificationHubName);
+ tracingParameters.Add("parameters", parameters);
+ TracingAdapter.Enter(invocationId, this, "UpdateAsync", tracingParameters);
+ }
+
+ // Construct URL
+ string url = "";
+ url = url + "/subscriptions/";
+ if (this.Client.Credentials.SubscriptionId != null)
+ {
+ url = url + Uri.EscapeDataString(this.Client.Credentials.SubscriptionId);
+ }
+ url = url + "/resourceGroups/";
+ url = url + Uri.EscapeDataString(resourceGroupName);
+ url = url + "/providers/";
+ url = url + "Microsoft.NotificationHubs";
+ url = url + "/namespaces/";
+ url = url + Uri.EscapeDataString(namespaceName);
+ url = url + "/notificationHubs/";
+ url = url + Uri.EscapeDataString(notificationHubName);
+ List queryParameters = new List();
+ queryParameters.Add("api-version=2014-09-01");
+ if (queryParameters.Count > 0)
+ {
+ url = url + "?" + string.Join("&", queryParameters);
+ }
+ string baseUrl = this.Client.BaseUri.AbsoluteUri;
+ // Trim '/' character from the end of baseUrl and beginning of url.
+ if (baseUrl[baseUrl.Length - 1] == '/')
+ {
+ baseUrl = baseUrl.Substring(0, baseUrl.Length - 1);
+ }
+ if (url[0] == '/')
+ {
+ url = url.Substring(1);
+ }
+ url = baseUrl + "/" + url;
+ url = url.Replace(" ", "%20");
+
+ // Create HTTP transport objects
+ HttpRequestMessage httpRequest = null;
+ try
+ {
+ httpRequest = new HttpRequestMessage();
+ httpRequest.Method = HttpMethod.Put;
+ httpRequest.RequestUri = new Uri(url);
+
+ // Set Headers
+ httpRequest.Headers.Add("if-match", "*");
+
+ // Set Credentials
+ cancellationToken.ThrowIfCancellationRequested();
+ await this.Client.Credentials.ProcessHttpRequestAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+
+ // Serialize Request
+ string requestContent = null;
+ JToken requestDoc = null;
+
+ JObject notificationHubCreateOrUpdateParametersValue = new JObject();
+ requestDoc = notificationHubCreateOrUpdateParametersValue;
+
+ notificationHubCreateOrUpdateParametersValue["location"] = parameters.Location;
+
+ if (parameters.Tags != null)
+ {
+ if (parameters.Tags is ILazyCollection == false || ((ILazyCollection)parameters.Tags).IsInitialized)
+ {
+ JObject tagsDictionary = new JObject();
+ foreach (KeyValuePair pair in parameters.Tags)
+ {
+ string tagsKey = pair.Key;
+ string tagsValue = pair.Value;
+ tagsDictionary[tagsKey] = tagsValue;
+ }
+ notificationHubCreateOrUpdateParametersValue["tags"] = tagsDictionary;
+ }
+ }
+
+ JObject propertiesValue = new JObject();
+ notificationHubCreateOrUpdateParametersValue["properties"] = propertiesValue;
+
+ if (parameters.Properties.Name != null)
+ {
+ propertiesValue["name"] = parameters.Properties.Name;
+ }
+
+ if (parameters.Properties.RegistrationTtl != null)
+ {
+ propertiesValue["registrationTtl"] = parameters.Properties.RegistrationTtl;
+ }
+
+ if (parameters.Properties.AuthorizationRules != null)
+ {
+ if (parameters.Properties.AuthorizationRules is ILazyCollection == false || ((ILazyCollection)parameters.Properties.AuthorizationRules).IsInitialized)
+ {
+ JArray authorizationRulesArray = new JArray();
+ foreach (SharedAccessAuthorizationRuleProperties authorizationRulesItem in parameters.Properties.AuthorizationRules)
+ {
+ if (authorizationRulesItem.PrimaryKey != null)
+ {
+ requestDoc = authorizationRulesItem.PrimaryKey;
+ }
+
+ if (authorizationRulesItem.SecondaryKey != null)
+ {
+ requestDoc = authorizationRulesItem.SecondaryKey;
+ }
+
+ if (authorizationRulesItem.KeyName != null)
+ {
+ requestDoc = authorizationRulesItem.KeyName;
+ }
+
+ if (authorizationRulesItem.ClaimType != null)
+ {
+ requestDoc = authorizationRulesItem.ClaimType;
+ }
+
+ if (authorizationRulesItem.ClaimValue != null)
+ {
+ requestDoc = authorizationRulesItem.ClaimValue;
+ }
+
+ if (authorizationRulesItem.Rights != null)
+ {
+ JArray rightsArray = new JArray();
+ foreach (AccessRights rightsItem in authorizationRulesItem.Rights)
+ {
+ rightsArray.Add(rightsItem.ToString());
+ }
+ requestDoc = rightsArray;
+ }
+
+ requestDoc = string.Format(CultureInfo.InvariantCulture, "{0:O}", authorizationRulesItem.CreatedTime.ToUniversalTime());
+
+ requestDoc = string.Format(CultureInfo.InvariantCulture, "{0:O}", authorizationRulesItem.ModifiedTime.ToUniversalTime());
+
+ requestDoc = authorizationRulesItem.Revision;
+ }
+ propertiesValue["authorizationRules"] = authorizationRulesArray;
+ }
+ }
+
+ if (parameters.Properties.ApnsCredential != null)
+ {
+ JObject apnsCredentialValue = new JObject();
+ propertiesValue["apnsCredential"] = apnsCredentialValue;
+
+ if (parameters.Properties.ApnsCredential.Properties != null)
+ {
+ JObject propertiesValue2 = new JObject();
+ apnsCredentialValue["properties"] = propertiesValue2;
+
+ if (parameters.Properties.ApnsCredential.Properties.ApnsCertificate != null)
+ {
+ propertiesValue2["apnsCertificate"] = parameters.Properties.ApnsCredential.Properties.ApnsCertificate;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.CertificateKey != null)
+ {
+ propertiesValue2["certificateKey"] = parameters.Properties.ApnsCredential.Properties.CertificateKey;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.Endpoint != null)
+ {
+ propertiesValue2["endpoint"] = parameters.Properties.ApnsCredential.Properties.Endpoint;
+ }
+
+ if (parameters.Properties.ApnsCredential.Properties.Thumbprint != null)
+ {
+ propertiesValue2["thumbprint"] = parameters.Properties.ApnsCredential.Properties.Thumbprint;
+ }
+ }
+ }
+
+ if (parameters.Properties.WnsCredential != null)
+ {
+ JObject wnsCredentialValue = new JObject();
+ propertiesValue["wnsCredential"] = wnsCredentialValue;
+
+ if (parameters.Properties.WnsCredential.Properties != null)
+ {
+ JObject propertiesValue3 = new JObject();
+ wnsCredentialValue["properties"] = propertiesValue3;
+
+ if (parameters.Properties.WnsCredential.Properties.PackageSid != null)
+ {
+ propertiesValue3["packageSid"] = parameters.Properties.WnsCredential.Properties.PackageSid;
+ }
+
+ if (parameters.Properties.WnsCredential.Properties.SecretKey != null)
+ {
+ propertiesValue3["secretKey"] = parameters.Properties.WnsCredential.Properties.SecretKey;
+ }
+
+ if (parameters.Properties.WnsCredential.Properties.WindowsLiveEndpoint != null)
+ {
+ propertiesValue3["windowsLiveEndpoint"] = parameters.Properties.WnsCredential.Properties.WindowsLiveEndpoint;
+ }
+ }
+ }
+
+ if (parameters.Properties.GcmCredential != null)
+ {
+ JObject gcmCredentialValue = new JObject();
+ propertiesValue["gcmCredential"] = gcmCredentialValue;
+
+ if (parameters.Properties.GcmCredential.Properties != null)
+ {
+ JObject propertiesValue4 = new JObject();
+ gcmCredentialValue["properties"] = propertiesValue4;
+
+ if (parameters.Properties.GcmCredential.Properties.GcmEndpoint != null)
+ {
+ propertiesValue4["gcmEndpoint"] = parameters.Properties.GcmCredential.Properties.GcmEndpoint;
+ }
+
+ if (parameters.Properties.GcmCredential.Properties.GoogleApiKey != null)
+ {
+ propertiesValue4["googleApiKey"] = parameters.Properties.GcmCredential.Properties.GoogleApiKey;
+ }
+ }
+ }
+
+ if (parameters.Properties.MpnsCredential != null)
+ {
+ JObject mpnsCredentialValue = new JObject();
+ propertiesValue["mpnsCredential"] = mpnsCredentialValue;
+
+ if (parameters.Properties.MpnsCredential.Properties != null)
+ {
+ JObject propertiesValue5 = new JObject();
+ mpnsCredentialValue["properties"] = propertiesValue5;
+
+ if (parameters.Properties.MpnsCredential.Properties.MpnsCertificate != null)
+ {
+ propertiesValue5["mpnsCertificate"] = parameters.Properties.MpnsCredential.Properties.MpnsCertificate;
+ }
+
+ if (parameters.Properties.MpnsCredential.Properties.CertificateKey != null)
+ {
+ propertiesValue5["certificateKey"] = parameters.Properties.MpnsCredential.Properties.CertificateKey;
+ }
+
+ if (parameters.Properties.MpnsCredential.Properties.Thumbprint != null)
+ {
+ propertiesValue5["thumbprint"] = parameters.Properties.MpnsCredential.Properties.Thumbprint;
+ }
+ }
+ }
+
+ if (parameters.Properties.AdmCredential != null)
+ {
+ JObject admCredentialValue = new JObject();
+ propertiesValue["admCredential"] = admCredentialValue;
+
+ if (parameters.Properties.AdmCredential.Properties != null)
+ {
+ JObject propertiesValue6 = new JObject();
+ admCredentialValue["properties"] = propertiesValue6;
+
+ if (parameters.Properties.AdmCredential.Properties.ClientId != null)
+ {
+ propertiesValue6["clientId"] = parameters.Properties.AdmCredential.Properties.ClientId;
+ }
+
+ if (parameters.Properties.AdmCredential.Properties.ClientSecret != null)
+ {
+ propertiesValue6["clientSecret"] = parameters.Properties.AdmCredential.Properties.ClientSecret;
+ }
+
+ if (parameters.Properties.AdmCredential.Properties.AuthTokenUrl != null)
+ {
+ propertiesValue6["authTokenUrl"] = parameters.Properties.AdmCredential.Properties.AuthTokenUrl;
+ }
+ }
+ }
+
+ if (parameters.Properties.BaiduCredential != null)
+ {
+ JObject baiduCredentialValue = new JObject();
+ propertiesValue["baiduCredential"] = baiduCredentialValue;
+
+ if (parameters.Properties.BaiduCredential.Properties != null)
+ {
+ JObject propertiesValue7 = new JObject();
+ baiduCredentialValue["properties"] = propertiesValue7;
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduApiKey != null)
+ {
+ propertiesValue7["baiduApiKey"] = parameters.Properties.BaiduCredential.Properties.BaiduApiKey;
+ }
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduEndPoint != null)
+ {
+ propertiesValue7["baiduEndPoint"] = parameters.Properties.BaiduCredential.Properties.BaiduEndPoint;
+ }
+
+ if (parameters.Properties.BaiduCredential.Properties.BaiduSecretKey != null)
+ {
+ propertiesValue7["baiduSecretKey"] = parameters.Properties.BaiduCredential.Properties.BaiduSecretKey;
+ }
+ }
+ }
+
+ requestContent = requestDoc.ToString(Newtonsoft.Json.Formatting.Indented);
+ httpRequest.Content = new StringContent(requestContent, Encoding.UTF8);
+ httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
+
+ // Send Request
+ HttpResponseMessage httpResponse = null;
+ try
+ {
+ if (shouldTrace)
+ {
+ TracingAdapter.SendRequest(invocationId, httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ httpResponse = await this.Client.HttpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
+ if (shouldTrace)
+ {
+ TracingAdapter.ReceiveResponse(invocationId, httpResponse);
+ }
+ HttpStatusCode statusCode = httpResponse.StatusCode;
+ if (statusCode != HttpStatusCode.OK && statusCode != HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ CloudException ex = CloudException.Create(httpRequest, requestContent, httpResponse, await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false));
+ if (shouldTrace)
+ {
+ TracingAdapter.Error(invocationId, ex);
+ }
+ throw ex;
+ }
+
+ // Create Result
+ NotificationHubCreateOrUpdateResponse result = null;
+ // Deserialize Response
+ if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.Created)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ string responseContent = await httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ result = new NotificationHubCreateOrUpdateResponse();
+ JToken responseDoc = null;
+ if (string.IsNullOrEmpty(responseContent) == false)
+ {
+ responseDoc = JToken.Parse(responseContent);
+ }
+
+ if (responseDoc != null && responseDoc.Type != JTokenType.Null)
+ {
+ NotificationHubResource valueInstance = new NotificationHubResource();
+ result.Value = valueInstance;
+
+ JToken idValue = responseDoc["id"];
+ if (idValue != null && idValue.Type != JTokenType.Null)
+ {
+ string idInstance = ((string)idValue);
+ valueInstance.Id = idInstance;
+ }
+
+ JToken locationValue = responseDoc["location"];
+ if (locationValue != null && locationValue.Type != JTokenType.Null)
+ {
+ string locationInstance = ((string)locationValue);
+ valueInstance.Location = locationInstance;
+ }
+
+ JToken nameValue = responseDoc["name"];
+ if (nameValue != null && nameValue.Type != JTokenType.Null)
+ {
+ string nameInstance = ((string)nameValue);
+ valueInstance.Name = nameInstance;
+ }
+
+ JToken typeValue = responseDoc["type"];
+ if (typeValue != null && typeValue.Type != JTokenType.Null)
+ {
+ string typeInstance = ((string)typeValue);
+ valueInstance.Type = typeInstance;
+ }
+
+ JToken tagsSequenceElement = ((JToken)responseDoc["tags"]);
+ if (tagsSequenceElement != null && tagsSequenceElement.Type != JTokenType.Null)
+ {
+ foreach (JProperty property in tagsSequenceElement)
+ {
+ string tagsKey2 = ((string)property.Name);
+ string tagsValue2 = ((string)property.Value);
+ valueInstance.Tags.Add(tagsKey2, tagsValue2);
+ }
+ }
+
+ JToken propertiesValue8 = responseDoc["properties"];
+ if (propertiesValue8 != null && propertiesValue8.Type != JTokenType.Null)
+ {
+ NotificationHubProperties propertiesInstance = new NotificationHubProperties();
+ valueInstance.Properties = propertiesInstance;
+
+ JToken nameValue2 = propertiesValue8["name"];
+ if (nameValue2 != null && nameValue2.Type != JTokenType.Null)
+ {
+ string nameInstance2 = ((string)nameValue2);
+ propertiesInstance.Name = nameInstance2;
+ }
+
+ JToken registrationTtlValue = propertiesValue8["registrationTtl"];
+ if (registrationTtlValue != null && registrationTtlValue.Type != JTokenType.Null)
+ {
+ string registrationTtlInstance = ((string)registrationTtlValue);
+ propertiesInstance.RegistrationTtl = registrationTtlInstance;
+ }
+
+ JToken authorizationRulesArray2 = propertiesValue8["authorizationRules"];
+ if (authorizationRulesArray2 != null && authorizationRulesArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken authorizationRulesValue in ((JArray)authorizationRulesArray2))
+ {
+ SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
+ propertiesInstance.AuthorizationRules.Add(sharedAccessAuthorizationRulePropertiesInstance);
+
+ JToken primaryKeyValue = authorizationRulesValue["primaryKey"];
+ if (primaryKeyValue != null && primaryKeyValue.Type != JTokenType.Null)
+ {
+ string primaryKeyInstance = ((string)primaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.PrimaryKey = primaryKeyInstance;
+ }
+
+ JToken secondaryKeyValue = authorizationRulesValue["secondaryKey"];
+ if (secondaryKeyValue != null && secondaryKeyValue.Type != JTokenType.Null)
+ {
+ string secondaryKeyInstance = ((string)secondaryKeyValue);
+ sharedAccessAuthorizationRulePropertiesInstance.SecondaryKey = secondaryKeyInstance;
+ }
+
+ JToken keyNameValue = authorizationRulesValue["keyName"];
+ if (keyNameValue != null && keyNameValue.Type != JTokenType.Null)
+ {
+ string keyNameInstance = ((string)keyNameValue);
+ sharedAccessAuthorizationRulePropertiesInstance.KeyName = keyNameInstance;
+ }
+
+ JToken claimTypeValue = authorizationRulesValue["claimType"];
+ if (claimTypeValue != null && claimTypeValue.Type != JTokenType.Null)
+ {
+ string claimTypeInstance = ((string)claimTypeValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimType = claimTypeInstance;
+ }
+
+ JToken claimValueValue = authorizationRulesValue["claimValue"];
+ if (claimValueValue != null && claimValueValue.Type != JTokenType.Null)
+ {
+ string claimValueInstance = ((string)claimValueValue);
+ sharedAccessAuthorizationRulePropertiesInstance.ClaimValue = claimValueInstance;
+ }
+
+ JToken rightsArray2 = authorizationRulesValue["rights"];
+ if (rightsArray2 != null && rightsArray2.Type != JTokenType.Null)
+ {
+ foreach (JToken rightsValue in ((JArray)rightsArray2))
+ {
+ sharedAccessAuthorizationRulePropertiesInstance.Rights.Add(((AccessRights)Enum.Parse(typeof(AccessRights), ((string)rightsValue), true)));
+ }
+ }
+
+ JToken createdTimeValue = authorizationRulesValue["createdTime"];
+ if (createdTimeValue != null && createdTimeValue.Type != JTokenType.Null)
+ {
+ DateTime createdTimeInstance = DateTime.Parse(((string)createdTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.CreatedTime = createdTimeInstance;
+ }
+
+ JToken modifiedTimeValue = authorizationRulesValue["modifiedTime"];
+ if (modifiedTimeValue != null && modifiedTimeValue.Type != JTokenType.Null)
+ {
+ DateTime modifiedTimeInstance = DateTime.Parse(((string)modifiedTimeValue), CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal).ToLocalTime();
+ sharedAccessAuthorizationRulePropertiesInstance.ModifiedTime = modifiedTimeInstance;
+ }
+
+ JToken revisionValue = authorizationRulesValue["revision"];
+ if (revisionValue != null && revisionValue.Type != JTokenType.Null)
+ {
+ int revisionInstance = ((int)revisionValue);
+ sharedAccessAuthorizationRulePropertiesInstance.Revision = revisionInstance;
+ }
+ }
+ }
+
+ JToken apnsCredentialValue2 = propertiesValue8["apnsCredential"];
+ if (apnsCredentialValue2 != null && apnsCredentialValue2.Type != JTokenType.Null)
+ {
+ ApnsCredential apnsCredentialInstance = new ApnsCredential();
+ propertiesInstance.ApnsCredential = apnsCredentialInstance;
+
+ JToken propertiesValue9 = apnsCredentialValue2["properties"];
+ if (propertiesValue9 != null && propertiesValue9.Type != JTokenType.Null)
+ {
+ ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
+ apnsCredentialInstance.Properties = propertiesInstance2;
+
+ JToken apnsCertificateValue = propertiesValue9["apnsCertificate"];
+ if (apnsCertificateValue != null && apnsCertificateValue.Type != JTokenType.Null)
+ {
+ string apnsCertificateInstance = ((string)apnsCertificateValue);
+ propertiesInstance2.ApnsCertificate = apnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue = propertiesValue9["certificateKey"];
+ if (certificateKeyValue != null && certificateKeyValue.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance = ((string)certificateKeyValue);
+ propertiesInstance2.CertificateKey = certificateKeyInstance;
+ }
+
+ JToken endpointValue = propertiesValue9["endpoint"];
+ if (endpointValue != null && endpointValue.Type != JTokenType.Null)
+ {
+ string endpointInstance = ((string)endpointValue);
+ propertiesInstance2.Endpoint = endpointInstance;
+ }
+
+ JToken thumbprintValue = propertiesValue9["thumbprint"];
+ if (thumbprintValue != null && thumbprintValue.Type != JTokenType.Null)
+ {
+ string thumbprintInstance = ((string)thumbprintValue);
+ propertiesInstance2.Thumbprint = thumbprintInstance;
+ }
+ }
+ }
+
+ JToken wnsCredentialValue2 = propertiesValue8["wnsCredential"];
+ if (wnsCredentialValue2 != null && wnsCredentialValue2.Type != JTokenType.Null)
+ {
+ WnsCredential wnsCredentialInstance = new WnsCredential();
+ propertiesInstance.WnsCredential = wnsCredentialInstance;
+
+ JToken propertiesValue10 = wnsCredentialValue2["properties"];
+ if (propertiesValue10 != null && propertiesValue10.Type != JTokenType.Null)
+ {
+ WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
+ wnsCredentialInstance.Properties = propertiesInstance3;
+
+ JToken packageSidValue = propertiesValue10["packageSid"];
+ if (packageSidValue != null && packageSidValue.Type != JTokenType.Null)
+ {
+ string packageSidInstance = ((string)packageSidValue);
+ propertiesInstance3.PackageSid = packageSidInstance;
+ }
+
+ JToken secretKeyValue = propertiesValue10["secretKey"];
+ if (secretKeyValue != null && secretKeyValue.Type != JTokenType.Null)
+ {
+ string secretKeyInstance = ((string)secretKeyValue);
+ propertiesInstance3.SecretKey = secretKeyInstance;
+ }
+
+ JToken windowsLiveEndpointValue = propertiesValue10["windowsLiveEndpoint"];
+ if (windowsLiveEndpointValue != null && windowsLiveEndpointValue.Type != JTokenType.Null)
+ {
+ string windowsLiveEndpointInstance = ((string)windowsLiveEndpointValue);
+ propertiesInstance3.WindowsLiveEndpoint = windowsLiveEndpointInstance;
+ }
+ }
+ }
+
+ JToken gcmCredentialValue2 = propertiesValue8["gcmCredential"];
+ if (gcmCredentialValue2 != null && gcmCredentialValue2.Type != JTokenType.Null)
+ {
+ GcmCredential gcmCredentialInstance = new GcmCredential();
+ propertiesInstance.GcmCredential = gcmCredentialInstance;
+
+ JToken propertiesValue11 = gcmCredentialValue2["properties"];
+ if (propertiesValue11 != null && propertiesValue11.Type != JTokenType.Null)
+ {
+ GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
+ gcmCredentialInstance.Properties = propertiesInstance4;
+
+ JToken gcmEndpointValue = propertiesValue11["gcmEndpoint"];
+ if (gcmEndpointValue != null && gcmEndpointValue.Type != JTokenType.Null)
+ {
+ string gcmEndpointInstance = ((string)gcmEndpointValue);
+ propertiesInstance4.GcmEndpoint = gcmEndpointInstance;
+ }
+
+ JToken googleApiKeyValue = propertiesValue11["googleApiKey"];
+ if (googleApiKeyValue != null && googleApiKeyValue.Type != JTokenType.Null)
+ {
+ string googleApiKeyInstance = ((string)googleApiKeyValue);
+ propertiesInstance4.GoogleApiKey = googleApiKeyInstance;
+ }
+ }
+ }
+
+ JToken mpnsCredentialValue2 = propertiesValue8["mpnsCredential"];
+ if (mpnsCredentialValue2 != null && mpnsCredentialValue2.Type != JTokenType.Null)
+ {
+ MpnsCredential mpnsCredentialInstance = new MpnsCredential();
+ propertiesInstance.MpnsCredential = mpnsCredentialInstance;
+
+ JToken propertiesValue12 = mpnsCredentialValue2["properties"];
+ if (propertiesValue12 != null && propertiesValue12.Type != JTokenType.Null)
+ {
+ MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
+ mpnsCredentialInstance.Properties = propertiesInstance5;
+
+ JToken mpnsCertificateValue = propertiesValue12["mpnsCertificate"];
+ if (mpnsCertificateValue != null && mpnsCertificateValue.Type != JTokenType.Null)
+ {
+ string mpnsCertificateInstance = ((string)mpnsCertificateValue);
+ propertiesInstance5.MpnsCertificate = mpnsCertificateInstance;
+ }
+
+ JToken certificateKeyValue2 = propertiesValue12["certificateKey"];
+ if (certificateKeyValue2 != null && certificateKeyValue2.Type != JTokenType.Null)
+ {
+ string certificateKeyInstance2 = ((string)certificateKeyValue2);
+ propertiesInstance5.CertificateKey = certificateKeyInstance2;
+ }
+
+ JToken thumbprintValue2 = propertiesValue12["thumbprint"];
+ if (thumbprintValue2 != null && thumbprintValue2.Type != JTokenType.Null)
+ {
+ string thumbprintInstance2 = ((string)thumbprintValue2);
+ propertiesInstance5.Thumbprint = thumbprintInstance2;
+ }
+ }
+ }
+
+ JToken admCredentialValue2 = propertiesValue8["admCredential"];
+ if (admCredentialValue2 != null && admCredentialValue2.Type != JTokenType.Null)
+ {
+ AdmCredential admCredentialInstance = new AdmCredential();
+ propertiesInstance.AdmCredential = admCredentialInstance;
+
+ JToken propertiesValue13 = admCredentialValue2["properties"];
+ if (propertiesValue13 != null && propertiesValue13.Type != JTokenType.Null)
+ {
+ AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
+ admCredentialInstance.Properties = propertiesInstance6;
+
+ JToken clientIdValue = propertiesValue13["clientId"];
+ if (clientIdValue != null && clientIdValue.Type != JTokenType.Null)
+ {
+ string clientIdInstance = ((string)clientIdValue);
+ propertiesInstance6.ClientId = clientIdInstance;
+ }
+
+ JToken clientSecretValue = propertiesValue13["clientSecret"];
+ if (clientSecretValue != null && clientSecretValue.Type != JTokenType.Null)
+ {
+ string clientSecretInstance = ((string)clientSecretValue);
+ propertiesInstance6.ClientSecret = clientSecretInstance;
+ }
+
+ JToken authTokenUrlValue = propertiesValue13["authTokenUrl"];
+ if (authTokenUrlValue != null && authTokenUrlValue.Type != JTokenType.Null)
+ {
+ string authTokenUrlInstance = ((string)authTokenUrlValue);
+ propertiesInstance6.AuthTokenUrl = authTokenUrlInstance;
+ }
+ }
+ }
+
+ JToken baiduCredentialValue2 = propertiesValue8["baiduCredential"];
+ if (baiduCredentialValue2 != null && baiduCredentialValue2.Type != JTokenType.Null)
+ {
+ BaiduCredential baiduCredentialInstance = new BaiduCredential();
+ propertiesInstance.BaiduCredential = baiduCredentialInstance;
+
+ JToken propertiesValue14 = baiduCredentialValue2["properties"];
+ if (propertiesValue14 != null && propertiesValue14.Type != JTokenType.Null)
+ {
+ BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
+ baiduCredentialInstance.Properties = propertiesInstance7;
+
+ JToken baiduApiKeyValue = propertiesValue14["baiduApiKey"];
+ if (baiduApiKeyValue != null && baiduApiKeyValue.Type != JTokenType.Null)
+ {
+ string baiduApiKeyInstance = ((string)baiduApiKeyValue);
+ propertiesInstance7.BaiduApiKey = baiduApiKeyInstance;
+ }
+
+ JToken baiduEndPointValue = propertiesValue14["baiduEndPoint"];
+ if (baiduEndPointValue != null && baiduEndPointValue.Type != JTokenType.Null)
+ {
+ string baiduEndPointInstance = ((string)baiduEndPointValue);
+ propertiesInstance7.BaiduEndPoint = baiduEndPointInstance;
+ }
+
+ JToken baiduSecretKeyValue = propertiesValue14["baiduSecretKey"];
+ if (baiduSecretKeyValue != null && baiduSecretKeyValue.Type != JTokenType.Null)
+ {
+ string baiduSecretKeyInstance = ((string)baiduSecretKeyValue);
+ propertiesInstance7.BaiduSecretKey = baiduSecretKeyInstance;
+ }
+ }
+ }
+ }
+ }
+
+ }
+ result.StatusCode = statusCode;
+ if (httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ result.RequestId = httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+
+ if (shouldTrace)
+ {
+ TracingAdapter.Exit(invocationId, result);
+ }
+ return result;
+ }
+ finally
+ {
+ if (httpResponse != null)
+ {
+ httpResponse.Dispose();
+ }
+ }
+ }
+ finally
+ {
+ if (httpRequest != null)
+ {
+ httpRequest.Dispose();
+ }
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperationsExtensions.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperationsExtensions.cs
new file mode 100644
index 000000000000..ef573437c79c
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubOperationsExtensions.cs
@@ -0,0 +1,729 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+using Microsoft.Azure.Management.NotificationHubs.Models;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// .Net client wrapper for the REST API for Azure NotificationHub Service
+ ///
+ public static partial class NotificationHubOperationsExtensions
+ {
+ ///
+ /// Checks the availability of the given notificationHub in a
+ /// namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notificationHub name.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public static CheckAvailabilityResponse CheckAvailability(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, CheckAvailabilityParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).CheckAvailabilityAsync(resourceGroupName, namespaceName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Checks the availability of the given notificationHub in a
+ /// namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notificationHub name.
+ ///
+ ///
+ /// Response of the Check NameAvailability operation.
+ ///
+ public static Task CheckAvailabilityAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, CheckAvailabilityParameters parameters)
+ {
+ return operations.CheckAvailabilityAsync(resourceGroupName, namespaceName, parameters, CancellationToken.None);
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public static NotificationHubCreateOrUpdateResponse Create(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).CreateAsync(resourceGroupName, namespaceName, notificationHubName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public static Task CreateAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters)
+ {
+ return operations.CreateAsync(resourceGroupName, namespaceName, notificationHubName, parameters, CancellationToken.None);
+ }
+
+ ///
+ /// The create NotificationHub authorization rule operation creates an
+ /// authorization rule for a NotificationHub
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public static SharedAccessAuthorizationRuleCreateOrUpdateResponse CreateOrUpdateAuthorizationRule(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).CreateOrUpdateAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The create NotificationHub authorization rule operation creates an
+ /// authorization rule for a NotificationHub
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// Required. The shared access authorization rule.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the AuthorizationRules
+ ///
+ public static Task CreateOrUpdateAuthorizationRuleAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName, SharedAccessAuthorizationRuleCreateOrUpdateParameters parameters)
+ {
+ return operations.CreateOrUpdateAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, parameters, CancellationToken.None);
+ }
+
+ ///
+ /// Deletes a notification hub associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static AzureOperationResponse Delete(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).DeleteAsync(resourceGroupName, namespaceName, notificationHubName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Deletes a notification hub associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static Task DeleteAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return operations.DeleteAsync(resourceGroupName, namespaceName, notificationHubName, CancellationToken.None);
+ }
+
+ ///
+ /// The delete a notificationHub authorization rule operation
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static AzureOperationResponse DeleteAuthorizationRule(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).DeleteAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The delete a notificationHub authorization rule operation
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The namespace authorizationRuleName name.
+ ///
+ ///
+ /// A standard service response including an HTTP status code and
+ /// request ID.
+ ///
+ public static Task DeleteAuthorizationRuleAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return operations.DeleteAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, CancellationToken.None);
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public static NotificationHubGetResponse Get(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).GetAsync(resourceGroupName, namespaceName, notificationHubName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public static Task GetAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return operations.GetAsync(resourceGroupName, namespaceName, notificationHubName, CancellationToken.None);
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a NotificationHub by name.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static SharedAccessAuthorizationRuleGetResponse GetAuthorizationRule(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).GetAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The get authorization rule operation gets an authorization rule for
+ /// a NotificationHub by name.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The entity name to get the authorization rule for.
+ ///
+ ///
+ /// The response of the Get Namespace operation.
+ ///
+ public static Task GetAuthorizationRuleAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return operations.GetAuthorizationRuleAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, CancellationToken.None);
+ }
+
+ ///
+ /// Lists the PNS Credentials associated with a notification hub .
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public static NotificationHubGetResponse GetPnsCredentials(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).GetPnsCredentialsAsync(resourceGroupName, namespaceName, notificationHubName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists the PNS Credentials associated with a notification hub .
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the Get NotificationHub operation.
+ ///
+ public static Task GetPnsCredentialsAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return operations.GetPnsCredentialsAsync(resourceGroupName, namespaceName, notificationHubName, CancellationToken.None);
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the List NotificationHub operation.
+ ///
+ public static NotificationHubListResponse List(this INotificationHubOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).ListAsync(resourceGroupName, namespaceName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Lists the notification hubs associated with a namespace.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// The response of the List NotificationHub operation.
+ ///
+ public static Task ListAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName)
+ {
+ return operations.ListAsync(resourceGroupName, namespaceName, CancellationToken.None);
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a NotificationHub.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The NotificationHub to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static SharedAccessAuthorizationRuleListResponse ListAuthorizationRules(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).ListAuthorizationRulesAsync(resourceGroupName, namespaceName, notificationHubName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// The get authorization rules operation gets the authorization rules
+ /// for a NotificationHub.
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The NotificationHub to get the authorization rule for.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// The response of the List Namespace operation.
+ ///
+ public static Task ListAuthorizationRulesAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName)
+ {
+ return operations.ListAuthorizationRulesAsync(resourceGroupName, namespaceName, notificationHubName, CancellationToken.None);
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the
+ /// NotificationHub (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The connection string of the NotificationHub for the
+ /// specified authorizationRule.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public static ResourceListKeys ListKeys(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).ListKeysAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Gets the Primary and Secondary ConnectionStrings to the
+ /// NotificationHub (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. The connection string of the NotificationHub for the
+ /// specified authorizationRule.
+ ///
+ ///
+ /// Namespace/NotificationHub Connection String
+ ///
+ public static Task ListKeysAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, string authorizationRuleName)
+ {
+ return operations.ListKeysAsync(resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, CancellationToken.None);
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public static NotificationHubCreateOrUpdateResponse Update(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters)
+ {
+ return Task.Factory.StartNew((object s) =>
+ {
+ return ((INotificationHubOperations)s).UpdateAsync(resourceGroupName, namespaceName, notificationHubName, parameters);
+ }
+ , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Creates a new NotificationHub in a namespace. (see
+ /// http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
+ /// for more information)
+ ///
+ ///
+ /// Reference to the
+ /// Microsoft.Azure.Management.NotificationHubs.INotificationHubOperations.
+ ///
+ ///
+ /// Required. The name of the resource group.
+ ///
+ ///
+ /// Required. The namespace name.
+ ///
+ ///
+ /// Required. The notification hub name.
+ ///
+ ///
+ /// Required. Parameters supplied to the create a Namespace Resource.
+ ///
+ ///
+ /// Response of the CreateOrUpdate operation on the NotificationHub
+ ///
+ public static Task UpdateAsync(this INotificationHubOperations operations, string resourceGroupName, string namespaceName, string notificationHubName, NotificationHubCreateOrUpdateParameters parameters)
+ {
+ return operations.UpdateAsync(resourceGroupName, namespaceName, notificationHubName, parameters, CancellationToken.None);
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClient.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClient.cs
new file mode 100644
index 000000000000..cb9323492534
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClient.cs
@@ -0,0 +1,280 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+using System.Net.Http;
+using Hyak.Common;
+using Microsoft.Azure;
+using Microsoft.Azure.Management.NotificationHubs;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// .Net client wrapper for the REST API for Azure NotificationHub Service
+ ///
+ public partial class NotificationHubsManagementClient : ServiceClient, INotificationHubsManagementClient
+ {
+ private string _apiVersion;
+
+ ///
+ /// Gets the API version.
+ ///
+ public string ApiVersion
+ {
+ get { return this._apiVersion; }
+ }
+
+ private Uri _baseUri;
+
+ ///
+ /// Gets the URI used as the base for all cloud service requests.
+ ///
+ public Uri BaseUri
+ {
+ get { return this._baseUri; }
+ }
+
+ private SubscriptionCloudCredentials _credentials;
+
+ ///
+ /// Gets subscription credentials which uniquely identify Microsoft
+ /// Azure subscription. The subscription ID forms part of the URI for
+ /// every service call.
+ ///
+ public SubscriptionCloudCredentials Credentials
+ {
+ get { return this._credentials; }
+ }
+
+ private int _longRunningOperationInitialTimeout;
+
+ ///
+ /// Gets or sets the initial timeout for Long Running Operations.
+ ///
+ public int LongRunningOperationInitialTimeout
+ {
+ get { return this._longRunningOperationInitialTimeout; }
+ set { this._longRunningOperationInitialTimeout = value; }
+ }
+
+ private int _longRunningOperationRetryTimeout;
+
+ ///
+ /// Gets or sets the retry timeout for Long Running Operations.
+ ///
+ public int LongRunningOperationRetryTimeout
+ {
+ get { return this._longRunningOperationRetryTimeout; }
+ set { this._longRunningOperationRetryTimeout = value; }
+ }
+
+ private INamespaceOperations _namespaces;
+
+ ///
+ /// The Management API includes operations for managing NotificationHub
+ /// only namespaces.
+ ///
+ public virtual INamespaceOperations Namespaces
+ {
+ get { return this._namespaces; }
+ }
+
+ private INotificationHubOperations _notificationHubs;
+
+ ///
+ /// The Management API includes operations for managing notification
+ /// hubs.
+ ///
+ public virtual INotificationHubOperations NotificationHubs
+ {
+ get { return this._notificationHubs; }
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ public NotificationHubsManagementClient()
+ : base()
+ {
+ this._namespaces = new NamespaceOperations(this);
+ this._notificationHubs = new NotificationHubOperations(this);
+ this._apiVersion = "2014-09-01";
+ this._longRunningOperationInitialTimeout = -1;
+ this._longRunningOperationRetryTimeout = -1;
+ this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ ///
+ /// Required. Gets subscription credentials which uniquely identify
+ /// Microsoft Azure subscription. The subscription ID forms part of
+ /// the URI for every service call.
+ ///
+ ///
+ /// Optional. Gets the URI used as the base for all cloud service
+ /// requests.
+ ///
+ public NotificationHubsManagementClient(SubscriptionCloudCredentials credentials, Uri baseUri)
+ : this()
+ {
+ if (credentials == null)
+ {
+ throw new ArgumentNullException("credentials");
+ }
+ if (baseUri == null)
+ {
+ throw new ArgumentNullException("baseUri");
+ }
+ this._credentials = credentials;
+ this._baseUri = baseUri;
+
+ this.Credentials.InitializeServiceClient(this);
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ ///
+ /// Required. Gets subscription credentials which uniquely identify
+ /// Microsoft Azure subscription. The subscription ID forms part of
+ /// the URI for every service call.
+ ///
+ public NotificationHubsManagementClient(SubscriptionCloudCredentials credentials)
+ : this()
+ {
+ if (credentials == null)
+ {
+ throw new ArgumentNullException("credentials");
+ }
+ this._credentials = credentials;
+ this._baseUri = new Uri("https://management.azure.com");
+
+ this.Credentials.InitializeServiceClient(this);
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ ///
+ /// The Http client
+ ///
+ public NotificationHubsManagementClient(HttpClient httpClient)
+ : base(httpClient)
+ {
+ this._namespaces = new NamespaceOperations(this);
+ this._notificationHubs = new NotificationHubOperations(this);
+ this._apiVersion = "2014-09-01";
+ this._longRunningOperationInitialTimeout = -1;
+ this._longRunningOperationRetryTimeout = -1;
+ this.HttpClient.Timeout = TimeSpan.FromSeconds(300);
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ ///
+ /// Required. Gets subscription credentials which uniquely identify
+ /// Microsoft Azure subscription. The subscription ID forms part of
+ /// the URI for every service call.
+ ///
+ ///
+ /// Optional. Gets the URI used as the base for all cloud service
+ /// requests.
+ ///
+ ///
+ /// The Http client
+ ///
+ public NotificationHubsManagementClient(SubscriptionCloudCredentials credentials, Uri baseUri, HttpClient httpClient)
+ : this(httpClient)
+ {
+ if (credentials == null)
+ {
+ throw new ArgumentNullException("credentials");
+ }
+ if (baseUri == null)
+ {
+ throw new ArgumentNullException("baseUri");
+ }
+ this._credentials = credentials;
+ this._baseUri = baseUri;
+
+ this.Credentials.InitializeServiceClient(this);
+ }
+
+ ///
+ /// Initializes a new instance of the NotificationHubsManagementClient
+ /// class.
+ ///
+ ///
+ /// Required. Gets subscription credentials which uniquely identify
+ /// Microsoft Azure subscription. The subscription ID forms part of
+ /// the URI for every service call.
+ ///
+ ///
+ /// The Http client
+ ///
+ public NotificationHubsManagementClient(SubscriptionCloudCredentials credentials, HttpClient httpClient)
+ : this(httpClient)
+ {
+ if (credentials == null)
+ {
+ throw new ArgumentNullException("credentials");
+ }
+ this._credentials = credentials;
+ this._baseUri = new Uri("https://management.azure.com");
+
+ this.Credentials.InitializeServiceClient(this);
+ }
+
+ ///
+ /// Clones properties from current instance to another
+ /// NotificationHubsManagementClient instance
+ ///
+ ///
+ /// Instance of NotificationHubsManagementClient to clone to
+ ///
+ protected override void Clone(ServiceClient client)
+ {
+ base.Clone(client);
+
+ if (client is NotificationHubsManagementClient)
+ {
+ NotificationHubsManagementClient clonedClient = ((NotificationHubsManagementClient)client);
+
+ clonedClient._credentials = this._credentials;
+ clonedClient._baseUri = this._baseUri;
+ clonedClient._apiVersion = this._apiVersion;
+ clonedClient._longRunningOperationInitialTimeout = this._longRunningOperationInitialTimeout;
+ clonedClient._longRunningOperationRetryTimeout = this._longRunningOperationRetryTimeout;
+
+ clonedClient.Credentials.InitializeServiceClient(clonedClient);
+ }
+ }
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClientExtensions.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClientExtensions.cs
new file mode 100644
index 000000000000..6940714b92ba
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Generated/NotificationHubsManagementClientExtensions.cs
@@ -0,0 +1,33 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Warning: This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if the
+// code is regenerated.
+
+using System;
+using System.Linq;
+
+namespace Microsoft.Azure.Management.NotificationHubs
+{
+ ///
+ /// .Net client wrapper for the REST API for Azure NotificationHub Service
+ ///
+ public static partial class NotificationHubsManagementClientExtensions
+ {
+ }
+}
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuget.proj b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuget.proj
new file mode 100644
index 000000000000..049f93011eee
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuget.proj
@@ -0,0 +1,12 @@
+
+
+
+
+
+ 0.1.0-preview
+ $(MSBuildThisFileDirectory)
+
+
+
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuspec b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuspec
new file mode 100644
index 000000000000..fe0935e1b3ad
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Microsoft.Azure.Management.NotificationHubs.nuspec
@@ -0,0 +1,39 @@
+
+
+
+ Microsoft.Azure.Management.NotificationHubs
+ Microsoft Azure NotificationHubs Service Management Library
+ __BASELINE_RELEASE_NOTES__
+ $version$
+ Microsoft
+ azure-sdk, Microsoft
+ http://aka.ms/windowsazureapache2
+ https://github.com/Azure/azure-sdk-for-net
+ http://go.microsoft.com/fwlink/?LinkID=288890
+ false
+ Provides NotificationHubs Service management capabilities for Microsoft Azure.
+ Provides NotificationHubs Service management capabilities for Microsoft Azure.
+ Copyright © Microsoft Corporation
+ Microsoft Azure NotificationHubs Service management REST HTTP client windowsazureofficial
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/NotificationHubsManagement.csproj b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/NotificationHubsManagement.csproj
new file mode 100644
index 000000000000..8263b4cff6f3
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/NotificationHubsManagement.csproj
@@ -0,0 +1,97 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {D56E4444-B9DF-4B02-9329-FFE12B39832D}
+ Library
+ Properties
+ Microsoft.Azure.Management.NotificationHubs
+ Microsoft.Azure.Management.NotificationHubs
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Designer
+
+
+ Designer
+
+
+
+
+
+ $(LibraryNugetPackageFolder)\Hyak.Common.1.0.2\lib\portable-net403+win+wpa81\Hyak.Common.dll
+
+
+ $(LibraryNugetPackageFolder)\Microsoft.Azure.Common.2.1.0\lib\portable-net45+wp8+wpa81+win\Microsoft.Azure.Common.dll
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Properties/AssemblyInfo.cs b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000000..47d608dd5251
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/Properties/AssemblyInfo.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft and contributors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("NotificationHubsManagement")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("NotificationHubsManagement")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("5c7d45fe-59f7-41ce-ae96-b7d9f71582bf")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("0.9.0.0*")]
+[assembly: AssemblyVersion("0.9.0.0")]
+[assembly: AssemblyFileVersion("0.1.0.0")]
diff --git a/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/packages.config b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/packages.config
new file mode 100644
index 000000000000..ec8f232f26a8
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NotificationHubsManagement/packages.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/ResourceManagement/NotificationHubs/NuGet.Config b/src/ResourceManagement/NotificationHubs/NuGet.Config
new file mode 100644
index 000000000000..dcff8ff3ab0e
--- /dev/null
+++ b/src/ResourceManagement/NotificationHubs/NuGet.Config
@@ -0,0 +1,4 @@
+
+
+ ..\..\..\packages
+