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 +