diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj b/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj
index 6006d6850b8f..8f7e5aee5d99 100644
--- a/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj
@@ -71,7 +71,7 @@
False
- ..\..\..\packages\Microsoft.Azure.Management.Sql.0.43.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll
+ ..\..\..\packages\Microsoft.Azure.Management.Sql.0.44.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll
..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll
@@ -239,6 +239,7 @@
+
@@ -253,6 +254,7 @@
+
@@ -301,6 +303,12 @@
Always
+
+ Always
+
+
+ Always
+
Always
@@ -514,6 +522,9 @@
Always
+
+ Always
+
Always
diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.cs b/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.cs
new file mode 100644
index 000000000000..1f41097f11c1
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.cs
@@ -0,0 +1,30 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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 Microsoft.Azure.Commands.ScenarioTest.SqlTests;
+using Microsoft.WindowsAzure.Commands.ScenarioTest;
+using Xunit;
+
+namespace Microsoft.Azure.Commands.Sql.Test.ScenarioTests
+{
+ public class ServerDisasterRecoveryConfigurationTests : SqlTestsBase
+ {
+ [Fact]
+ [Trait(Category.AcceptanceType, Category.Sql)]
+ public void TestServerDisasterRecoveryConfiguration()
+ {
+ RunPowerShellTest("Test-ServerDisasterRecoveryConfiguration");
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.ps1 b/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.ps1
new file mode 100644
index 000000000000..d90b3e79113b
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/ServerDisasterRecoveryConfigurationTests.ps1
@@ -0,0 +1,83 @@
+# ----------------------------------------------------------------------------------
+#
+# Copyright Microsoft Corporation
+# 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.
+# ----------------------------------------------------------------------------------
+
+<#
+ .SYNOPSIS
+ Tests CRUD on disaster recovery configuration
+#>
+function Test-ServerDisasterRecoveryConfiguration
+{
+ Test-ServerDisasterRecoveryConfigurationInternal
+}
+
+<#
+ .SYNOPSIS
+ Tests creating 2 servers, a disaster recovery configuration, failing over, then deleting
+#>
+function Test-ServerDisasterRecoveryConfigurationInternal ($location1 = "North Europe", $location2 = "Southeast Asia")
+{
+ # Setup
+ $rg1 = Create-ResourceGroupForTest $location1
+ $rg2 = Create-ResourceGroupForTest $location2
+
+ try
+ {
+ $server1 = Create-ServerForTest $rg1 "12.0" $location1
+ $server2 = Create-ServerForTest $rg2 "12.0" $location2
+ $failoverPolicy = "Off"
+ $sdrcName = "test-sdrc-alias"
+
+ # Create and validate
+ #
+ $sdrc = New-AzureRmSqlServerDisasterRecoveryConfiguration -ResourceGroupName $rg1.ResourceGroupName -ServerName $server1.ServerName -VirtualEndpointName $sdrcName -PartnerResourceGroupName $rg2.ResourceGroupName -PartnerServerName $server2.ServerName
+
+ GetSdrcCheck $rg1 $server1 $sdrcName $rg2 $server2 $failoverPolicy "Primary"
+ GetSdrcCheck $rg2 $server2 $sdrcName $rg1 $server1 $failoverPolicy "Secondary"
+
+ # Failover and check
+ #
+ Set-AzureRmSqlServerDisasterRecoveryConfiguration -ResourceGroupName $rg2.ResourceGroupName -ServerName $server2.ServerName -VirtualEndpointName $sdrcName -Failover
+
+ GetSdrcCheck $rg2 $server2 $sdrcName $rg1 $server1 $failoverPolicy "Primary"
+ GetSdrcCheck $rg1 $server1 $sdrcName $rg2 $server2 $failoverPolicy "Secondary"
+
+ # Fail back and check
+ #
+ Set-AzureRmSqlServerDisasterRecoveryConfiguration -ResourceGroupName $rg1.ResourceGroupName -ServerName $server1.ServerName -VirtualEndpointName $sdrcName -Failover
+
+ GetSdrcCheck $rg1 $server1 $sdrcName $rg2 $server2 $failoverPolicy "Primary"
+ GetSdrcCheck $rg2 $server2 $sdrcName $rg1 $server1 $failoverPolicy "Secondary"
+
+ # Delete
+ #
+ Remove-AzureRmSqlServerDisasterRecoveryConfiguration -ResourceGroupName $rg1.ResourceGroupName -ServerName $server1.ServerName -VirtualEndpointName $sdrcName -Force
+ }
+ finally
+ {
+ Remove-ResourceGroupForTest $rg1
+ Remove-ResourceGroupForTest $rg2
+ }
+}
+
+function GetSdrcCheck ($resourceGroup, $server, $virtualEndpointName, $partnerResourceGroup, $partnerServer, $failoverPolicy, $role)
+{
+ $sdrcGet = Get-AzureRmSqlServerDisasterRecoveryConfiguration -ResourceGroupName $resourceGroup.ResourceGroupName -ServerName $server.ServerName -VirtualEndpointName $virtualEndpointName
+
+ Assert-AreEqual $resourceGroup.ResourceGroupName $sdrcGet.ResourceGroupName
+ Assert-AreEqual $server.ServerName $sdrcGet.ServerName
+ Assert-AreEqual $virtualEndpointName $sdrcGet.VirtualEndpointName
+ Assert-AreEqual $partnerServer.ServerName $sdrcGet.PartnerServerName
+ Assert-AreEqual $failoverPolicy $sdrcGet.FailoverPolicy
+ Assert-AreEqual $role $sdrcGet.Role
+}
\ No newline at end of file
diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.ServerDisasterRecoveryConfigurationTests/TestServerDisasterRecoveryConfiguration.json b/src/ResourceManager/Sql/Commands.Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.ServerDisasterRecoveryConfigurationTests/TestServerDisasterRecoveryConfiguration.json
new file mode 100644
index 000000000000..783c531123ff
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.ServerDisasterRecoveryConfigurationTests/TestServerDisasterRecoveryConfiguration.json
@@ -0,0 +1,2541 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk8312?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazgzMTI/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "HEAD",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "102"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14888"
+ ],
+ "x-ms-request-id": [
+ "23dcfd35-1aac-41e6-a19a-ecf2aa5e70d5"
+ ],
+ "x-ms-correlation-request-id": [
+ "23dcfd35-1aac-41e6-a19a-ecf2aa5e70d5"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031937Z:23dcfd35-1aac-41e6-a19a-ecf2aa5e70d5"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:36 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk8312?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazgzMTI/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "HEAD",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14873"
+ ],
+ "x-ms-request-id": [
+ "784a4c1b-8ab6-4d9a-9c29-8c464c33592e"
+ ],
+ "x-ms-correlation-request-id": [
+ "784a4c1b-8ab6-4d9a-9c29-8c464c33592e"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032223Z:784a4c1b-8ab6-4d9a-9c29-8c464c33592e"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:23 GMT"
+ ]
+ },
+ "StatusCode": 204
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk8312?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazgzMTI/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"North Europe\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "34"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312\",\r\n \"name\": \"onesdk8312\",\r\n \"location\": \"northeurope\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "178"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1189"
+ ],
+ "x-ms-request-id": [
+ "a9c0bdf5-dba3-4321-8743-1f9a6204b0fb"
+ ],
+ "x-ms-correlation-request-id": [
+ "a9c0bdf5-dba3-4321-8743-1f9a6204b0fb"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031938Z:a9c0bdf5-dba3-4321-8743-1f9a6204b0fb"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:38 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/resources?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcmVzb3VyY2VzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": []\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "12"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14887"
+ ],
+ "x-ms-request-id": [
+ "1488b243-e513-4611-9694-b45c610a532f"
+ ],
+ "x-ms-correlation-request-id": [
+ "1488b243-e513-4611-9694-b45c610a532f"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031938Z:1488b243-e513-4611-9694-b45c610a532f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:38 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk3383?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazMzODM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "HEAD",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "102"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14886"
+ ],
+ "x-ms-request-id": [
+ "aa523fbe-6e32-4ccc-9689-32bc63dc33c8"
+ ],
+ "x-ms-correlation-request-id": [
+ "aa523fbe-6e32-4ccc-9689-32bc63dc33c8"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031938Z:aa523fbe-6e32-4ccc-9689-32bc63dc33c8"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:38 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk3383?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazMzODM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "HEAD",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14857"
+ ],
+ "x-ms-request-id": [
+ "fa65ec34-23ce-4ffa-9eb2-da6c124ebfc6"
+ ],
+ "x-ms-correlation-request-id": [
+ "fa65ec34-23ce-4ffa-9eb2-da6c124ebfc6"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032412Z:fa65ec34-23ce-4ffa-9eb2-da6c124ebfc6"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:11 GMT"
+ ]
+ },
+ "StatusCode": 204
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk3383?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazMzODM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"Southeast Asia\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "36"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383\",\r\n \"name\": \"onesdk3383\",\r\n \"location\": \"southeastasia\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "180"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1188"
+ ],
+ "x-ms-request-id": [
+ "a1e2e70e-f309-4ec6-8ff4-3a9d8cab8882"
+ ],
+ "x-ms-correlation-request-id": [
+ "a1e2e70e-f309-4ec6-8ff4-3a9d8cab8882"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031939Z:a1e2e70e-f309-4ec6-8ff4-3a9d8cab8882"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:39 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/resources?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcmVzb3VyY2VzP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtcHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": []\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "12"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14885"
+ ],
+ "x-ms-request-id": [
+ "ef5e0587-6fdb-46aa-af33-e4f9ea49d985"
+ ],
+ "x-ms-correlation-request-id": [
+ "ef5e0587-6fdb-46aa-af33-e4f9ea49d985"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031939Z:ef5e0587-6fdb-46aa-af33-e4f9ea49d985"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:39 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3P2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "938d5272-8e77-4ae9-807b-d446e66255cf"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Sql/servers/onesdk2537' under resource group 'onesdk8312' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "146"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "04bb7688-4f1e-4c9f-a693-fabe57642d96"
+ ],
+ "x-ms-correlation-request-id": [
+ "04bb7688-4f1e-4c9f-a693-fabe57642d96"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T031939Z:04bb7688-4f1e-4c9f-a693-fabe57642d96"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:19:39 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3P2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "5bd1dedf-eddd-48f2-9269-75580cf4ff58"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537\",\r\n \"name\": \"onesdk2537\",\r\n \"type\": \"Microsoft.Sql/servers\",\r\n \"location\": \"North Europe\",\r\n \"kind\": \"v12.0\",\r\n \"properties\": {\r\n \"fullyQualifiedDomainName\": \"onesdk2537.sqltest-eg1.mscds.com\",\r\n \"administratorLogin\": \"testusername\",\r\n \"administratorLoginPassword\": null,\r\n \"externalAdministratorLogin\": null,\r\n \"externalAdministratorSid\": null,\r\n \"version\": \"12.0\",\r\n \"state\": \"Ready\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "467"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "4f70ed55-e4a1-443b-b988-16d9e9129785"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14887"
+ ],
+ "x-ms-correlation-request-id": [
+ "745f5d6d-97b8-4c1a-8bba-b62c096d0e68"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032122Z:745f5d6d-97b8-4c1a-8bba-b62c096d0e68"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:22 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3P2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"properties\": {\r\n \"version\": \"12.0\",\r\n \"administratorLogin\": \"testusername\",\r\n \"administratorLoginPassword\": \"t357ingP@s5w0rd!\"\r\n },\r\n \"location\": \"North Europe\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "180"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "ec555526-896c-4b92-a3de-5724feab8719"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537\",\r\n \"name\": \"onesdk2537\",\r\n \"type\": \"Microsoft.Sql/servers\",\r\n \"location\": \"North Europe\",\r\n \"kind\": \"v12.0\",\r\n \"properties\": {\r\n \"fullyQualifiedDomainName\": \"onesdk2537.sqltest-eg1.mscds.com\",\r\n \"administratorLogin\": \"testusername\",\r\n \"administratorLoginPassword\": \"t357ingP@s5w0rd!\",\r\n \"externalAdministratorLogin\": null,\r\n \"externalAdministratorSid\": null,\r\n \"version\": \"12.0\",\r\n \"state\": \"Ready\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "481"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "28441c47-f566-475b-b653-71ab330e66e2"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "Preference-Applied": [
+ "return-content"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1177"
+ ],
+ "x-ms-correlation-request-id": [
+ "fb4fd555-04ed-440b-84e9-42802286783f"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032033Z:fb4fd555-04ed-440b-84e9-42802286783f"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:20:33 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1P2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "4396a7bf-df05-4a58-87b3-3fbe42537761"
+ ]
+ },
+ "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Sql/servers/onesdk3805' under resource group 'onesdk3383' was not found.\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "146"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-failure-cause": [
+ "gateway"
+ ],
+ "x-ms-request-id": [
+ "568b3c4f-ec3b-40a6-9880-426a2f627545"
+ ],
+ "x-ms-correlation-request-id": [
+ "568b3c4f-ec3b-40a6-9880-426a2f627545"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032034Z:568b3c4f-ec3b-40a6-9880-426a2f627545"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:20:33 GMT"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1P2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"properties\": {\r\n \"version\": \"12.0\",\r\n \"administratorLogin\": \"testusername\",\r\n \"administratorLoginPassword\": \"t357ingP@s5w0rd!\"\r\n },\r\n \"location\": \"Southeast Asia\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "182"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "8434d69b-7fb0-4fcd-9f4c-a77810b0afc7"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805\",\r\n \"name\": \"onesdk3805\",\r\n \"type\": \"Microsoft.Sql/servers\",\r\n \"location\": \"Southeast Asia\",\r\n \"kind\": \"v12.0\",\r\n \"properties\": {\r\n \"fullyQualifiedDomainName\": \"onesdk3805.sqltest-eg1.mscds.com\",\r\n \"administratorLogin\": \"testusername\",\r\n \"administratorLoginPassword\": \"t357ingP@s5w0rd!\",\r\n \"externalAdministratorLogin\": null,\r\n \"externalAdministratorSid\": null,\r\n \"version\": \"12.0\",\r\n \"state\": \"Ready\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "483"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "df34ffb3-b735-4221-9caf-1aec76896646"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "Preference-Applied": [
+ "return-content"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1177"
+ ],
+ "x-ms-correlation-request-id": [
+ "9c37c85a-46a5-4686-8324-cd83b5a72b8e"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032121Z:9c37c85a-46a5-4686-8324-cd83b5a72b8e"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:21 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDE=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "fae948d4-e1f9-4d8d-adc9-1fc8fdc7c9c7"
+ ]
+ },
+ "ResponseBody": "{\r\n \"code\": \"NotFound\",\r\n \"message\": \"Disaster Recovery Configuration with name '' does not exist. To continue, specify a valid DisasterRecoveryConfiguration name.\",\r\n \"target\": null,\r\n \"details\": [],\r\n \"innererror\": []\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "210"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "x-ms-request-id": [
+ "46bb160b-ed7e-45ec-8e60-8c89522b804c"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14888"
+ ],
+ "x-ms-correlation-request-id": [
+ "f8e0e1f9-ba51-4817-9518-c97a90c4bfa1"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032122Z:f8e0e1f9-ba51-4817-9518-c97a90c4bfa1"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:22 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 404
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"properties\": {\r\n \"partnerServerId\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805\"\r\n },\r\n \"location\": \"North Europe\",\r\n \"tags\": {}\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "221"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "33f17ee9-e12a-4341-9d20-3cdc6192d00d"
+ ]
+ },
+ "ResponseBody": "AsyncOperationInProgressJson",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "28"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "Retry-After": [
+ "30"
+ ],
+ "x-ms-request-id": [
+ "0f17d906-8920-4832-b87c-750aa3b4ee1c"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "Preference-Applied": [
+ "return-content"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1176"
+ ],
+ "x-ms-correlation-request-id": [
+ "a98a0e44-0322-498b-b50e-b966bf872036"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032123Z:a98a0e44-0322-498b-b50e-b966bf872036"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:23 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias/disasterRecoveryConfigurationOperationResults/0f17d906-8920-4832-b87c-750aa3b4ee1c?api-version=2014-04-01-Preview"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias/disasterRecoveryConfigurationOperationResults/0f17d906-8920-4832-b87c-750aa3b4ee1c?api-version=2014-04-01-Preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcy9kaXNhc3RlclJlY292ZXJ5Q29uZmlndXJhdGlvbk9wZXJhdGlvblJlc3VsdHMvMGYxN2Q5MDYtODkyMC00ODMyLWI4N2MtNzUwYWEzYjRlZTFjP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtUHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "33f17ee9-e12a-4341-9d20-3cdc6192d00d"
+ ]
+ },
+ "ResponseBody": "{\r\n \"operation\": \"AddFailoverPartner\",\r\n \"startTime\": \"2016-02-11T03:21:23.033Z\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "72"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Retry-After": [
+ "30"
+ ],
+ "x-ms-request-id": [
+ "d985fc71-0c50-442e-8c9d-3185ac553779"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14886"
+ ],
+ "x-ms-correlation-request-id": [
+ "420f71d3-328f-41f2-8b7a-efe1dd959791"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032124Z:420f71d3-328f-41f2-8b7a-efe1dd959791"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:24 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias/disasterRecoveryConfigurationOperationResults/0f17d906-8920-4832-b87c-750aa3b4ee1c?api-version=2014-04-01-Preview"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias/disasterRecoveryConfigurationOperationResults/0f17d906-8920-4832-b87c-750aa3b4ee1c?api-version=2014-04-01-Preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcy9kaXNhc3RlclJlY292ZXJ5Q29uZmlndXJhdGlvbk9wZXJhdGlvblJlc3VsdHMvMGYxN2Q5MDYtODkyMC00ODMyLWI4N2MtNzUwYWEzYjRlZTFjP2FwaS12ZXJzaW9uPTIwMTQtMDQtMDEtUHJldmlldw==",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "33f17ee9-e12a-4341-9d20-3cdc6192d00d"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": null,\r\n \"kind\": null,\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Primary\"\r\n },\r\n \"operationId\": \"0f17d906-8920-4832-b87c-750aa3b4ee1c\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "497"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "74070af0-3c4f-4862-9932-930c177b54cf"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14885"
+ ],
+ "x-ms-correlation-request-id": [
+ "78cf2a42-985c-4511-920f-7e4023a2c628"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032155Z:78cf2a42-985c-4511-920f-7e4023a2c628"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:21:55 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "018ca1c5-a0aa-41fc-9bd5-62517cd58ba2"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"North Europe\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Primary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "442"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "3c034ae6-0130-46c5-a36b-fa33f409b3f6"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14884"
+ ],
+ "x-ms-correlation-request-id": [
+ "4744eddd-0285-4729-813c-e37d9f00124d"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032201Z:4744eddd-0285-4729-813c-e37d9f00124d"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:00 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "460b1916-a0d5-45db-85cd-93be3f4d3f51"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"North Europe\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Secondary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "444"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "7b9b5c54-79fb-46a2-bfab-f4b11490b76b"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14878"
+ ],
+ "x-ms-correlation-request-id": [
+ "bd1bf467-2f15-43e3-b793-aaf220942a33"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032212Z:bd1bf467-2f15-43e3-b793-aaf220942a33"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:11 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "04b1fc7f-c9e1-4ab5-b172-165b5f5c6062"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"North Europe\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Secondary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "444"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "fb9cda9c-107d-4973-be9a-7d4ec81e86b3"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14877"
+ ],
+ "x-ms-correlation-request-id": [
+ "4e60ef7c-c469-4c7b-a499-eb74a428e834"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032213Z:4e60ef7c-c469-4c7b-a499-eb74a428e834"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:12 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "e42ab00e-6269-4de8-bafc-192689e1c9b5"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"North Europe\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Primary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "442"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "bd0dd08d-f713-48b5-a3b9-be374929815b"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14876"
+ ],
+ "x-ms-correlation-request-id": [
+ "28fcc240-3965-4fe0-a271-72cc2f449e2f"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032219Z:28fcc240-3965-4fe0-a271-72cc2f449e2f"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:18 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "f77e5682-65d5-425b-9f54-478f2298f6ab"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"North Europe\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk3805\",\r\n \"role\": \"Primary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "442"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "c2a82042-18ed-4224-be68-1eca414f393f"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14874"
+ ],
+ "x-ms-correlation-request-id": [
+ "986c8c8a-e4f1-460a-b9ec-42812d311dca"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032221Z:986c8c8a-e4f1-460a-b9ec-42812d311dca"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:21 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "e704aa03-cffb-40c7-b677-97043c02de45"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"SouthEast Asia\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk2537\",\r\n \"role\": \"Secondary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "446"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "4a3b31f2-b95d-49e5-b873-ab2273825c60"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14883"
+ ],
+ "x-ms-correlation-request-id": [
+ "5f25033b-7650-4de8-9c72-fd4355e83ebd"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032202Z:5f25033b-7650-4de8-9c72-fd4355e83ebd"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:01 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "66966931-75d1-4e61-95f4-450b64a8642d"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"SouthEast Asia\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk2537\",\r\n \"role\": \"Secondary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "446"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "84075e14-afaf-4e82-b275-36d80ffd93de"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14882"
+ ],
+ "x-ms-correlation-request-id": [
+ "786547f4-ac5f-4d05-a699-7c198a15e9bb"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032203Z:786547f4-ac5f-4d05-a699-7c198a15e9bb"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:02 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "e0d21442-1336-420e-8c1d-fb39f5467bb8"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"SouthEast Asia\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk2537\",\r\n \"role\": \"Primary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "444"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "127a774d-92be-40b5-839b-7e8c13484a06"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14879"
+ ],
+ "x-ms-correlation-request-id": [
+ "4beb9b23-27de-4380-934a-2e8c300dfb8c"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032211Z:4beb9b23-27de-4380-934a-2e8c300dfb8c"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:11 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "c8a5fabe-aef3-4637-89ff-c0c1c52f1599"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias\",\r\n \"name\": \"test-sdrc-alias\",\r\n \"type\": \"Microsoft.Sql/servers/disasterRecoveryConfiguration\",\r\n \"location\": \"SouthEast Asia\",\r\n \"properties\": {\r\n \"type\": \"AutoDR\",\r\n \"autoFailover\": \"Off\",\r\n \"failoverPolicy\": \"Off\",\r\n \"partnerServerId\": null,\r\n \"partnerLogicalServerName\": \"onesdk2537\",\r\n \"role\": \"Secondary\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "446"
+ ],
+ "Content-Type": [
+ "application/json; odata=minimalmetadata; streaming=true; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "5def092d-63d1-45d6-bdf1-c1345f854752"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14875"
+ ],
+ "x-ms-correlation-request-id": [
+ "da50d10c-1d11-488f-97ea-cc784cc23d04"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032221Z:da50d10c-1d11-488f-97ea-cc784cc23d04"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:21 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk3383/providers/Microsoft.Sql/servers/onesdk3805/disasterRecoveryConfiguration/test-sdrc-alias/failover?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazMzODMvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGszODA1L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcy9mYWlsb3Zlcj9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "d7133933-a6ab-4fa8-bce7-72e073b7d3c4"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Content-Type": [
+ "application/xml; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "3a2412ad-d039-4043-9deb-ddcbe7a9bbcf"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "Preference-Applied": [
+ "return-content"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1175"
+ ],
+ "x-ms-correlation-request-id": [
+ "c808f620-3ffc-4e19-afea-7f24ce122846"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032205Z:c808f620-3ffc-4e19-afea-7f24ce122846"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:04 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 204
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias/failover?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcy9mYWlsb3Zlcj9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "6bff18b9-7b3d-4cac-b608-19b6cb1353cb"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Content-Type": [
+ "application/xml; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "58c4ac35-e2fa-44b8-8009-a7abd8bfbf82"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "Preference-Applied": [
+ "return-content"
+ ],
+ "DataServiceVersion": [
+ "3.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1174"
+ ],
+ "x-ms-correlation-request-id": [
+ "70fca2e5-dfc8-4444-9d0f-db24b28dcc3e"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032214Z:70fca2e5-dfc8-4444-9d0f-db24b28dcc3e"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:13 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 204
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourceGroups/onesdk8312/providers/Microsoft.Sql/servers/onesdk2537/disasterRecoveryConfiguration/test-sdrc-alias?api-version=2014-04-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlR3JvdXBzL29uZXNkazgzMTIvcHJvdmlkZXJzL01pY3Jvc29mdC5TcWwvc2VydmVycy9vbmVzZGsyNTM3L2Rpc2FzdGVyUmVjb3ZlcnlDb25maWd1cmF0aW9uL3Rlc3Qtc2RyYy1hbGlhcz9hcGktdmVyc2lvbj0yMDE0LTA0LTAx",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Sql.SqlManagementClient/0.9.0.0"
+ ],
+ "x-ms-client-request-id": [
+ "eb06ee3d-fc4f-42ff-b2d5-62dda6458e93"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Content-Type": [
+ "application/xml; charset=utf-8"
+ ],
+ "x-ms-request-id": [
+ "91d52d8e-8b27-4369-b9f6-adec63bbf14a"
+ ],
+ "X-Content-Type-Options": [
+ "nosniff"
+ ],
+ "DataServiceVersion": [
+ "1.0;"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1173"
+ ],
+ "x-ms-correlation-request-id": [
+ "797c7285-e4a4-4118-a093-cdbbebb49ad4"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032223Z:797c7285-e4a4-4118-a093-cdbbebb49ad4"
+ ],
+ "Cache-Control": [
+ "no-store, no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:23 GMT"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk8312?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazgzMTI/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1172"
+ ],
+ "x-ms-request-id": [
+ "a8c8c8d4-c824-4a0a-a5ea-8ce5bef38794"
+ ],
+ "x-ms-correlation-request-id": [
+ "a8c8c8d4-c824-4a0a-a5ea-8ce5bef38794"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032224Z:a8c8c8d4-c824-4a0a-a5ea-8ce5bef38794"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:24 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14872"
+ ],
+ "x-ms-request-id": [
+ "985652f2-d933-4830-a066-5c319c5270c6"
+ ],
+ "x-ms-correlation-request-id": [
+ "985652f2-d933-4830-a066-5c319c5270c6"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032225Z:985652f2-d933-4830-a066-5c319c5270c6"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:25 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14871"
+ ],
+ "x-ms-request-id": [
+ "dbbdecc0-fee5-41ab-8ae6-e988632df83d"
+ ],
+ "x-ms-correlation-request-id": [
+ "dbbdecc0-fee5-41ab-8ae6-e988632df83d"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032240Z:dbbdecc0-fee5-41ab-8ae6-e988632df83d"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:40 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14870"
+ ],
+ "x-ms-request-id": [
+ "6e8b6ff3-2ff0-4498-8f20-68b223b161d5"
+ ],
+ "x-ms-correlation-request-id": [
+ "6e8b6ff3-2ff0-4498-8f20-68b223b161d5"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032255Z:6e8b6ff3-2ff0-4498-8f20-68b223b161d5"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:22:54 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14865"
+ ],
+ "x-ms-request-id": [
+ "0298c735-ea80-45c1-b9b0-fe7eac23ae34"
+ ],
+ "x-ms-correlation-request-id": [
+ "0298c735-ea80-45c1-b9b0-fe7eac23ae34"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032311Z:0298c735-ea80-45c1-b9b0-fe7eac23ae34"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:23:10 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14864"
+ ],
+ "x-ms-request-id": [
+ "c02add60-0cc9-4a7d-b0f2-ab3860cda6e8"
+ ],
+ "x-ms-correlation-request-id": [
+ "c02add60-0cc9-4a7d-b0f2-ab3860cda6e8"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032326Z:c02add60-0cc9-4a7d-b0f2-ab3860cda6e8"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:23:26 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14863"
+ ],
+ "x-ms-request-id": [
+ "396edadc-3854-4147-b0b5-0026e39c59f3"
+ ],
+ "x-ms-correlation-request-id": [
+ "396edadc-3854-4147-b0b5-0026e39c59f3"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032341Z:396edadc-3854-4147-b0b5-0026e39c59f3"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:23:40 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14862"
+ ],
+ "x-ms-request-id": [
+ "ffdf5cb8-744c-4ab8-9680-49defd9bc16d"
+ ],
+ "x-ms-correlation-request-id": [
+ "ffdf5cb8-744c-4ab8-9680-49defd9bc16d"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032356Z:ffdf5cb8-744c-4ab8-9680-49defd9bc16d"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:23:56 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREs4MzEyLU5PUlRIRVVST1BFIiwiam9iTG9jYXRpb24iOiJub3J0aGV1cm9wZSJ9?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFczRNekV5TFU1UFVsUklSVlZTVDFCRklpd2lhbTlpVEc5allYUnBiMjRpT2lKdWIzSjBhR1YxY205d1pTSjk/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14858"
+ ],
+ "x-ms-request-id": [
+ "5e988214-d29f-402d-b73d-655e21521839"
+ ],
+ "x-ms-correlation-request-id": [
+ "5e988214-d29f-402d-b73d-655e21521839"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032412Z:5e988214-d29f-402d-b73d-655e21521839"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:11 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/resourcegroups/onesdk3383?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL3Jlc291cmNlZ3JvdXBzL29uZXNkazMzODM/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1171"
+ ],
+ "x-ms-request-id": [
+ "53e15ba4-85cd-4978-b51f-8a2d9c37802b"
+ ],
+ "x-ms-correlation-request-id": [
+ "53e15ba4-85cd-4978-b51f-8a2d9c37802b"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032412Z:53e15ba4-85cd-4978-b51f-8a2d9c37802b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:11 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14856"
+ ],
+ "x-ms-request-id": [
+ "4d980a55-db7a-44d2-ad3d-7c70f0376989"
+ ],
+ "x-ms-correlation-request-id": [
+ "4d980a55-db7a-44d2-ad3d-7c70f0376989"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032412Z:4d980a55-db7a-44d2-ad3d-7c70f0376989"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:12 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14855"
+ ],
+ "x-ms-request-id": [
+ "d96a2f74-5495-4893-8999-f69ed025d205"
+ ],
+ "x-ms-correlation-request-id": [
+ "d96a2f74-5495-4893-8999-f69ed025d205"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032427Z:d96a2f74-5495-4893-8999-f69ed025d205"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:27 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14854"
+ ],
+ "x-ms-request-id": [
+ "fa7f8aca-dd84-4490-a8eb-f05b408213b2"
+ ],
+ "x-ms-correlation-request-id": [
+ "fa7f8aca-dd84-4490-a8eb-f05b408213b2"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032442Z:fa7f8aca-dd84-4490-a8eb-f05b408213b2"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:42 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14853"
+ ],
+ "x-ms-request-id": [
+ "7ab18561-e776-4c06-84f0-d42ca4aab5a1"
+ ],
+ "x-ms-correlation-request-id": [
+ "7ab18561-e776-4c06-84f0-d42ca4aab5a1"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032458Z:7ab18561-e776-4c06-84f0-d42ca4aab5a1"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:24:57 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14878"
+ ],
+ "x-ms-request-id": [
+ "f2069bbd-9f5e-4945-8975-eb43795fbca8"
+ ],
+ "x-ms-correlation-request-id": [
+ "f2069bbd-9f5e-4945-8975-eb43795fbca8"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032513Z:f2069bbd-9f5e-4945-8975-eb43795fbca8"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:25:13 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14877"
+ ],
+ "x-ms-request-id": [
+ "99e9b06d-a66f-4952-90e9-3e4fdf7bd16a"
+ ],
+ "x-ms-correlation-request-id": [
+ "99e9b06d-a66f-4952-90e9-3e4fdf7bd16a"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032528Z:99e9b06d-a66f-4952-90e9-3e4fdf7bd16a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:25:28 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14876"
+ ],
+ "x-ms-request-id": [
+ "bba2bc36-d8aa-4d62-8202-2bed4af3ef21"
+ ],
+ "x-ms-correlation-request-id": [
+ "bba2bc36-d8aa-4d62-8202-2bed4af3ef21"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032543Z:bba2bc36-d8aa-4d62-8202-2bed4af3ef21"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:25:42 GMT"
+ ],
+ "Location": [
+ "https://api-dogfood.resources.windows-int.net/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/65d96361-b9df-4b18-9055-ea05d43e4c4f/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1PTkVTREszMzgzLVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2014-04-01-preview",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNjVkOTYzNjEtYjlkZi00YjE4LTkwNTUtZWEwNWQ0M2U0YzRmL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFQVGtWVFJFc3pNemd6TFZOUFZWUklSVUZUVkVGVFNVRWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkluTnZkWFJvWldGemRHRnphV0VpZlE/YXBpLXZlcnNpb249MjAxNC0wNC0wMS1wcmV2aWV3",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-version": [
+ "2014-04-01-preview"
+ ],
+ "User-Agent": [
+ "Microsoft.Azure.Management.Resources.ResourceManagementClient/2.0.0.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14875"
+ ],
+ "x-ms-request-id": [
+ "c25fad1c-55c5-4750-bd12-0c319317789b"
+ ],
+ "x-ms-correlation-request-id": [
+ "c25fad1c-55c5-4750-bd12-0c319317789b"
+ ],
+ "x-ms-routing-request-id": [
+ "CENTRALUS:20160211T032558Z:c25fad1c-55c5-4750-bd12-0c319317789b"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Thu, 11 Feb 2016 03:25:57 GMT"
+ ]
+ },
+ "StatusCode": 200
+ }
+ ],
+ "Names": {
+ "Test-ServerDisasterRecoveryConfiguration": [
+ "onesdk8312",
+ "onesdk3383",
+ "onesdk2537",
+ "onesdk3805"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "65d96361-b9df-4b18-9055-ea05d43e4c4f",
+ "TenantId": "c01412c9-642c-45e7-98dd-42595b18c2f1",
+ "Domain": "aad247.ccsctp.net",
+ "User": "admin@aad247.ccsctp.net"
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/UnitTests/AzureSqlServerDisasterRecoveryConfigurationTests.cs b/src/ResourceManager/Sql/Commands.Sql.Test/UnitTests/AzureSqlServerDisasterRecoveryConfigurationTests.cs
new file mode 100644
index 000000000000..e73df836e3ee
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/UnitTests/AzureSqlServerDisasterRecoveryConfigurationTests.cs
@@ -0,0 +1,82 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet;
+using Microsoft.Azure.Commands.Sql.Test.Utilities;
+using Microsoft.WindowsAzure.Commands.ScenarioTest;
+using Xunit;
+
+namespace Microsoft.Azure.Commands.Sql.Test.UnitTests
+{
+ public class AzureSqlServerDisasterRecoveryConfigurationTests
+ {
+ [Fact]
+ [Trait(Category.AcceptanceType, Category.CheckIn)]
+ public void NewAzureSqlServerDisasterRecoveryConfigurationAttributes()
+ {
+ Type type = typeof(NewAzureSqlServerDisasterRecoveryConfiguration);
+ UnitTestHelper.CheckCmdletModifiesData(type, supportsShouldProcess: false);
+ UnitTestHelper.CheckConfirmImpact(type, System.Management.Automation.ConfirmImpact.Low);
+
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ResourceGroupName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ServerName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "VirtualEndpointName", isMandatory: true, valueFromPipelineByName: false);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "PartnerResourceGroupName", isMandatory: true, valueFromPipelineByName: false);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "PartnerServerName", isMandatory: true, valueFromPipelineByName: false);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "FailoverPolicy", isMandatory: false, valueFromPipelineByName: false);
+ }
+
+ [Fact]
+ [Trait(Category.AcceptanceType, Category.CheckIn)]
+ public void GetAzureSqlServerDisasterRecoveryConfigurationAttributes()
+ {
+ Type type = typeof(GetAzureSqlServerDisasterRecoveryConfiguration);
+ UnitTestHelper.CheckCmdletModifiesData(type, supportsShouldProcess: false);
+ UnitTestHelper.CheckConfirmImpact(type, System.Management.Automation.ConfirmImpact.None);
+
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ResourceGroupName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ServerName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "VirtualEndpointName", isMandatory: false, valueFromPipelineByName: false);
+ }
+
+ [Fact]
+ [Trait(Category.AcceptanceType, Category.CheckIn)]
+ public void SetAzureSqlServerDisasterRecoveryConfigurationAttributes()
+ {
+ Type type = typeof(SetAzureSqlServerDisasterRecoveryConfiguration);
+ UnitTestHelper.CheckCmdletModifiesData(type, supportsShouldProcess: false);
+ UnitTestHelper.CheckConfirmImpact(type, System.Management.Automation.ConfirmImpact.High);
+
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ResourceGroupName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ServerName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "VirtualEndpointName", isMandatory: true, valueFromPipelineByName: false);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "Failover", isMandatory: true, valueFromPipelineByName: false);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "AllowDataLoss", isMandatory: false, valueFromPipelineByName: false);
+ }
+
+ [Fact]
+ [Trait(Category.AcceptanceType, Category.CheckIn)]
+ public void RemoveAzureSqlServerDisasterRecoveryConfigurationAttributes()
+ {
+ Type type = typeof(RemoveAzureSqlServerDisasterRecoveryConfiguration);
+ UnitTestHelper.CheckCmdletModifiesData(type, supportsShouldProcess: true);
+ UnitTestHelper.CheckConfirmImpact(type, System.Management.Automation.ConfirmImpact.High);
+
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ResourceGroupName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "ServerName", isMandatory: true, valueFromPipelineByName: true);
+ UnitTestHelper.CheckCmdletParameterAttributes(type, "VirtualEndpointName", isMandatory: true, valueFromPipelineByName: true);
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql.Test/packages.config b/src/ResourceManager/Sql/Commands.Sql.Test/packages.config
index e3bc498c1e8f..5bc6d7e0e616 100644
--- a/src/ResourceManager/Sql/Commands.Sql.Test/packages.config
+++ b/src/ResourceManager/Sql/Commands.Sql.Test/packages.config
@@ -8,7 +8,7 @@
-
+
diff --git a/src/ResourceManager/Sql/Commands.Sql/Commands.Sql.csproj b/src/ResourceManager/Sql/Commands.Sql/Commands.Sql.csproj
index 2a90d1a636ee..df01c766c748 100644
--- a/src/ResourceManager/Sql/Commands.Sql/Commands.Sql.csproj
+++ b/src/ResourceManager/Sql/Commands.Sql/Commands.Sql.csproj
@@ -144,6 +144,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -279,7 +290,7 @@
False
- ..\..\..\packages\Microsoft.Azure.Management.Sql.0.43.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll
+ ..\..\..\packages\Microsoft.Azure.Management.Sql.0.44.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll
True
diff --git a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs
index 987709396c02..73e128b82d0c 100644
--- a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs
+++ b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.Designer.cs
@@ -357,6 +357,24 @@ internal static string RemoveAzureSqlServerDescription {
}
}
+ ///
+ /// Looks up a localized string similar to Permanently removing Azure Sql Disaster Recovery Configuration '{0}' on server '{1}'..
+ ///
+ internal static string RemoveAzureSqlServerDisasterRecoveryConfigurationDescription {
+ get {
+ return ResourceManager.GetString("RemoveAzureSqlServerDisasterRecoveryConfigurationDescription", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Are you sure you want to remove the Azure Sql Disaster Recovery Configuration '{0}' on server '{1}'?.
+ ///
+ internal static string RemoveAzureSqlServerDisasterRecoveryConfigurationWarning {
+ get {
+ return ResourceManager.GetString("RemoveAzureSqlServerDisasterRecoveryConfigurationWarning", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Permanently removing Firewall Rule '{0}' for Azure Sql Database Server '{1}'..
///
@@ -409,6 +427,15 @@ internal static string ServerCommunicationLinkNameExists {
get {
return ResourceManager.GetString("ServerCommunicationLinkNameExists", resourceCulture);
}
+ }
+
+ ///
+ /// Looks up a localized string similar to Server Disaster Recovery Configuration already exists in server '{1}'..
+ ///
+ internal static string ServerDisasterRecoveryConfigurationNameExists {
+ get {
+ return ResourceManager.GetString("ServerDisasterRecoveryConfigurationNameExists", resourceCulture);
+ }
}
///
@@ -465,6 +492,16 @@ internal static string SetDataMaskingRuleIdDoesNotExistError {
}
}
+ ///
+ /// Looks up a localized string similar to No Set Options were provided.
+ ///
+ internal static string SetDisasterRecoveryConfigurationNoOptionProvided
+ {
+ get {
+ return ResourceManager.GetString("SetDisasterRecoveryConfigurationNoOptionProvided", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to No Set Options were provided.
///
diff --git a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx
index e5ce2897ef8d..eb1ce6a8af41 100644
--- a/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx
+++ b/src/ResourceManager/Sql/Commands.Sql/Properties/Resources.resx
@@ -141,6 +141,9 @@
The {0} cmdlet is deprecated and will be removed in a future release.
+
+ Server Disaster Recovery Configuration already exists in server '{1}'.
+
Elastic Pool with name: '{0}' already exists in server '{1}'.
@@ -180,6 +183,9 @@
Permanently removing Azure Sql Database '{0}' on server '{1}'.
+
+ Permanently removing Azure Sql Disaster Recovery Configuration '{0}' on server '{1}'.
+
Permanently removing Azure Sql Database Elastic Pool '{0}' on server '{1}'.
@@ -189,6 +195,9 @@
Are you sure you want to remove the Azure Sql Database '{0}' on server '{1}'?
+
+ Are you sure you want to remove the Azure Sql Disaster Recovery Configuration '{0}' on server '{1}'?
+
Removing Azure Sql Server Active Directory Administrator on server '{0}'.
@@ -249,6 +258,9 @@
No Set Options were provided
+
+ No Set Options were provided
+
Dynamic Data Masking is only available in the latest SQL Database Update (V12). Please upgrade to set it up on your database.
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationActivityCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationActivityCmdletBase.cs
new file mode 100644
index 000000000000..ba401d615328
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationActivityCmdletBase.cs
@@ -0,0 +1,66 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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;
+using System.Collections.Generic;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Common.Authentication.Models;
+using Microsoft.Azure.Commands.Sql.Common;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Services;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ public abstract class AzureSqlServerDisasterRecoveryConfigurationActivityCmdletBase
+ : AzureSqlCmdletBase, AzureSqlServerDisasterRecoveryConfigurationAdapter>
+ {
+ ///
+ /// Gets or sets the name of the server to use.
+ ///
+ [Parameter(Mandatory = true,
+ ValueFromPipelineByPropertyName = true,
+ Position = 1,
+ HelpMessage = "The name of the Azure SQL Server the Disaster Recovery Configuration is in.")]
+ [ValidateNotNullOrEmpty]
+ public string ServerName { get; set; }
+
+ ///
+ /// Gets or sets the name of the Server Disaster Recovery Configuration to use.
+ ///
+ [Parameter(Mandatory = true,
+ ValueFromPipelineByPropertyName = true,
+ HelpMessage = "The name of the Azure SQL Server Disaster Recovery Configuration.")]
+ [ValidateNotNullOrEmpty]
+ public string ServerDisasterRecoveryConfigurationName { get; set; }
+
+ ///
+ /// Gets or sets the OperationId.
+ ///
+ [Parameter(Mandatory = false,
+ ValueFromPipelineByPropertyName = true,
+ HelpMessage = "The ID of the operation to retrieve.")]
+ [ValidateNotNullOrEmpty]
+ public Guid? OperationId { get; set; }
+
+ ///
+ /// Initializes the adapter
+ ///
+ ///
+ ///
+ protected override AzureSqlServerDisasterRecoveryConfigurationAdapter InitModelAdapter(AzureSubscription subscription)
+ {
+ return new AzureSqlServerDisasterRecoveryConfigurationAdapter(DefaultProfile.Context);
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationCmdletBase.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationCmdletBase.cs
new file mode 100644
index 000000000000..4d6bfccc5b71
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/AzureSqlServerDisasterRecoveryConfigurationCmdletBase.cs
@@ -0,0 +1,46 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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.Collections.Generic;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Common.Authentication.Models;
+using Microsoft.Azure.Commands.Sql.Common;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Services;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ public abstract class AzureSqlServerDisasterRecoveryConfigurationCmdletBase : AzureSqlCmdletBase, AzureSqlServerDisasterRecoveryConfigurationAdapter>
+ {
+ ///
+ /// Gets or sets the name of the server to use.
+ ///
+ [Parameter(Mandatory = true,
+ ValueFromPipelineByPropertyName = true,
+ Position = 1,
+ HelpMessage = "The name of the Azure SQL Server the Disaster Recovery Configuration is in.")]
+ [ValidateNotNullOrEmpty]
+ public string ServerName { get; set; }
+
+ ///
+ /// Initializes the adapter
+ ///
+ ///
+ ///
+ protected override AzureSqlServerDisasterRecoveryConfigurationAdapter InitModelAdapter(AzureSubscription subscription)
+ {
+ return new AzureSqlServerDisasterRecoveryConfigurationAdapter(DefaultProfile.Context);
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfiguration.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfiguration.cs
new file mode 100644
index 000000000000..729f961c3b74
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfiguration.cs
@@ -0,0 +1,75 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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.Collections.Generic;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ [Cmdlet(VerbsCommon.Get, "AzureRmSqlServerDisasterRecoveryConfiguration",
+ ConfirmImpact = ConfirmImpact.None)]
+ public class GetAzureSqlServerDisasterRecoveryConfiguration : AzureSqlServerDisasterRecoveryConfigurationCmdletBase
+ {
+ ///
+ /// Gets or sets the name of the Server Disaster Recovery Configuration to use.
+ ///
+ [Parameter(Mandatory = false,
+ HelpMessage = "The name of the Azure SQL Server Disaster Recovery Configuration to retrieve.")]
+ public string VirtualEndpointName { get; set; }
+
+ ///
+ /// Get the entities from the service
+ ///
+ /// The list of entities
+ protected override IEnumerable GetEntity()
+ {
+ ICollection results;
+
+ if (MyInvocation.BoundParameters.ContainsKey("VirtualEndpointName"))
+ {
+ results = new List
+ {
+ ModelAdapter.GetServerDisasterRecoveryConfiguration(this.ResourceGroupName, this.ServerName, this.VirtualEndpointName)
+ };
+ }
+ else
+ {
+ results = ModelAdapter.ListServerDisasterRecoveryConfigurations(this.ResourceGroupName, this.ServerName);
+ }
+
+ return results;
+ }
+
+ ///
+ /// No user input to apply to model
+ ///
+ /// Model retrieved from service
+ /// The model that was passed in
+ protected override IEnumerable ApplyUserInputToModel(IEnumerable model)
+ {
+ return model;
+ }
+
+ ///
+ /// No changes to persist to server
+ ///
+ /// The output of apply user input to model
+ /// The input entity
+ protected override IEnumerable PersistChanges(IEnumerable entity)
+ {
+ return entity;
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfigurationActivity.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfigurationActivity.cs
new file mode 100644
index 000000000000..759965d4e03a
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/GetAzureSqlServerDisasterRecoveryConfigurationActivity.cs
@@ -0,0 +1,54 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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.Collections.Generic;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ [Cmdlet(VerbsCommon.Get, "AzureRmSqlServerDisasterRecoveryConfigurationActivity",
+ ConfirmImpact = ConfirmImpact.None)]
+ public class GetAzureSqlServerDisasterRecoveryConfigurationActivity : AzureSqlServerDisasterRecoveryConfigurationActivityCmdletBase
+ {
+ ///
+ /// Gets Server Disaster Recovery Configuration activity
+ ///
+ /// List of Server Disaster Recovery Configuration activities
+ protected override IEnumerable GetEntity()
+ {
+ return ModelAdapter.ListServerDisasterRecoveryConfigurationActivity(this.ResourceGroupName, this.ServerName, this.ServerDisasterRecoveryConfigurationName, this.OperationId);
+ }
+
+ ///
+ /// No user input to apply to model
+ ///
+ /// Model retrieved from service
+ /// The model that was passed in
+ protected override IEnumerable ApplyUserInputToModel(IEnumerable model)
+ {
+ return model;
+ }
+
+ ///
+ /// No changes to persist to server
+ ///
+ /// The output of apply user input to model
+ /// The input entity
+ protected override IEnumerable PersistChanges(IEnumerable entity)
+ {
+ return entity;
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/NewAzureSqlServerDisasterRecoveryConfiguration.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/NewAzureSqlServerDisasterRecoveryConfiguration.cs
new file mode 100644
index 000000000000..75082997e2e8
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/NewAzureSqlServerDisasterRecoveryConfiguration.cs
@@ -0,0 +1,129 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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.Collections.Generic;
+using System.Linq;
+using System.Management.Automation;
+using Hyak.Common;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+using Microsoft.Azure.Commands.Sql.Properties;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ ///
+ /// Cmdlet to create a new Azure Sql Server Disaster Recovery Configuration
+ ///
+ [Cmdlet(VerbsCommon.New, "AzureRmSqlServerDisasterRecoveryConfiguration",
+ ConfirmImpact = ConfirmImpact.Low)]
+ public class NewAzureSqlServerDisasterRecoveryConfiguration : AzureSqlServerDisasterRecoveryConfigurationCmdletBase
+ {
+ ///
+ /// Gets or sets the Virtual Endpoint name of the Server Disaster Recovery Configuration to create.
+ ///
+ [Parameter(Mandatory = true,
+ HelpMessage = "The Virtual Endpoint name of the Azure SQL Server Disaster Recovery Configuration to create.")]
+ [ValidateNotNullOrEmpty]
+ public string VirtualEndpointName { get; set; }
+
+ ///
+ /// Gets or sets the name of the partner resource group name for the Server Disaster Recovery Configuration to create.
+ ///
+ [Parameter(Mandatory = true,
+ HelpMessage = "The name of the partner resource group name for the Azure SQL Server Disaster Recovery Configuration to create.")]
+ [ValidateNotNullOrEmpty]
+ public string PartnerResourceGroupName { get; set; }
+
+ ///
+ /// Gets or sets the name of the partner server for the Server Disaster Recovery Configuration to create.
+ ///
+ [Parameter(Mandatory = true,
+ HelpMessage = "The name of the partner server for the Azure SQL Server Disaster Recovery Configuration to create.")]
+ [ValidateNotNullOrEmpty]
+ public string PartnerServerName { get; set; }
+
+ ///
+ /// Gets or sets the failover policy of the Server Disaster Recovery Configuration to create.
+ ///
+ [Parameter(Mandatory = false,
+ HelpMessage = "The failover policy of the Azure SQL Server Disaster Recovery Configuration to create.")]
+ [ValidateNotNullOrEmpty]
+ public string FailoverPolicy { get; set; }
+
+ ///
+ /// Get the entities from the service
+ ///
+ /// The list of entities
+ protected override IEnumerable GetEntity()
+ {
+ // We try to get the Server Disaster Recovery Configuration. Since this is a create, we don't want the Server Disaster Recovery Configuration to exist
+ try
+ {
+ ModelAdapter.ListServerDisasterRecoveryConfigurations(this.ResourceGroupName, this.ServerName);
+ }
+ catch (CloudException ex)
+ {
+ if (ex.Response.StatusCode == System.Net.HttpStatusCode.NotFound)
+ {
+ // This is what we want. We looked and there is no Server Disaster Recovery Configuration with this name.
+ return null;
+ }
+
+ // Unexpected exception encountered
+ throw;
+ }
+
+ // The Server Disaster Recovery Configuration already exists
+ throw new PSArgumentException(
+ string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.ServerDisasterRecoveryConfigurationNameExists, this.VirtualEndpointName, this.ServerName), "ServerDisasterRecoveryConfigurationName");
+ }
+
+ ///
+ /// Create the model from user input
+ ///
+ /// Model retrieved from service
+ /// The model that was passed in
+ protected override IEnumerable ApplyUserInputToModel(IEnumerable model)
+ {
+ List newEntity = new List();
+
+ newEntity.Add(new AzureSqlServerDisasterRecoveryConfigurationModel()
+ {
+ ResourceGroupName = ResourceGroupName,
+ ServerName = ServerName,
+ ServerDisasterRecoveryConfigurationName = VirtualEndpointName,
+ Location = "",
+ AutoFailover = "",
+ FailoverPolicy = FailoverPolicy,
+ PartnerServerName = PartnerServerName,
+ Role = "Primary"
+ });
+ return newEntity;
+ }
+
+ ///
+ /// Create the new Server Disaster Recovery Configuration
+ ///
+ /// The output of apply user input to model
+ /// The input entity
+ protected override IEnumerable PersistChanges(IEnumerable entity)
+ {
+ string partnerServerId = string.Format("/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Sql/servers/{2}",
+ DefaultContext.Subscription.Id, PartnerResourceGroupName, PartnerServerName);
+
+ return new List() {
+ ModelAdapter.CreateServerDisasterRecoveryConfiguration(this.ResourceGroupName, this.ServerName, partnerServerId, entity.First())
+ };
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/RemoveAzureSqlServerDisasterRecoveryConfiguration.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/RemoveAzureSqlServerDisasterRecoveryConfiguration.cs
new file mode 100644
index 000000000000..c0548552f1d8
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/RemoveAzureSqlServerDisasterRecoveryConfiguration.cs
@@ -0,0 +1,92 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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.Collections.Generic;
+using System.Globalization;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+using Microsoft.Azure.Commands.Sql.Properties;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ [Cmdlet(VerbsCommon.Remove, "AzureRmSqlServerDisasterRecoveryConfiguration",
+ SupportsShouldProcess = true,
+ ConfirmImpact = ConfirmImpact.High)]
+ public class RemoveAzureSqlServerDisasterRecoveryConfiguration : AzureSqlServerDisasterRecoveryConfigurationCmdletBase
+ {
+ ///
+ /// Gets or sets the name of the Server Disaster Recovery Configuration to remove.
+ ///
+ [Parameter(Mandatory = true,
+ ValueFromPipelineByPropertyName = true,
+ Position = 2,
+ HelpMessage = "The name of the Azure SQL Server Disaster Recovery Configuration to remove.")]
+ [ValidateNotNullOrEmpty]
+ public string VirtualEndpointName { get; set; }
+
+ ///
+ /// Defines whether it is ok to skip the requesting of rule removal confirmation
+ ///
+ [Parameter(HelpMessage = "Skip confirmation message for performing the action")]
+ public SwitchParameter Force { get; set; }
+
+ ///
+ /// Get the entities from the service
+ ///
+ /// The list of entities
+ protected override IEnumerable GetEntity()
+ {
+ return new List() {
+ ModelAdapter.GetServerDisasterRecoveryConfiguration(this.ResourceGroupName, this.ServerName, this.VirtualEndpointName)
+ };
+ }
+
+ ///
+ /// No user input to apply to model
+ ///
+ /// Model retrieved from service
+ /// The model that was passed in
+ protected override IEnumerable ApplyUserInputToModel(IEnumerable model)
+ {
+ return model;
+ }
+
+ ///
+ /// No changes to persist to server
+ ///
+ /// The output of apply user input to model
+ /// The input entity
+ protected override IEnumerable PersistChanges(IEnumerable entity)
+ {
+ ModelAdapter.RemoveServerDisasterRecoveryConfiguration(this.ResourceGroupName, this.ServerName, this.VirtualEndpointName);
+ return entity;
+ }
+
+ ///
+ /// Entry point for the cmdlet
+ ///
+ public override void ExecuteCmdlet()
+ {
+ if (!Force.IsPresent && !ShouldProcess(
+ string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerDisasterRecoveryConfigurationDescription, this.VirtualEndpointName, this.ServerName),
+ string.Format(CultureInfo.InvariantCulture, Microsoft.Azure.Commands.Sql.Properties.Resources.RemoveAzureSqlServerDisasterRecoveryConfigurationWarning, this.VirtualEndpointName, this.ServerName),
+ Microsoft.Azure.Commands.Sql.Properties.Resources.ShouldProcessCaption))
+ {
+ return;
+ }
+
+ base.ExecuteCmdlet();
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/SetAzureSqlServerDisasterRecoveryConfiguration.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/SetAzureSqlServerDisasterRecoveryConfiguration.cs
new file mode 100644
index 000000000000..1bd8ac3cdfe8
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Cmdlet/SetAzureSqlServerDisasterRecoveryConfiguration.cs
@@ -0,0 +1,129 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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 Microsoft.Azure.Commands.Sql.Properties;
+using Microsoft.Azure.Commands.Sql.Replication.Model;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Management.Automation;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Cmdlet
+{
+ ///
+ /// Cmdlet to set a new Azure Sql Server Disaster Recovery Configuration (used for failover)
+ ///
+ [Cmdlet(VerbsCommon.Set, "AzureRmSqlServerDisasterRecoveryConfiguration",
+ ConfirmImpact = ConfirmImpact.High)]
+ public class SetAzureSqlServerDisasterRecoveryConfiguration : AzureSqlServerDisasterRecoveryConfigurationCmdletBase
+ {
+
+ internal const string ByFailoverParams = "ByFailoverParams";
+
+ ///
+ /// Gets or sets the Virtual Endpoint name of the Azure SQL Server Disaster Recovery Configuration
+ ///
+ [Parameter(Mandatory = true,
+ HelpMessage = "The name of the Azure SQL Server Disaster Recovery Configuration.")]
+ [ValidateNotNullOrEmpty]
+ public string VirtualEndpointName { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether this is a failover.
+ ///
+ ///
+ [Parameter(Mandatory = true,
+ ValueFromPipelineByPropertyName = false,
+ ParameterSetName = ByFailoverParams,
+ HelpMessage = "Whether this operation is a failover.")]
+ public SwitchParameter Failover { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether to make this failover will allow data loss.
+ ///
+ ///
+ [Parameter(Mandatory = false,
+ ValueFromPipelineByPropertyName = false,
+ ParameterSetName = ByFailoverParams,
+ HelpMessage = "Whether this failover operation will allow data loss.")]
+ public SwitchParameter AllowDataLoss { get; set; }
+
+ ///
+ /// Get the entities from the service
+ ///
+ /// The list of entities
+ protected override IEnumerable GetEntity()
+ {
+ return new List()
+ {
+ ModelAdapter.GetServerDisasterRecoveryConfiguration(this.ResourceGroupName, this.ServerName,
+ this.VirtualEndpointName)
+ };
+ }
+
+ ///
+ /// Create the model from user input
+ ///
+ /// Model retrieved from service
+ /// The model that was passed in
+ protected override IEnumerable ApplyUserInputToModel(
+ IEnumerable model)
+ {
+ List newEntity =
+ new List();
+
+ AzureSqlServerDisasterRecoveryConfigurationModel entry = model.First();
+ if (entry != null)
+ {
+ newEntity.Add(new AzureSqlServerDisasterRecoveryConfigurationModel()
+ {
+ ResourceGroupName = entry.ResourceGroupName,
+ ServerName = entry.ServerName,
+ ServerDisasterRecoveryConfigurationName = entry.ServerDisasterRecoveryConfigurationName,
+ Location = entry.Location,
+ AutoFailover = entry.AutoFailover,
+ FailoverPolicy = entry.FailoverPolicy,
+ PartnerServerName = entry.PartnerServerName,
+ Role = entry.Role
+ });
+ }
+ return newEntity;
+ }
+
+ ///
+ /// Update the Server Disaster Recovery Configuration
+ ///
+ /// The output of apply user input to model
+ /// The input entity
+ protected override IEnumerable PersistChanges(
+ IEnumerable entity)
+ {
+ switch (ParameterSetName)
+ {
+ case ByFailoverParams:
+ ModelAdapter.FailoverServerDisasterRecoveryConfiguration(this.ResourceGroupName,
+ this.ServerName, entity.First(), AllowDataLoss.IsPresent);
+ break;
+ default:
+ // Warning user that no options were provided so no action can be taken.
+ WriteWarning(Resources.SetDisasterRecoveryConfigurationNoOptionProvided);
+ break;
+ }
+
+ return entity;
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationActivityModel.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationActivityModel.cs
new file mode 100644
index 000000000000..d0571bc1180c
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationActivityModel.cs
@@ -0,0 +1,101 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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;
+using System.Collections.Generic;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model
+{
+ ///
+ /// Represents an Azure Sql Server Disaster Recovery Configuration
+ ///
+ public class AzureSqlServerDisasterRecoveryConfigurationActivityModel
+ {
+ ///
+ /// Represents the state of the properties
+ ///
+ public class ServerDisasterRecoveryConfigurationState
+ {
+ ///
+ /// Gets or sets the properties of the Server Disaster Recovery Configuration at the time of the start of the operation
+ ///
+ public IDictionary Current { get; set; }
+
+ ///
+ /// Gets or sets the requested properties for the Server Disaster Recovery Configuration
+ ///
+ public IDictionary Requested { get; set; }
+ }
+
+ ///
+ /// Gets or sets the operation id
+ ///
+ public Guid OperationId { get; set; }
+
+ ///
+ /// Gets or sets the server name
+ ///
+ public string ServerName { get; set; }
+
+ ///
+ /// Gets or sets the Server Disaster Recovery Configuration name
+ ///
+ public string ServerDisasterRecoveryConfigurationName { get; set; }
+
+ ///
+ /// Gets or sets the state
+ ///
+ public string State { get; set; }
+
+ ///
+ /// Gets or sets operation
+ ///
+ public string Operation { get; set; }
+
+ ///
+ /// Gets or sets the error code
+ ///
+ public int? ErrorCode { get; set; }
+
+ ///
+ /// Gets or sets the error message
+ ///
+ public string ErrorMessage { get; set; }
+
+ ///
+ /// Gets or sets the error severity
+ ///
+ public int? ErrorSeverity { get; set; }
+
+ ///
+ /// Gets or sets the start time
+ ///
+ public DateTime? StartTime { get; set; }
+
+ ///
+ /// Gets or sets the end time
+ ///
+ public DateTime? EndTime { get; set; }
+
+ ///
+ /// Gets or sets the percent complete
+ ///
+ public int? PercentComplete { get; set; }
+
+ ///
+ /// Gets or sets the state of the properties associated with the request
+ ///
+ public ServerDisasterRecoveryConfigurationState Properties { get; set; }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationModel.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationModel.cs
new file mode 100644
index 000000000000..b65b3f01cb75
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Model/AzureSqlServerDisasterRecoveryConfigurationModel.cs
@@ -0,0 +1,102 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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;
+using System.Collections.Generic;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model
+{
+ ///
+ /// Represents an Azure Sql Server Disaster Recovery Configuration
+ ///
+ public class AzureSqlServerDisasterRecoveryConfigurationModel
+ {
+ ///
+ /// Gets or sets the name of the resource group
+ ///
+ public string ResourceGroupName { get; set; }
+
+ ///
+ /// Gets or sets the name of the server
+ ///
+ public string ServerName { get; set; }
+
+ ///
+ /// Gets or sets the name of the Server Disaster Recovery Configuration
+ ///
+ public string ServerDisasterRecoveryConfigurationName { get; set; }
+
+ ///
+ /// Gets or sets the name of the Server Disaster Recovery Virtual Endpoint Name
+ ///
+ public string VirtualEndpointName { get; set; }
+
+ ///
+ /// Gets or sets the location of the Server Disaster Recovery Configuration
+ ///
+ public string Location { get; set; }
+
+ ///
+ /// Gets or sets the status of the Server Disaster Recovery Configuration
+ ///
+ public string AutoFailover { get; set; }
+
+ ///
+ /// Gets or sets the creation date of the Server Disaster Recovery Configuration
+ ///
+ public string FailoverPolicy{ get; set; }
+
+ ///
+ /// Gets or sets the tags associated with the server.
+ ///
+ public string PartnerServerName { get; set; }
+
+ ///
+ /// Gets or sets the tags associated with the server.
+ ///
+ public string Role { get; set; }
+
+ ///
+ /// Construct AzureSqlServerDisasterRecoveryConfigurationModel
+ ///
+ public AzureSqlServerDisasterRecoveryConfigurationModel()
+ {
+ }
+
+ ///
+ /// Construct AzureSqlServerDisasterRecoveryConfigurationModel from Management.Sql.Models.ServerDisasterRecoveryConfiguration object
+ ///
+ /// Resource group
+ /// Server name
+ /// ServerDisasterRecoveryConfiguration object
+ public AzureSqlServerDisasterRecoveryConfigurationModel(string resourceGroup, string serverName, Management.Sql.Models.ServerDisasterRecoveryConfiguration serverDisasterRecoveryConfiguration)
+ {
+ ResourceGroupName = resourceGroup;
+ ServerName = serverName;
+
+ // Short-term workaround for missing sdrc. Will remove once upstream issues are resolved.
+ if (serverDisasterRecoveryConfiguration != null)
+ {
+ ServerDisasterRecoveryConfigurationName = serverDisasterRecoveryConfiguration.Name;
+ VirtualEndpointName = serverDisasterRecoveryConfiguration.Name;
+ Location = serverDisasterRecoveryConfiguration.Location;
+ PartnerServerName = serverDisasterRecoveryConfiguration.Properties.PartnerLogicalServerName;
+ AutoFailover = serverDisasterRecoveryConfiguration.Properties.AutoFailover;
+ FailoverPolicy = serverDisasterRecoveryConfiguration.Properties.FailoverPolicy;
+ Role = serverDisasterRecoveryConfiguration.Properties.Role;
+ }
+
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationAdapter.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationAdapter.cs
new file mode 100644
index 000000000000..146aa8406955
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationAdapter.cs
@@ -0,0 +1,179 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using Microsoft.Azure.Commands.Common.Authentication.Models;
+using Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Model;
+using Microsoft.Azure.Commands.Sql.Server.Adapter;
+using Microsoft.Azure.Commands.Sql.Server.Services;
+using Microsoft.Azure.Commands.Sql.Services;
+
+using Microsoft.Azure.Management.Sql.Models;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Services
+{
+ ///
+ /// Adapter for Server Disaster Recovery Configuration operations
+ ///
+ public class AzureSqlServerDisasterRecoveryConfigurationAdapter
+ {
+ ///
+ /// Gets or sets the AzureSqlServerDisasterRecoveryConfigurationCommunicator which has all the needed management clients
+ ///
+ private AzureSqlServerDisasterRecoveryConfigurationCommunicator Communicator { get; set; }
+
+ ///
+ /// Gets or sets the Azure profile
+ ///
+ public AzureContext Context { get; set; }
+
+ ///
+ /// Gets or sets the Azure Subscription
+ ///
+ private AzureSubscription _subscription { get; set; }
+
+ ///
+ /// Constructs a Server Disaster Recovery Configuration adapter
+ ///
+ /// The current azure profile
+ /// The current azure subscription
+ public AzureSqlServerDisasterRecoveryConfigurationAdapter(AzureContext context)
+ {
+ Context = context;
+ _subscription = context.Subscription;
+ Communicator = new AzureSqlServerDisasterRecoveryConfigurationCommunicator(Context);
+ }
+
+ ///
+ /// Gets an Azure Sql Server Disaster Recovery Configuration by name.
+ ///
+ /// The name of the resource group
+ /// The name of the Azure Sql Server
+ /// The name of the Azure Sql Server Disaster Recovery Configuration
+ /// The Azure Sql Server Disaster Recovery Configuration object
+ internal AzureSqlServerDisasterRecoveryConfigurationModel GetServerDisasterRecoveryConfiguration(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName)
+ {
+ var resp = Communicator.Get(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName, Util.GenerateTracingId());
+ return CreateServerDisasterRecoveryConfigurationModelFromResponse(resourceGroupName, serverName, resp);
+ }
+
+ ///
+ /// Gets a list of Azure Sql Server DisasterRecoveryConfigurations.
+ ///
+ /// The name of the resource group
+ /// The name of the Azure Sql Server
+ /// A list of Server Disaster Recovery Configuration objects
+ internal ICollection ListServerDisasterRecoveryConfigurations(string resourceGroupName, string serverName)
+ {
+ var resp = Communicator.List(resourceGroupName, serverName, Util.GenerateTracingId());
+
+ return resp.Select((serverDisasterRecoveryConfigurationName) => CreateServerDisasterRecoveryConfigurationModelFromResponse(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName)).ToList();
+ }
+
+ ///
+ /// Creates an Azure Sql Server Disaster Recovery Configuration.
+ ///
+ /// The name of the resource group
+ /// The name of the Azure Sql Server
+ /// The id (path) of the partner Azure Sql Server
+ /// A model containing parameters for the Server Disaster Recovery Configuration
+ /// The created Azure Sql Server Disaster Recovery Configuration
+ internal AzureSqlServerDisasterRecoveryConfigurationModel CreateServerDisasterRecoveryConfiguration(string resourceGroup, string serverName, string partnerServerId, AzureSqlServerDisasterRecoveryConfigurationModel model)
+ {
+ var resp = Communicator.Create(resourceGroup, serverName, model.ServerDisasterRecoveryConfigurationName, Util.GenerateTracingId(), new ServerDisasterRecoveryConfigurationCreateOrUpdateParameters()
+ {
+ Location = model.Location,
+ Properties = new ServerDisasterRecoveryConfigurationCreateOrUpdateProperties()
+ {
+ PartnerServerId = partnerServerId
+ }
+ });
+
+ return CreateServerDisasterRecoveryConfigurationModelFromResponse(resourceGroup, serverName, resp);
+ }
+
+ ///
+ /// Starts failover for an Azure Sql Server Disaster Recovery Configuration.
+ ///
+ /// The name of the resource group
+ /// The name of the Azure Sql Server
+ /// The input parameters for the create/update operation
+ /// Whether or not potential data loss is allowed during the failover
+ internal void FailoverServerDisasterRecoveryConfiguration(string resourceGroup, string serverName, AzureSqlServerDisasterRecoveryConfigurationModel model, bool allowDataLoss)
+ {
+ Communicator.Failover(resourceGroup, serverName, model.ServerDisasterRecoveryConfigurationName, allowDataLoss, Util.GenerateTracingId());
+ }
+
+ ///
+ /// Deletes a Server Disaster Recovery Configuration
+ ///
+ /// The resource group the server is in
+ /// The name of the Azure Sql Server
+ /// The name of the Azure Sql Server Disaster Recovery Configuration to delete
+ public void RemoveServerDisasterRecoveryConfiguration(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName)
+ {
+ Communicator.Remove(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName, Util.GenerateTracingId());
+ }
+
+ ///
+ /// Gets the Location of the server.
+ ///
+ /// The resource group the server is in
+ /// The name of the server
+ ///
+ public string GetServerLocation(string resourceGroupName, string serverName)
+ {
+ AzureSqlServerAdapter serverAdapter = new AzureSqlServerAdapter(Context);
+ var server = serverAdapter.GetServer(resourceGroupName, serverName);
+ return server.Location;
+ }
+
+ ///
+ /// Converts the response from the service to a powershell Server Disaster Recovery Configuration object
+ ///
+ /// The resource group the server is in
+ /// The name of the Azure Sql Server
+ /// The service response
+ /// The converted model
+ public static AzureSqlServerDisasterRecoveryConfigurationModel CreateServerDisasterRecoveryConfigurationModelFromResponse(string resourceGroup, string serverName, Management.Sql.Models.ServerDisasterRecoveryConfiguration serverDisasterRecoveryConfiguration)
+ {
+ return new AzureSqlServerDisasterRecoveryConfigurationModel(resourceGroup, serverName, serverDisasterRecoveryConfiguration);
+ }
+
+ internal IEnumerable ListServerDisasterRecoveryConfigurationActivity(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName, Guid? operationId)
+ {
+ var response = Communicator.List(resourceGroupName, serverName, Util.GenerateTracingId());
+
+ IEnumerable list = response.Select((r) =>
+ {
+ return new AzureSqlServerDisasterRecoveryConfigurationActivityModel()
+ {
+ ServerDisasterRecoveryConfigurationName = r.Name,
+
+ };
+ });
+
+ // Check if we have a database name constraint
+ if (!string.IsNullOrEmpty(serverDisasterRecoveryConfigurationName))
+ {
+ list = list.Where(pl => string.Equals(pl.ServerDisasterRecoveryConfigurationName, serverDisasterRecoveryConfigurationName, StringComparison.OrdinalIgnoreCase));
+ }
+
+ return list.ToList();
+ }
+ }
+}
diff --git a/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationCommunicator.cs b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationCommunicator.cs
new file mode 100644
index 000000000000..088a25d58883
--- /dev/null
+++ b/src/ResourceManager/Sql/Commands.Sql/ServerDisasterRecoveryConfiguration/Services/AzureSqlServerDisasterRecoveryConfigurationCommunicator.cs
@@ -0,0 +1,123 @@
+// ----------------------------------------------------------------------------------
+//
+// Copyright Microsoft Corporation
+// 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 Microsoft.Azure.Management.Sql;
+using System;
+using System.Collections.Generic;
+using Microsoft.Azure.Commands.Common.Authentication;
+using Microsoft.Azure.Commands.Common.Authentication.Models;
+using Microsoft.Azure.Commands.Sql.Common;
+using Microsoft.Azure.Management.Sql.Models;
+
+namespace Microsoft.Azure.Commands.Sql.ServerDisasterRecoveryConfiguration.Services
+{
+ ///
+ /// This class is responsible for all the REST communication with the audit REST endpoints
+ ///
+ public class AzureSqlServerDisasterRecoveryConfigurationCommunicator
+ {
+ ///
+ /// The Sql client to be used by this end points communicator
+ ///
+ private static SqlManagementClient SqlClient { get; set; }
+
+ ///
+ /// Gets or set the Azure subscription
+ ///
+ private static AzureSubscription Subscription {get ; set; }
+
+ ///
+ /// Gets or sets the Azure profile
+ ///
+ public AzureContext Context { get; set; }
+
+ ///
+ /// Creates a communicator for Azure Sql Server Disaster Recovery Configuration
+ ///
+ ///
+ public AzureSqlServerDisasterRecoveryConfigurationCommunicator(AzureContext context)
+ {
+ Context = context;
+ if (context.Subscription != Subscription)
+ {
+ Subscription = context.Subscription;
+ SqlClient = null;
+ }
+ }
+
+ ///
+ /// Gets the Azure Sql Server Disaster Recovery Configuration
+ ///
+ public Management.Sql.Models.ServerDisasterRecoveryConfiguration Get(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName, string clientRequestId)
+ {
+ return GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.Get(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName).ServerDisasterRecoveryConfiguration;
+ }
+
+ ///
+ /// Lists Azure Sql Server Disaster Recovery Configurations
+ ///
+ public IList List(string resourceGroupName, string serverName, string clientRequestId)
+ {
+ return GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.List(resourceGroupName, serverName).ServerDisasterRecoveryConfigurations;
+ }
+
+ ///
+ /// Creates a Disaster Recovery Configuration
+ ///
+ public Management.Sql.Models.ServerDisasterRecoveryConfiguration Create(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName, string clientRequestId, ServerDisasterRecoveryConfigurationCreateOrUpdateParameters parameters)
+ {
+ return GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.CreateOrUpdate(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName, parameters).ServerDisasterRecoveryConfiguration;
+ }
+
+ ///
+ /// Failover a Disaster Recovery Configuration
+ ///
+ public void Failover(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName, bool allowDataLoss, string clientRequestId)
+ {
+ if (allowDataLoss)
+ {
+ GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.FailoverAllowDataLoss(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName);
+ }
+ else
+ {
+ GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.Failover(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName);
+ }
+ }
+
+ ///
+ /// Deletes a Server Disaster Recovery Configuration
+ ///
+ public void Remove(string resourceGroupName, string serverName, string serverDisasterRecoveryConfigurationName, string clientRequestId)
+ {
+ GetCurrentSqlClient(clientRequestId).ServerDisasterRecoveryConfigurations.Delete(resourceGroupName, serverName, serverDisasterRecoveryConfigurationName);
+ }
+
+ ///
+ /// Retrieve the SQL Management client for the currently selected subscription, adding the session and request
+ /// id tracing headers for the current cmdlet invocation.
+ ///
+ /// The SQL Management client for the currently selected subscription.
+ private SqlManagementClient GetCurrentSqlClient(String clientRequestId)
+ {
+ // Get the SQL management client for the current subscription
+ if (SqlClient == null)
+ {
+ SqlClient = AzureSession.ClientFactory.CreateClient(Context, AzureEnvironment.Endpoint.ResourceManager);
+ }
+ SqlClient.HttpClient.DefaultRequestHeaders.Remove(Constants.ClientRequestIdHeaderName);
+ SqlClient.HttpClient.DefaultRequestHeaders.Add(Constants.ClientRequestIdHeaderName, clientRequestId);
+ return SqlClient;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/ResourceManager/Sql/Commands.Sql/packages.config b/src/ResourceManager/Sql/Commands.Sql/packages.config
index b0623f1a1ea6..dff313ee2f27 100644
--- a/src/ResourceManager/Sql/Commands.Sql/packages.config
+++ b/src/ResourceManager/Sql/Commands.Sql/packages.config
@@ -5,7 +5,7 @@
-
+