From f814a9c7f83fca6841485313efee1a2f25be761b Mon Sep 17 00:00:00 2001 From: Wei Wei Date: Tue, 12 Nov 2019 16:37:03 +0800 Subject: [PATCH 1/2] [Storage] Support ORS --- .../ScenarioTests/StorageBlobTests.cs | 7 + .../ScenarioTests/StorageBlobTests.ps1 | 104 + .../TestStorageBlobORS.json | 2391 +++++++++++++++++ .../Storage.Management/Az.Storage.psd1 | 4 +- ...UpdateAzureStorageBlobServiceProperties.cs | 23 +- src/Storage/Storage.Management/ChangeLog.md | 10 + .../Models/PSBlobServiceProperties.cs | 5 +- .../Models/PSObjectReplicationPolicy.cs | 195 ++ .../Storage.Management.format.ps1xml | 206 +- .../GetAzStorageObjectReplicationPolicy.cs | 121 + ...NewAzStorageObjectReplicationPolicyRule.cs | 106 + .../RemoveAzStorageObjectReplicationPolicy.cs | 143 + .../SetAzStorageObjectReplicationPolicy.cs | 199 ++ .../Storage.Management/help/Az.Storage.md | 12 + .../help/Get-AzStorageBlobServiceProperty.md | 12 +- .../Get-AzStorageObjectReplicationPolicy.md | 156 ++ ...ew-AzStorageObjectReplicationPolicyRule.md | 157 ++ ...Remove-AzStorageObjectReplicationPolicy.md | 199 ++ .../Set-AzStorageObjectReplicationPolicy.md | 252 ++ .../Update-AzStorageBlobServiceProperty.md | 70 +- 20 files changed, 4301 insertions(+), 71 deletions(-) create mode 100644 src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageBlobTests/TestStorageBlobORS.json create mode 100644 src/Storage/Storage.Management/Models/PSObjectReplicationPolicy.cs create mode 100644 src/Storage/Storage.Management/StorageAccount/GetAzStorageObjectReplicationPolicy.cs create mode 100644 src/Storage/Storage.Management/StorageAccount/NewAzStorageObjectReplicationPolicyRule.cs create mode 100644 src/Storage/Storage.Management/StorageAccount/RemoveAzStorageObjectReplicationPolicy.cs create mode 100644 src/Storage/Storage.Management/StorageAccount/SetAzStorageObjectReplicationPolicy.cs create mode 100644 src/Storage/Storage.Management/help/Get-AzStorageObjectReplicationPolicy.md create mode 100644 src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md create mode 100644 src/Storage/Storage.Management/help/Remove-AzStorageObjectReplicationPolicy.md create mode 100644 src/Storage/Storage.Management/help/Set-AzStorageObjectReplicationPolicy.md diff --git a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.cs b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.cs index 64d697f6bfe3..91046e749279 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.cs +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.cs @@ -72,5 +72,12 @@ public void TestStorageBlobRestore() { TestController.NewInstance.RunPsTest(_logger, "Test-StorageBlobRestore"); } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestStorageBlobORS() + { + TestController.NewInstance.RunPsTest(_logger, "Test-StorageBlobORS"); + } } } diff --git a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 index cae233a5eaa1..b124e725e5d2 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 @@ -533,3 +533,107 @@ function Test-StorageBlobRestore } +<# +.SYNOPSIS +Test StorageAccount Object Replication +.DESCRIPTION +SmokeTest +#> +function Test-StorageBlobORS +{ + # Setup + $rgname = Get-StorageManagementTestResourceName; + + try + { + # Test + $stoname1 = 'sto' + $rgname + 'src'; + $stoname2 = 'sto' + $rgname + 'dest'; + $stotype = 'Standard_LRS'; + $loc = Get-ProviderLocation ResourceManagement; + $kind = 'StorageV2' + + Write-Verbose "RGName: $rgname | Loc: $loc" + New-AzResourceGroup -Name $rgname -Location $loc; + + $loc = Get-ProviderLocation_Canary ResourceManagement; + New-AzStorageAccount -ResourceGroupName $rgname -Name $stoname1 -Location $loc -Type $stotype -Kind $kind + New-AzStorageAccount -ResourceGroupName $rgname -Name $stoname2 -Location $loc -Type $stotype -Kind $kind + + # Enable Blob Enable Changefeed and versioning + Update-AzStorageBlobServiceProperty -ResourceGroupName $rgname -StorageAccountName $stoname1 -EnableChangeFeed $true -IsVersioningEnabled $true + Update-AzStorageBlobServiceProperty -ResourceGroupName $rgname -StorageAccountName $stoname2 -EnableChangeFeed $true -IsVersioningEnabled $true + $property1 = Get-AzStorageBlobServiceProperty -ResourceGroupName $rgname -StorageAccountName $stoname1 + Assert-AreEqual $true $property1.ChangeFeed.Enabled + Assert-AreEqual $true $property1.IsVersioningEnabled + $property2 = Get-AzStorageBlobServiceProperty -ResourceGroupName $rgname -StorageAccountName $stoname2 + Assert-AreEqual $true $property2.ChangeFeed.Enabled + Assert-AreEqual $true $property2.IsVersioningEnabled + + # create containers + Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $stoname1 | New-AzRmStorageContainer -name src + Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $stoname2 | New-AzRmStorageContainer -name dest + Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $stoname1 | New-AzRmStorageContainer -name src1 + Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $stoname2 | New-AzRmStorageContainer -name dest1 + + # create rules + $minCreationTime = "2019-01-02T00:00:00" + $rule1 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src1 -DestinationContainer dest1 + $rule2 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src -DestinationContainer dest -MinCreationTime $minCreationTime -PrefixMatch a,abc,dd #-Tag t1,t2,t3 + + # set policy to dest account + $destPolicy = Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname2 -PolicyId default -SourceAccount $stoname1 -Rule $rule1,$rule2 + $policyID = $destPolicy.PolicyId + Assert-AreEqual $stoname1 $destPolicy.SourceAccount + Assert-AreEqual $stoname2 $destPolicy.DestinationAccount + Assert-AreEqual 2 $destPolicy.Rules.Count + Assert-AreEqual src1 $destPolicy.Rules[0].SourceContainer + Assert-AreEqual dest1 $destPolicy.Rules[0].DestinationContainer + Assert-AreEqual $null $destPolicy.Rules[0].Filters + Assert-AreEqual src $destPolicy.Rules[1].SourceContainer + Assert-AreEqual dest $destPolicy.Rules[1].DestinationContainer + Assert-AreEqual 3 $destPolicy.Rules[1].Filters.PrefixMatch.Count + Assert-AreEqual $minCreationTime $destPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + $destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname2 -PolicyId $destPolicy.PolicyId + Assert-AreEqual $policyID $destPolicy.PolicyId + Assert-AreEqual $stoname1 $destPolicy.SourceAccount + Assert-AreEqual $stoname2 $destPolicy.DestinationAccount + Assert-AreEqual 2 $destPolicy.Rules.Count + Assert-AreEqual src1 $destPolicy.Rules[0].SourceContainer + Assert-AreEqual dest1 $destPolicy.Rules[0].DestinationContainer + Assert-AreEqual $null $destPolicy.Rules[0].Filters + Assert-AreEqual src $destPolicy.Rules[1].SourceContainer + Assert-AreEqual dest $destPolicy.Rules[1].DestinationContainer + Assert-AreEqual 3 $destPolicy.Rules[1].Filters.PrefixMatch.Count + Assert-AreEqual $minCreationTime $destPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + + #Set policy to source account + Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname1 -InputObject $destPolicy + $srcPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname1 + Assert-AreEqual $policyID $srcPolicy.PolicyId + Assert-AreEqual $stoname1 $srcPolicy.SourceAccount + Assert-AreEqual $stoname2 $srcPolicy.DestinationAccount + Assert-AreEqual 2 $srcPolicy.Rules.Count + Assert-AreEqual src1 $srcPolicy.Rules[0].SourceContainer + Assert-AreEqual dest1 $srcPolicy.Rules[0].DestinationContainer + Assert-AreEqual $null $srcPolicy.Rules[0].Filters + Assert-AreEqual src $srcPolicy.Rules[1].SourceContainer + Assert-AreEqual dest $srcPolicy.Rules[1].DestinationContainer + Assert-AreEqual 3 $srcPolicy.Rules[1].Filters.PrefixMatch.Count + Assert-AreEqual $minCreationTime $srcPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + + #remove policies + Remove-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname2 -PolicyId $destPolicy.PolicyId + Remove-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname1 -PolicyId $srcPolicy.PolicyId + + Remove-AzStorageAccount -Force -ResourceGroupName $rgname -Name $stoname1; + Remove-AzStorageAccount -Force -ResourceGroupName $rgname -Name $stoname2; + } + finally + { + # Cleanup + Clean-ResourceGroup $rgname + } +} + + diff --git a/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageBlobTests/TestStorageBlobORS.json b/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageBlobTests/TestStorageBlobORS.json new file mode 100644 index 000000000000..032ca3aeddf9 --- /dev/null +++ b/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageBlobTests/TestStorageBlobORS.json @@ -0,0 +1,2391 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "ee265b3a-fb1b-45bd-a3db-e191d9bff0dd" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "9a3d11a9-4cd8-4973-abb3-63b08a2254fd" + ], + "x-ms-correlation-request-id": [ + "9a3d11a9-4cd8-4973-abb3-63b08a2254fd" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162600Z:9a3d11a9-4cd8-4973-abb3-63b08a2254fd" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:26:00 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "12336" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage\",\r\n \"namespace\": \"Microsoft.Storage\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"a6aa9161-5291-40bb-8c5c-923b567bee3b\",\r\n \"roleDefinitionId\": \"070ab87f-0efc-4423-b18b-756f3bdb0236\"\r\n },\r\n {\r\n \"applicationId\": \"e406a681-f3d4-42a8-90b6-c2b029497af1\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"storageAccounts\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\",\r\n \"2016-01-01\",\r\n \"2015-06-15\",\r\n \"2015-05-01-preview\"\r\n ],\r\n \"capabilities\": \"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\",\r\n \"2016-01-01\",\r\n \"2015-06-15\",\r\n \"2015-05-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/asyncoperations\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\",\r\n \"2016-01-01\",\r\n \"2015-06-15\",\r\n \"2015-05-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/listAccountSas\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/listServiceSas\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/blobServices\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/tableServices\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/queueServices\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/fileServices\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-07-01\",\r\n \"2016-01-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/usages\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/deleteVirtualNetworkOrSubnets\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-07-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usages\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\",\r\n \"2016-01-01\",\r\n \"2015-06-15\",\r\n \"2015-05-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"checkNameAvailability\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-03-01-preview\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\",\r\n \"2016-05-01\",\r\n \"2016-01-01\",\r\n \"2015-06-15\",\r\n \"2015-05-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/checkNameAvailability\",\r\n \"locations\": [\r\n \"East US\",\r\n \"East US 2\",\r\n \"West US\",\r\n \"West Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"Central US\",\r\n \"North Europe\",\r\n \"Brazil South\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"Australia Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 (Stage)\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-06-01\",\r\n \"2019-04-01\",\r\n \"2018-11-01\",\r\n \"2018-07-01\",\r\n \"2018-02-01\",\r\n \"2017-10-01\",\r\n \"2017-06-01\",\r\n \"2016-12-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/services\",\r\n \"locations\": [\r\n \"East US\",\r\n \"West US\",\r\n \"East US 2 (Stage)\",\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"East US 2\",\r\n \"Central US\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"storageAccounts/services/metricDefinitions\",\r\n \"locations\": [\r\n \"East US\",\r\n \"West US\",\r\n \"East US 2 (Stage)\",\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East Asia\",\r\n \"Southeast Asia\",\r\n \"Japan East\",\r\n \"Japan West\",\r\n \"North Central US\",\r\n \"South Central US\",\r\n \"East US 2\",\r\n \"Central US\",\r\n \"Australia East\",\r\n \"Australia Southeast\",\r\n \"Brazil South\",\r\n \"South India\",\r\n \"Central India\",\r\n \"West India\",\r\n \"Canada East\",\r\n \"Canada Central\",\r\n \"West US 2\",\r\n \"West Central US\",\r\n \"UK South\",\r\n \"UK West\",\r\n \"Korea Central\",\r\n \"Korea South\",\r\n \"France Central\",\r\n \"South Africa North\",\r\n \"UAE North\",\r\n \"Switzerland North\",\r\n \"Germany West Central\",\r\n \"Norway East\",\r\n \"East US 2 EUAP\",\r\n \"Central US EUAP\"\r\n ],\r\n \"apiVersions\": [\r\n \"2014-04-01\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourcegroups/pstestrg5674?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlZ3JvdXBzL3BzdGVzdHJnNTY3ND9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"location\": \"West US\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "61813212-e2fd-4921-b8d4-cbbb979a848b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "29" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "84e1638d-1deb-4761-b23b-7613078dc525" + ], + "x-ms-correlation-request-id": [ + "84e1638d-1deb-4761-b23b-7613078dc525" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162605Z:84e1638d-1deb-4761-b23b-7613078dc525" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:26:04 GMT" + ], + "Content-Length": [ + "177" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674\",\r\n \"name\": \"pstestrg5674\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/checkNameAvailability?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9jaGVja05hbWVBdmFpbGFiaWxpdHk/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"name\": \"stopstestrg5674src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a9d28b47-99d6-45c3-8abf-1274298c14eb" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "84" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "45a1e0fc-79f5-43db-b61b-377a56ebfbc5" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "c4af6b09-10c3-449c-8297-2c8596b3f95b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162615Z:c4af6b09-10c3-449c-8297-2c8596b3f95b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:26:15 GMT" + ], + "Content-Length": [ + "22" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"nameAvailable\": true\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/checkNameAvailability?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9jaGVja05hbWVBdmFpbGFiaWxpdHk/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"name\": \"stopstestrg5674dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d7fb8711-5bf7-40c1-8b21-c5698d3999a7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "85" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "1ba29118-7c53-40e1-8d82-c6c94c031efd" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "1834c349-7890-424c-a029-1a44bea4f1de" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162701Z:1834c349-7890-424c-a029-1a44bea4f1de" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:00 GMT" + ], + "Content-Length": [ + "22" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"nameAvailable\": true\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"location\": \"eastus2euap\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "ab57e90e-480c-44a4-a568-822dd7015cb4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "103" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/762d8b62-bf4a-481a-a629-abe46298dd18?monitor=true&api-version=2019-06-01" + ], + "Retry-After": [ + "17" + ], + "x-ms-request-id": [ + "762d8b62-bf4a-481a-a629-abe46298dd18" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "0bf3f3a2-99ea-47fc-abe5-60bc1d1d5725" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162622Z:0bf3f3a2-99ea-47fc-abe5-60bc1d1d5725" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:26:21 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/762d8b62-bf4a-481a-a629-abe46298dd18?monitor=true&api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzMmV1YXAvYXN5bmNvcGVyYXRpb25zLzc2MmQ4YjYyLWJmNGEtNDgxYS1hNjI5LWFiZTQ2Mjk4ZGQxOD9tb25pdG9yPXRydWUmYXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "a08d26b3-1921-4cc7-9ae1-7fa90195dc8a" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "22ad4f25-bd48-487f-bf38-174b415b2e10" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162700Z:22ad4f25-bd48-487f-bf38-174b415b2e10" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:26:59 GMT" + ], + "Content-Length": [ + "1289" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src\",\r\n \"name\": \"stopstestrg5674src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:26:21.8150913Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674src.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674src.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674src.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674src.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674src.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674src.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "92e5acfc-042a-4973-b440-3bd6cae87fec" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "285dc774-12c8-42ea-97c9-85e74c2f2bd7" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "d9c83940-15ab-428c-a32b-1ca3b53588cc" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162701Z:d9c83940-15ab-428c-a32b-1ca3b53588cc" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:00 GMT" + ], + "Content-Length": [ + "1289" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src\",\r\n \"name\": \"stopstestrg5674src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:26:21.8150913Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674src.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674src.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674src.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674src.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674src.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674src.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d4647d79-2f2b-49c6-9398-472a2a66c881" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "58b2ee27-f492-4fac-9ce2-56def906848e" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11990" + ], + "x-ms-correlation-request-id": [ + "681cbf84-4ef4-4332-b6fa-64f9691d98d0" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162731Z:681cbf84-4ef4-4332-b6fa-64f9691d98d0" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:31 GMT" + ], + "Content-Length": [ + "1289" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src\",\r\n \"name\": \"stopstestrg5674src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:26:21.8150913Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674src.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674src.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674src.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674src.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674src.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674src.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a7cc3284-b291-4c82-ab06-b55f1df7da26" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "ca297219-1229-47ae-a22d-43b08baf373d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11988" + ], + "x-ms-correlation-request-id": [ + "7a735da2-61fd-4883-8fc8-73b7a6fdf96b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162733Z:7a735da2-61fd-4883-8fc8-73b7a6fdf96b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:33 GMT" + ], + "Content-Length": [ + "1289" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src\",\r\n \"name\": \"stopstestrg5674src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:26:21.8776173Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:26:21.8150913Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674src.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674src.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674src.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674src.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674src.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674src.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Q/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"location\": \"eastus2euap\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f76ff927-aefd-4e87-ab26-5b99f4e45f54" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "103" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/a6e2fb68-d219-432d-a391-8ac6f8a04aed?monitor=true&api-version=2019-06-01" + ], + "Retry-After": [ + "17" + ], + "x-ms-request-id": [ + "a6e2fb68-d219-432d-a391-8ac6f8a04aed" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "db645522-3734-471c-b76a-824189cd041b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162707Z:db645522-3734-471c-b76a-824189cd041b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:06 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/providers/Microsoft.Storage/locations/eastus2euap/asyncoperations/a6e2fb68-d219-432d-a391-8ac6f8a04aed?monitor=true&api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzMmV1YXAvYXN5bmNvcGVyYXRpb25zL2E2ZTJmYjY4LWQyMTktNDMyZC1hMzkxLThhYzZmOGEwNGFlZD9tb25pdG9yPXRydWUmYXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "99b2573a-58b2-454f-bbe5-930bf93d8409" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-correlation-request-id": [ + "cc63ad8b-4548-410f-acf9-a0c0ca7e738a" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162724Z:cc63ad8b-4548-410f-acf9-a0c0ca7e738a" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:24 GMT" + ], + "Content-Length": [ + "1297" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest\",\r\n \"name\": \"stopstestrg5674dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:27:07.0378092Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674dest.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674dest.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674dest.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674dest.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674dest.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674dest.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Q/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a3d022fe-3691-409d-9d9c-9f852e1550eb" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "7d695cdc-5c35-43b6-9a8c-4b0091095548" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "f5c69f20-c751-4c36-8a8a-6b5779f8861b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162725Z:f5c69f20-c751-4c36-8a8a-6b5779f8861b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:25 GMT" + ], + "Content-Length": [ + "1297" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest\",\r\n \"name\": \"stopstestrg5674dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:27:07.0378092Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674dest.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674dest.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674dest.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674dest.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674dest.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674dest.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Q/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "32fcfe42-ba9d-42f1-8243-ad9d500b8ab2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "31b1b53b-5b55-4182-bd60-a9c14f595875" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11989" + ], + "x-ms-correlation-request-id": [ + "7040df36-284a-4115-b75d-d03aed105fc7" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162732Z:7040df36-284a-4115-b75d-d03aed105fc7" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:32 GMT" + ], + "Content-Length": [ + "1297" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest\",\r\n \"name\": \"stopstestrg5674dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:27:07.0378092Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674dest.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674dest.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674dest.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674dest.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674dest.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674dest.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Q/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "16c6890b-9885-4d96-815f-bc21a5cba7fe" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "58e38acc-1e2e-4d61-936a-a08ab0f1cdd6" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11987" + ], + "x-ms-correlation-request-id": [ + "b027aba8-08c6-47c3-8471-de96ecec3aaa" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162735Z:b027aba8-08c6-47c3-8471-de96ecec3aaa" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:34 GMT" + ], + "Content-Length": [ + "1297" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest\",\r\n \"name\": \"stopstestrg5674dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"networkAcls\": {\r\n \"bypass\": \"AzureServices\",\r\n \"virtualNetworkRules\": [],\r\n \"ipRules\": [],\r\n \"defaultAction\": \"Allow\"\r\n },\r\n \"supportsHttpsTrafficOnly\": true,\r\n \"encryption\": {\r\n \"services\": {\r\n \"file\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-04-16T16:27:07.1003359Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-04-16T16:27:07.0378092Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg5674dest.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg5674dest.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg5674dest.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg5674dest.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg5674dest.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg5674dest.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus2euap\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9ibG9iU2VydmljZXMvZGVmYXVsdD9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "af2b6470-c83e-4e26-8f5d-87c87ecf08e5" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "1836fc61-2537-4894-aa4c-767fb606d4f0" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-correlation-request-id": [ + "128d296b-6639-4bc3-8be8-2ab606b2c66a" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162725Z:128d296b-6639-4bc3-8be8-2ab606b2c66a" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:25 GMT" + ], + "Content-Length": [ + "374" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9ibG9iU2VydmljZXMvZGVmYXVsdD9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "169c1a97-e04c-487a-87cb-ba5f59c944d3" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "8f53d22c-dd96-44cb-8939-803032e8ebbb" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "a5d64664-67f6-4f0d-a43a-3e095fdb10f8" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162730Z:a5d64664-67f6-4f0d-a43a-3e095fdb10f8" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:30 GMT" + ], + "Content-Length": [ + "431" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n },\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9ibG9iU2VydmljZXMvZGVmYXVsdD9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true,\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f5abe4b0-4181-4aa5-9fe1-90d64f653311" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "223" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "9bd32473-7b7b-405a-a8ec-e8664aefb612" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-correlation-request-id": [ + "508614a0-a8f6-459b-ad3b-15ff5ee47a0c" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162728Z:508614a0-a8f6-459b-ad3b-15ff5ee47a0c" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:28 GMT" + ], + "Content-Length": [ + "383" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n },\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3QvYmxvYlNlcnZpY2VzL2RlZmF1bHQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "b602f833-ff80-4e11-bd96-00d2e3726fde" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "20b2d285-58c7-4645-a887-134ea2bffb3d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-correlation-request-id": [ + "05553532-d162-4a65-b7dd-c1b7a7dde27e" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162729Z:05553532-d162-4a65-b7dd-c1b7a7dde27e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:28 GMT" + ], + "Content-Length": [ + "375" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3QvYmxvYlNlcnZpY2VzL2RlZmF1bHQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "aa55aae6-ca90-4b08-9add-012004e2a9d0" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "c90334e8-6c3f-4040-9ca9-e28e1a3f8be4" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11991" + ], + "x-ms-correlation-request-id": [ + "5bc8a131-c963-4597-8364-25be3135d804" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162731Z:5bc8a131-c963-4597-8364-25be3135d804" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:31 GMT" + ], + "Content-Length": [ + "432" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n },\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3QvYmxvYlNlcnZpY2VzL2RlZmF1bHQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true,\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a6a8db15-dfc1-49f5-b644-7e06ef0b67d4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "223" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "2a522296-f779-4d9e-a8cc-9bf56442d424" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1197" + ], + "x-ms-correlation-request-id": [ + "ca17cf22-f04c-4345-b917-9e07c6efdd55" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162730Z:ca17cf22-f04c-4345-b917-9e07c6efdd55" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:30 GMT" + ], + "Content-Length": [ + "384" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default\",\r\n \"name\": \"default\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices\",\r\n \"properties\": {\r\n \"changeFeed\": {\r\n \"enabled\": true\r\n },\r\n \"cors\": {\r\n \"corsRules\": []\r\n },\r\n \"deleteRetentionPolicy\": {\r\n \"enabled\": false\r\n },\r\n \"isVersioningEnabled\": true\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default/containers/src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL3NyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "6782dba3-63de-4948-bd6d-7caa4aaaef48" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7E223105DDFF8\"" + ], + "x-ms-request-id": [ + "4599fe92-bdf2-4e1c-9fdf-b43d82463f32" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1196" + ], + "x-ms-correlation-request-id": [ + "cd0ba3d4-11c9-4fb1-a6ff-dc702d3cd76d" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162732Z:cd0ba3d4-11c9-4fb1-a6ff-dc702d3cd76d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:32 GMT" + ], + "Content-Length": [ + "267" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default/containers/src\",\r\n \"name\": \"src\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default/containers/dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3QvYmxvYlNlcnZpY2VzL2RlZmF1bHQvY29udGFpbmVycy9kZXN0P2FwaS12ZXJzaW9uPTIwMTktMDYtMDE=", + "RequestMethod": "PUT", + "RequestBody": "{}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "7e33f0cf-d8cd-4398-8c53-5ca4fd534323" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7E223110A60C7\"" + ], + "x-ms-request-id": [ + "a41ca2df-3074-4b06-851c-19e63fc6eabb" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1195" + ], + "x-ms-correlation-request-id": [ + "cb4b9719-e303-4131-b5c7-5e3e426f2aec" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162733Z:cb4b9719-e303-4131-b5c7-5e3e426f2aec" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:33 GMT" + ], + "Content-Length": [ + "270" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default/containers/dest\",\r\n \"name\": \"dest\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default/containers/src1?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL3NyYzE/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e311d129-6d58-4bcc-8412-ff74e3c832d6" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7E22311BEEA7F\"" + ], + "x-ms-request-id": [ + "37296174-053e-4812-92a5-0145f39bf9d6" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1194" + ], + "x-ms-correlation-request-id": [ + "9e53d563-ee0e-4b38-be60-1e72a0550fd1" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162734Z:9e53d563-ee0e-4b38-be60-1e72a0550fd1" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:34 GMT" + ], + "Content-Length": [ + "269" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/blobServices/default/containers/src1\",\r\n \"name\": \"src1\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default/containers/dest1?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3QvYmxvYlNlcnZpY2VzL2RlZmF1bHQvY29udGFpbmVycy9kZXN0MT9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8b7138b6-c8b4-469a-9b2f-d54cdbbb6865" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "2" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7E223127DAB7B\"" + ], + "x-ms-request-id": [ + "0933beca-e95e-4a5a-932e-5c5018aa3c44" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1193" + ], + "x-ms-correlation-request-id": [ + "219fbcb2-b0b7-4dab-8b6a-63e248b70d67" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162735Z:219fbcb2-b0b7-4dab-8b6a-63e248b70d67" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:35 GMT" + ], + "Content-Length": [ + "272" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/blobServices/default/containers/dest1\",\r\n \"name\": \"dest1\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/objectReplicationPolicies/default?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Qvb2JqZWN0UmVwbGljYXRpb25Qb2xpY2llcy9kZWZhdWx0P2FwaS12ZXJzaW9uPTIwMTktMDYtMDE=", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "c0278272-f397-4270-a116-2f068cac8a19" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "519" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "741e9854-626c-4a37-8f36-5240b1d70941" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1192" + ], + "x-ms-correlation-request-id": [ + "afe98c9d-22cf-43e3-8b4f-71897d835bf5" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162737Z:afe98c9d-22cf-43e3-8b4f-71897d835bf5" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:37 GMT" + ], + "Content-Length": [ + "779" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"name\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/objectReplicationPolicies\",\r\n \"properties\": {\r\n \"policyId\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"beb872c8-c001-469c-a70b-208d121eb829\",\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"ruleId\": \"4736b8a5-1cf4-4e03-85ad-b8589fc2caaf\",\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Qvb2JqZWN0UmVwbGljYXRpb25Qb2xpY2llcy9kMTdlZmQwZC0xODY1LTRlYzgtYWI1Mi0zZjM5ZjVlNjliZDA/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d6382073-d0f7-45b2-9363-5b5d9f56444c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "d75f4433-9ecc-4f3b-ba10-a42b1ed3c001" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11986" + ], + "x-ms-correlation-request-id": [ + "aea95e55-b671-4f41-b32c-cfd029245311" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162737Z:aea95e55-b671-4f41-b32c-cfd029245311" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:37 GMT" + ], + "Content-Length": [ + "779" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"name\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/objectReplicationPolicies\",\r\n \"properties\": {\r\n \"policyId\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"beb872c8-c001-469c-a70b-208d121eb829\",\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"ruleId\": \"4736b8a5-1cf4-4e03-85ad-b8589fc2caaf\",\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9vYmplY3RSZXBsaWNhdGlvblBvbGljaWVzL2QxN2VmZDBkLTE4NjUtNGVjOC1hYjUyLTNmMzlmNWU2OWJkMD9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"beb872c8-c001-469c-a70b-208d121eb829\",\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"ruleId\": \"4736b8a5-1cf4-4e03-85ad-b8589fc2caaf\",\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "0a4dd69a-def8-47d9-a89f-ebb3d186c265" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "637" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "f136d202-5712-4a84-bc75-25aee84f618d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1191" + ], + "x-ms-correlation-request-id": [ + "4697bbb2-7bbf-4bf7-8433-fc867a1a6f39" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162739Z:4697bbb2-7bbf-4bf7-8433-fc867a1a6f39" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:38 GMT" + ], + "Content-Length": [ + "823" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"name\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/objectReplicationPolicies\",\r\n \"properties\": {\r\n \"policyId\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"enabledTime\": \"2020-04-16T16:27:39.0443111Z\",\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"beb872c8-c001-469c-a70b-208d121eb829\",\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"ruleId\": \"4736b8a5-1cf4-4e03-85ad-b8589fc2caaf\",\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/objectReplicationPolicies?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9vYmplY3RSZXBsaWNhdGlvblBvbGljaWVzP2FwaS12ZXJzaW9uPTIwMTktMDYtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "fe104be5-7410-4017-adfb-7871c4c5afda" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "0c0286cd-f27f-4070-bafc-6fe087e842f2" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11985" + ], + "x-ms-correlation-request-id": [ + "8eb58644-ea9b-46d4-9223-16ca6631d438" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162739Z:8eb58644-ea9b-46d4-9223-16ca6631d438" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:39 GMT" + ], + "Content-Length": [ + "462" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"policyId\": \"d17efd0d-1865-4ec8-ab52-3f39f5e69bd0\",\r\n \"sourceAccount\": \"stopstestrg5674src\",\r\n \"destinationAccount\": \"stopstestrg5674dest\",\r\n \"rules\": [\r\n {\r\n \"ruleId\": \"beb872c8-c001-469c-a70b-208d121eb829\",\r\n \"sourceContainer\": \"src1\",\r\n \"destinationContainer\": \"dest1\"\r\n },\r\n {\r\n \"ruleId\": \"4736b8a5-1cf4-4e03-85ad-b8589fc2caaf\",\r\n \"sourceContainer\": \"src\",\r\n \"destinationContainer\": \"dest\",\r\n \"filters\": {\r\n \"prefixMatch\": [\r\n \"a\",\r\n \"abc\",\r\n \"dd\"\r\n ],\r\n \"minCreationTime\": \"2019-01-01T16:00:00Z\"\r\n }\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Qvb2JqZWN0UmVwbGljYXRpb25Qb2xpY2llcy9kMTdlZmQwZC0xODY1LTRlYzgtYWI1Mi0zZjM5ZjVlNjliZDA/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f81eb768-b310-4f32-b1de-cc7daa609b3f" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "10c9f8ff-5720-4abf-8246-6020ba1c8a96" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-correlation-request-id": [ + "054b8710-722b-435e-a55a-ee16f3c780d6" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162740Z:054b8710-722b-435e-a55a-ee16f3c780d6" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:40 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src/objectReplicationPolicies/d17efd0d-1865-4ec8-ab52-3f39f5e69bd0?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYy9vYmplY3RSZXBsaWNhdGlvblBvbGljaWVzL2QxN2VmZDBkLTE4NjUtNGVjOC1hYjUyLTNmMzlmNWU2OWJkMD9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "935d10ac-5850-4cc4-af81-43ecf5e91add" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "b118bbba-c0bd-4fac-87c3-c53b4f18bc7a" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14998" + ], + "x-ms-correlation-request-id": [ + "b2276130-666e-4070-bb7b-f39b689fbe97" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162740Z:b2276130-666e-4070-bb7b-f39b689fbe97" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:40 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674src?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NHNyYz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "223483fd-35cc-4701-bef8-7bff30541e21" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "7bc3aeb4-6445-4523-aa4a-e3cc97fac32c" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14997" + ], + "x-ms-correlation-request-id": [ + "12edba0d-5fea-492a-b7c7-c0e2b97c9602" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162744Z:12edba0d-5fea-492a-b7c7-c0e2b97c9602" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:44 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg5674/providers/Microsoft.Storage/storageAccounts/stopstestrg5674dest?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnNTY3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnNTY3NGRlc3Q/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "1f4ea72a-b784-4c9d-a3de-25131658adcb" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/15.1.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "c0da44f6-9888-4d00-b68d-881f48cfb6e9" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14996" + ], + "x-ms-correlation-request-id": [ + "96afc49e-bb2d-439e-bf95-b3b1e1ce7eaf" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162747Z:96afc49e-bb2d-439e-bf95-b3b1e1ce7eaf" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:46 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourcegroups/pstestrg5674?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlZ3JvdXBzL3BzdGVzdHJnNTY3ND9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "c5f42160-ecc5-4fd8-a979-1aeec1ad01d9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-request-id": [ + "0c6abbd8-5035-4924-902e-5d849739cea8" + ], + "x-ms-correlation-request-id": [ + "0c6abbd8-5035-4924-902e-5d849739cea8" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162752Z:0c6abbd8-5035-4924-902e-5d849739cea8" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:27:51 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSelUyTnpRdFYwVlRWRlZUSWl3aWFtOWlURzlqWVhScGIyNGlPaUozWlhOMGRYTWlmUT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-request-id": [ + "89458cbd-5b2f-4952-8690-88e4f39bde2f" + ], + "x-ms-correlation-request-id": [ + "89458cbd-5b2f-4952-8690-88e4f39bde2f" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162808Z:89458cbd-5b2f-4952-8690-88e4f39bde2f" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:28:07 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSelUyTnpRdFYwVlRWRlZUSWl3aWFtOWlURzlqWVhScGIyNGlPaUozWlhOMGRYTWlmUT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-request-id": [ + "a1fbc5c6-d821-408b-b894-3d2ae0b172f5" + ], + "x-ms-correlation-request-id": [ + "a1fbc5c6-d821-408b-b894-3d2ae0b172f5" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162823Z:a1fbc5c6-d821-408b-b894-3d2ae0b172f5" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:28:22 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSelUyTnpRdFYwVlRWRlZUSWl3aWFtOWlURzlqWVhScGIyNGlPaUozWlhOMGRYTWlmUT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-request-id": [ + "2182c825-dbb8-43fa-bc43-cb9f3837e441" + ], + "x-ms-correlation-request-id": [ + "2182c825-dbb8-43fa-bc43-cb9f3837e441" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162838Z:2182c825-dbb8-43fa-bc43-cb9f3837e441" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:28:38 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzU2NzQtV0VTVFVTIiwiam9iTG9jYXRpb24iOiJ3ZXN0dXMifQ?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSelUyTnpRdFYwVlRWRlZUSWl3aWFtOWlURzlqWVhScGIyNGlPaUozWlhOMGRYTWlmUT9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.11" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-request-id": [ + "9b66c544-460c-4f61-9a7a-f5d028c51b02" + ], + "x-ms-correlation-request-id": [ + "9b66c544-460c-4f61-9a7a-f5d028c51b02" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200416T162839Z:9b66c544-460c-4f61-9a7a-f5d028c51b02" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Thu, 16 Apr 2020 16:28:39 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + } + ], + "Names": { + "Test-StorageBlobORS": [ + "pstestrg5674" + ] + }, + "Variables": { + "SubscriptionId": "45b60d85-fd72-427a-a708-f994d26e593e" + } +} \ No newline at end of file diff --git a/src/Storage/Storage.Management/Az.Storage.psd1 b/src/Storage/Storage.Management/Az.Storage.psd1 index e2e8d151a530..51c9b370b8d9 100644 --- a/src/Storage/Storage.Management/Az.Storage.psd1 +++ b/src/Storage/Storage.Management/Az.Storage.psd1 @@ -169,7 +169,9 @@ CmdletsToExport = 'Get-AzStorageAccount', 'Get-AzStorageAccountKey', 'Disable-AzStorageBlobRestorePolicy', 'New-AzStorageBlobRangeToRestore', 'Restore-AzStorageBlobRange', 'New-AzStorageEncryptionScope', 'Update-AzStorageEncryptionScope', - 'Get-AzStorageEncryptionScope' + 'Get-AzStorageEncryptionScope', + 'New-AzStorageObjectReplicationPolicyRule', 'Set-AzStorageObjectReplicationPolicy', + 'Get-AzStorageObjectReplicationPolicy', 'Remove-AzStorageObjectReplicationPolicy' # Variables to export from this module # VariablesToExport = @() diff --git a/src/Storage/Storage.Management/Blob/UpdateAzureStorageBlobServiceProperties.cs b/src/Storage/Storage.Management/Blob/UpdateAzureStorageBlobServiceProperties.cs index bd41ec6045dc..cc950092e023 100644 --- a/src/Storage/Storage.Management/Blob/UpdateAzureStorageBlobServiceProperties.cs +++ b/src/Storage/Storage.Management/Blob/UpdateAzureStorageBlobServiceProperties.cs @@ -91,7 +91,7 @@ public bool EnableChangeFeed { get { - return enableChangeFeed is null? false : enableChangeFeed.Value; + return enableChangeFeed is null ? false : enableChangeFeed.Value; } set { @@ -100,6 +100,23 @@ public bool EnableChangeFeed } private bool? enableChangeFeed = null; + [Parameter( + Mandatory = false, + HelpMessage = "Gets or sets versioning is enabled if set to true.")] + [ValidateNotNullOrEmpty] + public bool IsVersioningEnabled + { + get + { + return isVersioningEnabled is null ? false : isVersioningEnabled.Value; + } + set + { + isVersioningEnabled = value; + } + } + private bool? isVersioningEnabled = null; + public override void ExecuteCmdlet() { base.ExecuteCmdlet(); @@ -133,6 +150,10 @@ public override void ExecuteCmdlet() serviceProperties.ChangeFeed = new ChangeFeed(); serviceProperties.ChangeFeed.Enabled = enableChangeFeed; } + if (isVersioningEnabled != null) + { + serviceProperties.IsVersioningEnabled = isVersioningEnabled; + } serviceProperties = this.StorageClient.BlobServices.SetServiceProperties(this.ResourceGroupName, this.StorageAccountName, serviceProperties); diff --git a/src/Storage/Storage.Management/ChangeLog.md b/src/Storage/Storage.Management/ChangeLog.md index 05f6864a49a9..29877b7a57b9 100644 --- a/src/Storage/Storage.Management/ChangeLog.md +++ b/src/Storage/Storage.Management/ChangeLog.md @@ -18,6 +18,13 @@ - Additional information about change #1 --> ## Upcoming Release +* Support enable/disable versioning on Blob Service of a Storage account + - `Update-AzStorageBlobServiceProperty` +* Support Set/Get/Remove Object Replication Policy on Storage accounts + - `New-AzStorageObjectReplicationPolicyRule` + - `Set-AzStorageObjectReplicationPolicy` + - `Get-AzStorageObjectReplicationPolicy` + - `Remove-AzStorageObjectReplicationPolicy` ## Version 1.14.1 * Supported create container and upload blob with Encryption Scope setting @@ -31,6 +38,9 @@ - `Get-AzStorageAccountNetworkRuleSet` * Fixed #11624: Skip duplicated rules when add NetworkRules, to avoid server failure - `Add-AzStorageAccountNetworkRule` +* Supported create container and upload blob with Encryption Scope setting + - `New-AzStorageContainer` + - `Set-AzStorageBlobContent` ## Version 1.14.0 * Added breaking change notice for Azure File cmdlets output change in a future release diff --git a/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs b/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs index e0b40b0d7dfe..6f6ab5ff86cd 100644 --- a/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs +++ b/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs @@ -44,6 +44,7 @@ public class PSBlobServiceProperties [Ps1Xml(Label = "RestorePolicy.LastEnabledTime", Target = ViewControl.Table, ScriptBlock = "$_.RestorePolicy.LastEnabledTime", Position = 7)] public PSRestorePolicy RestorePolicy { get; set; } public PSCorsRules Cors { get; set; } + public bool? IsVersioningEnabled { get; set; } public PSBlobServiceProperties() { } @@ -60,6 +61,7 @@ public PSBlobServiceProperties(BlobServiceProperties policy) this.DeleteRetentionPolicy = policy.DeleteRetentionPolicy is null ? null : new PSDeleteRetentionPolicy(policy.DeleteRetentionPolicy); this.RestorePolicy = policy.RestorePolicy is null ? null : new PSRestorePolicy(policy.RestorePolicy); this.ChangeFeed = policy.ChangeFeed is null ? null : new PSChangeFeed(policy.ChangeFeed); + this.IsVersioningEnabled = policy.IsVersioningEnabled; } public BlobServiceProperties ParseBlobServiceProperties() { @@ -69,7 +71,8 @@ public BlobServiceProperties ParseBlobServiceProperties() DefaultServiceVersion = this.DefaultServiceVersion, DeleteRetentionPolicy = this.DeleteRetentionPolicy is null ? null : this.DeleteRetentionPolicy.ParseDeleteRetentionPolicy(), RestorePolicy = this.RestorePolicy is null ? null : this.RestorePolicy.ParseRestorePolicy(), - ChangeFeed = this.ChangeFeed is null ? null : this.ChangeFeed.ParseChangeFeed() + ChangeFeed = this.ChangeFeed is null ? null : this.ChangeFeed.ParseChangeFeed(), + IsVersioningEnabled = this.IsVersioningEnabled }; } diff --git a/src/Storage/Storage.Management/Models/PSObjectReplicationPolicy.cs b/src/Storage/Storage.Management/Models/PSObjectReplicationPolicy.cs new file mode 100644 index 000000000000..36596fb5aa35 --- /dev/null +++ b/src/Storage/Storage.Management/Models/PSObjectReplicationPolicy.cs @@ -0,0 +1,195 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Storage.Models; +using Microsoft.WindowsAzure.Commands.Common.Attributes; +using System; +using System.Collections.Generic; + +namespace Microsoft.Azure.Commands.Management.Storage.Models +{ + /// + /// Wrapper of SDK type ObjectReplicationPolicy + /// + public class PSObjectReplicationPolicy + { + [Ps1Xml(Label = "ResourceGroupName", Target = ViewControl.Table, Position = 0)] + public string ResourceGroupName { get; } + [Ps1Xml(Label = "StorageAccountName", Target = ViewControl.Table, Position = 1)] + public string StorageAccountName { get; } + public string ResourceId { get; } + public string Name { get; } + public string Type { get; } + + [Ps1Xml(Label = "PolicyId", Target = ViewControl.Table, Position = 2)] + public string PolicyId { get; set; } + [Ps1Xml(Label = "EnabledTime", Target = ViewControl.Table, Position = 3)] + public DateTime? EnabledTime { get; } + [Ps1Xml(Label = "SourceAccount", Target = ViewControl.Table, Position = 4)] + public string SourceAccount { get; set; } + [Ps1Xml(Label = "DestinationAccount", Target = ViewControl.Table, Position = 5)] + public string DestinationAccount { get; set; } + [Ps1Xml(Label = "Rules", Target = ViewControl.Table, ScriptBlock = "if (($_.Rules -ne $null) -and ($_.Rules.Count -ne 0)) {'[' + $_.Rules[0].RuleId + ',...]'} else {$null}", Position = 6)] + public PSObjectReplicationPolicyRule[] Rules { get; set; } + + public PSObjectReplicationPolicy() + { } + + public PSObjectReplicationPolicy(ObjectReplicationPolicy policy, string ResourceGroupName, string StorageAccountName) + { + this.ResourceGroupName = ResourceGroupName; + this.StorageAccountName = StorageAccountName; + this.ResourceId = policy.Id; + this.Name = policy.Name; + this.Type = policy.Type; + this.PolicyId = policy.PolicyId; + this.EnabledTime = policy.EnabledTime; + this.SourceAccount = policy.SourceAccount; + this.DestinationAccount = policy.DestinationAccount; + this.Rules = PSObjectReplicationPolicyRule.GetPSObjectReplicationPolicyRules(policy.Rules); + } + + public ObjectReplicationPolicy ParseObjectReplicationPolicy() + { + ObjectReplicationPolicy policy = new ObjectReplicationPolicy() + { + SourceAccount = this.SourceAccount, + DestinationAccount = this.DestinationAccount, + Rules = PSObjectReplicationPolicyRule.ParseObjectReplicationPolicyRules(this.Rules) + }; + return policy; + } + + public static PSObjectReplicationPolicy[] GetPSObjectReplicationPolicies(IEnumerable policies, string ResourceGroupName, string StorageAccountName) + { + if (policies == null) + { + return null; + } + List pspolicies = new List(); + foreach (ObjectReplicationPolicy policy in policies) + { + pspolicies.Add(new PSObjectReplicationPolicy(policy, ResourceGroupName, StorageAccountName)); + } + return pspolicies.ToArray(); + } + } + + /// + /// Wrapper of SDK type ObjectReplicationPolicyRule + /// + public class PSObjectReplicationPolicyRule + { + [Ps1Xml(Label = "RuleId", Target = ViewControl.Table, Position = 0)] + public string RuleId { get; set; } + [Ps1Xml(Label = "SourceContainer", Target = ViewControl.Table, Position = 1)] + public string SourceContainer { get; set; } + [Ps1Xml(Label = "DestinationContainer", Target = ViewControl.Table, Position = 2)] + public string DestinationContainer { get; set; } + [Ps1Xml(Label = "Filter.PrefixMatch", Target = ViewControl.Table, ScriptBlock = "if (($_.Filter -ne $null) -and ($_.Filter.PrefixMatch -ne $null) -and ($_.Filter.PrefixMatch.Count -ne 0)) {'[' + ($_.Filter.PrefixMatch -join ', ') + ']'} else {$null}", Position = 3)] + public PSObjectReplicationPolicyFilter Filters { get; set; } + + public PSObjectReplicationPolicyRule() + { + } + + public PSObjectReplicationPolicyRule(ObjectReplicationPolicyRule rule) + { + this.RuleId = rule.RuleId; + this.SourceContainer = rule.SourceContainer; + this.DestinationContainer = rule.DestinationContainer; + this.Filters = rule.Filters is null ? null : new PSObjectReplicationPolicyFilter(rule.Filters); + } + + public ObjectReplicationPolicyRule ParseObjectReplicationPolicyRule() + { + ObjectReplicationPolicyRule rule = new ObjectReplicationPolicyRule(); + rule.RuleId = this.RuleId; + rule.SourceContainer = this.SourceContainer; + rule.DestinationContainer = this.DestinationContainer; + rule.Filters = this.Filters is null ? null : this.Filters.ParseObjectReplicationPolicyFilter(); + return rule; + } + + public static PSObjectReplicationPolicyRule[] GetPSObjectReplicationPolicyRules(IList rules) + { + if (rules == null) + { + return null; + } + List psrules = new List(); + foreach (ObjectReplicationPolicyRule rule in rules) + { + psrules.Add(new PSObjectReplicationPolicyRule(rule)); + } + return psrules.ToArray(); + } + + public static List ParseObjectReplicationPolicyRules(PSObjectReplicationPolicyRule[] psrules) + { + if (psrules == null) + { + return null; + } + List rules = new List(); + foreach (PSObjectReplicationPolicyRule psrule in psrules) + { + rules.Add(psrule.ParseObjectReplicationPolicyRule()); + } + return rules; + } + } + + /// + /// Wrapper of SDK type ObjectReplicationPolicyFilter + /// + public class PSObjectReplicationPolicyFilter + { + public string[] PrefixMatch { get; set; } + public DateTime? MinCreationTime; + + public PSObjectReplicationPolicyFilter() + { + } + + public PSObjectReplicationPolicyFilter(ObjectReplicationPolicyFilter filter) + { + if (filter != null) + { + this.PrefixMatch = filter.PrefixMatch is null ? null : new List(filter.PrefixMatch).ToArray(); + if (string.IsNullOrEmpty(filter.MinCreationTime)) + { + this.MinCreationTime = null; + } + else + { + if (filter.MinCreationTime.ToUpper()[filter.MinCreationTime.Length - 1] != 'Z') + { + filter.MinCreationTime = filter.MinCreationTime + "Z"; + } + this.MinCreationTime = Convert.ToDateTime(filter.MinCreationTime); + } + } + } + public ObjectReplicationPolicyFilter ParseObjectReplicationPolicyFilter() + { + return new ObjectReplicationPolicyFilter() + { + PrefixMatch = this.PrefixMatch is null ? null : new List(this.PrefixMatch), + //must be in format: 2020-02-19T16:05:00Z + MinCreationTime = this.MinCreationTime is null ? null : this.MinCreationTime.Value.ToUniversalTime().ToString("s") + "Z" + }; + } + } +} diff --git a/src/Storage/Storage.Management/Storage.Management.format.ps1xml b/src/Storage/Storage.Management/Storage.Management.format.ps1xml index 84ce64ae569c..a8e62cf3c4e3 100644 --- a/src/Storage/Storage.Management/Storage.Management.format.ps1xml +++ b/src/Storage/Storage.Management/Storage.Management.format.ps1xml @@ -278,52 +278,98 @@ - Microsoft.Azure.Commands.Management.Storage.Models.PSBlobServiceProperties - - Microsoft.Azure.Commands.Management.Storage.Models.PSBlobServiceProperties - + Microsoft.Azure.Commands.Management.Storage.Models.PSBlobServiceProperties + + Microsoft.Azure.Commands.Management.Storage.Models.PSBlobServiceProperties + + + + + + + StorageAccountName + + + + ResourceGroupName + + + + DefaultServiceVersion + + + + + $_.DeleteRetentionPolicy.Enabled + + + + $_.DeleteRetentionPolicy.Days + + + + $_.RestorePolicy.Enabled + + + + $_.RestorePolicy.Days + + + + $_.RestorePolicy.LastEnabledTime + + + + $_.ChangeFeed.Enabled + + + IsVersioningEnabled + + + + + + + + + Microsoft.Azure.Commands.Management.Storage.Models.PSShare + + Microsoft.Azure.Commands.Management.Storage.Models.PSShare + Left - - - - Left - - - - Left - - - - Left - + Left - + Left - + Left - + Left - + Left - + + + Left + Name + Left StorageAccountName @@ -334,23 +380,67 @@ Left - DefaultServiceVersion + Etag Left - $_.DeleteRetentionPolicy.Enabled + QuotaGiB Left - $_.DeleteRetentionPolicy.Days + $_.LastModifiedTime.ToString("u") + + + + + + + + Microsoft.Azure.Commands.Management.Storage.Models.PSBlobRestoreStatus + + Microsoft.Azure.Commands.Management.Storage.Models.PSBlobRestoreStatus + + + + + Left + + + + Left + + + + Left + + + + Left + + + + Left + + + + Left + + + + + + + + Left + Status Left - $_.RestorePolicy.Enabled + RestoreId Left - $_.RestorePolicy.Days + FailureReason Left @@ -358,7 +448,11 @@ Left - $_.ChangeFeed.Enabled + $_.Parameters.TimeToRestore.ToString("o") + + + Left + if ($_.Parameters.BlobRanges[0] -ne $null) {if ($_.Parameters.BlobRanges[1] -ne $null) {'[' + $_.Parameters.BlobRanges[0].StartRange + ' -> ' + $_.Parameters.BlobRanges[0].EndRange + ',...]'} else {'[' + $_.Parameters.BlobRanges[0].StartRange + ' -> ' + $_.Parameters.BlobRanges[0].EndRange + ']'}} else {$null} @@ -366,15 +460,15 @@ - Microsoft.Azure.Commands.Management.Storage.Models.PSShare + Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy - Microsoft.Azure.Commands.Management.Storage.Models.PSShare + Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy Left - + Left @@ -382,19 +476,23 @@ Left - + Left - + Left - + Left - + + + + Left + @@ -402,7 +500,7 @@ Left - Name + ResourceGroupName Left @@ -410,19 +508,23 @@ Left - ResourceGroupName + PolicyId Left - Etag + EnabledTime Left - QuotaGiB + SourceAccount Left - $_.LastModifiedTime.ToString("u") + DestinationAccount + + + Left + if (($_.Rules -ne $null) -and ($_.Rules.Count -ne 0)) { if ($_.Rules.Count -eq 1) {'[' + $_.Rules[0].RuleId + ']'} else {'[' + $_.Rules[0].RuleId + ',...]'}} else {$null} @@ -430,31 +532,31 @@ - Microsoft.Azure.Commands.Management.Storage.Models.PSBlobRestoreStatus + Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicyRule - Microsoft.Azure.Commands.Management.Storage.Models.PSBlobRestoreStatus + Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicyRule Left - + Left - + Left - + Left - + Left - + @@ -462,23 +564,23 @@ Left - Status + RuleId Left - RestoreId + SourceContainer Left - FailureReason + DestinationContainer Left - $_.Parameters.TimeToRestore.ToString("o") + '{' + ($_.Filters.PrefixMatch -join ', ') + '}' Left - if ($_.Parameters.BlobRanges[0] -ne $null) {if ($_.Parameters.BlobRanges[1] -ne $null) {'[' + $_.Parameters.BlobRanges[0].StartRange + ' -> ' + $_.Parameters.BlobRanges[0].EndRange + ',...]'} else {'[' + $_.Parameters.BlobRanges[0].StartRange + ' -> ' + $_.Parameters.BlobRanges[0].EndRange + ']'}} else {$null} + $_.Filters.MinCreationTime.ToUniversalTime().ToString("s")+"Z" diff --git a/src/Storage/Storage.Management/StorageAccount/GetAzStorageObjectReplicationPolicy.cs b/src/Storage/Storage.Management/StorageAccount/GetAzStorageObjectReplicationPolicy.cs new file mode 100644 index 000000000000..6d5471450730 --- /dev/null +++ b/src/Storage/Storage.Management/StorageAccount/GetAzStorageObjectReplicationPolicy.cs @@ -0,0 +1,121 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Management.Storage.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; +using Microsoft.Azure.Management.Storage; +using Microsoft.Azure.Management.Storage.Models; +using System.Collections.Generic; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Management.Storage +{ + [Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "StorageObjectReplicationPolicy", DefaultParameterSetName = AccountNameParameterSet), OutputType(typeof(PSObjectReplicationPolicy))] + public class GetAzureStorageAccountObjectReplicationPolicyCommand : StorageAccountBaseCmdlet + { + /// + /// AccountName Parameter Set + /// + private const string AccountNameParameterSet = "AccountName"; + + /// + /// Account object parameter set + /// + private const string AccountObjectParameterSet = "AccountObject"; + + ///// + ///// Account ResourceId parameter set + ///// + //private const string ResourceIdParameterSet = "ResourceId"; + + [Parameter( + Position = 0, + Mandatory = true, + HelpMessage = "Resource Group Name.", + ParameterSetName = AccountNameParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Position = 1, + Mandatory = true, + HelpMessage = "Storage Account Name.", + ParameterSetName = AccountNameParameterSet)] + [ResourceNameCompleter("Microsoft.Storage/storageAccounts", nameof(ResourceGroupName))] + [Alias(AccountNameAlias)] + [ValidateNotNullOrEmpty] + public string StorageAccountName { get; set; } + + //[Parameter( + // Position = 0, + // Mandatory = true, + // ValueFromPipelineByPropertyName = true, + // HelpMessage = "Object Replication Policy Id.", + // ParameterSetName = ResourceIdParameterSet)] + //[ValidateNotNullOrEmpty] + //public string ResourceId { get; set; } + + [Parameter(Mandatory = true, + HelpMessage = "Storage account object", + ValueFromPipeline = true, + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSStorageAccount StorageAccount { get; set; } + + [Parameter( + Mandatory = false, + HelpMessage = "Object Replication Policy Id.")] + [ValidateNotNullOrEmpty] + public string PolicyId { get; set; } + + public override void ExecuteCmdlet() + { + base.ExecuteCmdlet(); + + switch (ParameterSetName) + { + case AccountObjectParameterSet: + this.ResourceGroupName = StorageAccount.ResourceGroupName; + this.StorageAccountName = StorageAccount.StorageAccountName; + break; + //case ResourceIdParameterSet: + // ResourceIdentifier accountResource = new ResourceIdentifier(ResourceId); + // this.ResourceGroupName = accountResource.ResourceGroupName; + // this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId); + // break; + default: + // For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly + break; + } + if (!string.IsNullOrEmpty(PolicyId)) + { + ObjectReplicationPolicy policy = this.StorageClient.ObjectReplicationPolicies.Get( + this.ResourceGroupName, + this.StorageAccountName, + PolicyId); + + WriteObject(new PSObjectReplicationPolicy(policy, this.ResourceGroupName, this.StorageAccountName)); + } + else + { + IEnumerable policies = this.StorageClient.ObjectReplicationPolicies.List( + this.ResourceGroupName, + this.StorageAccountName); + WriteObject(PSObjectReplicationPolicy.GetPSObjectReplicationPolicies(policies, this.ResourceGroupName, this.StorageAccountName), true); + } + } + } +} diff --git a/src/Storage/Storage.Management/StorageAccount/NewAzStorageObjectReplicationPolicyRule.cs b/src/Storage/Storage.Management/StorageAccount/NewAzStorageObjectReplicationPolicyRule.cs new file mode 100644 index 000000000000..a15caa8a8cf1 --- /dev/null +++ b/src/Storage/Storage.Management/StorageAccount/NewAzStorageObjectReplicationPolicyRule.cs @@ -0,0 +1,106 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Management.Storage.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Microsoft.Azure.Management.Storage; +using Microsoft.Azure.Management.Storage.Models; +using System; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Management.Storage +{ + [Cmdlet("New", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "StorageObjectReplicationPolicyRule"), OutputType(typeof(PSObjectReplicationPolicyRule))] + public class NewAzureStorageAccountObjectReplicationPolicyRuleCommand : StorageAccountBaseCmdlet + { + [Parameter( + Mandatory = true, + HelpMessage = "The Source Container name to replicate from.")] + [ValidateNotNullOrEmpty] + public string SourceContainer { get; set; } + + [Parameter( + Mandatory = true, + HelpMessage = "The Destination Container name to replicate to.")] + [ValidateNotNullOrEmpty] + public string DestinationContainer { get; set; } + + [Parameter(Mandatory = false, + HelpMessage = "Filters the results to replicate only blobs whose names begin with the specified prefix.")] + [ValidateNotNullOrEmpty] + public string[] PrefixMatch { get; set; } + + [Parameter(Mandatory = false, HelpMessage = "Blobs created after the time will be replicated to the destination..")] + [ValidateNotNull] + public DateTime MinCreationTime + { + get + { + return minCreationTime is null ? DateTime.MinValue : minCreationTime.Value; + } + set + { + minCreationTime = value; + } + } + private DateTime? minCreationTime; + + [Parameter(Mandatory = false, + HelpMessage = "Object Replication Rule Id.")] + //[ValidatePattern("(\\{|\\()?[A-Za-z0-9]{4}([A-Za-z0-9]{4}\\-?){4}[A-Za-z0-9]{12}(\\}|\\()?|default")] + public string RuleId { get; set; } + //{ + // get + // { + // return ruleId; + // } + // set + // { + // ruleId = value; + // } + //} + //private string ruleId = "default"; + + //[Parameter(Mandatory = false, + // HelpMessage = "Filters the results to replicate blobs with the tag.")] + //[ValidateNotNullOrEmpty] + //public string[] Tag { get; set; } + + public override void ExecuteCmdlet() + { + base.ExecuteCmdlet(); + + string[] blobType = new string[] { AzureBlobType.BlockBlob }; + PSObjectReplicationPolicyRule rule = new PSObjectReplicationPolicyRule() + { + RuleId = this.RuleId, + SourceContainer = this.SourceContainer, + DestinationContainer = this.DestinationContainer + }; + + //if (this.PrefixMatch != null || this.Tag != null) + if (this.PrefixMatch != null || minCreationTime != null) + { + rule.Filters = new PSObjectReplicationPolicyFilter() + { + PrefixMatch = this.PrefixMatch, + MinCreationTime = this.minCreationTime, + //Tag = this.Tag + }; + } + + WriteObject(rule); + } + } +} diff --git a/src/Storage/Storage.Management/StorageAccount/RemoveAzStorageObjectReplicationPolicy.cs b/src/Storage/Storage.Management/StorageAccount/RemoveAzStorageObjectReplicationPolicy.cs new file mode 100644 index 000000000000..8d7f06d42a5e --- /dev/null +++ b/src/Storage/Storage.Management/StorageAccount/RemoveAzStorageObjectReplicationPolicy.cs @@ -0,0 +1,143 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Management.Storage.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; +using Microsoft.Azure.Management.Storage; +using Microsoft.Azure.Management.Storage.Models; +using System.Collections.Generic; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Management.Storage +{ + [Cmdlet("Remove", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "StorageObjectReplicationPolicy", SupportsShouldProcess = true, DefaultParameterSetName = AccountNameParameterSet), OutputType(typeof(bool))] + public class RemoveAzureStorageAccountObjectReplicationPolicyCommand : StorageAccountBaseCmdlet + { + /// + /// AccountName Parameter Set + /// + private const string AccountNameParameterSet = "AccountName"; + + /// + /// Account object parameter set + /// + private const string AccountObjectParameterSet = "AccountObject"; + + /// + /// ManagementPolicy object parameter set + /// + private const string PolicyObjectParameterSet = "PolicyObject"; + + ///// + ///// Account ResourceId parameter set + ///// + //private const string ResourceIdParameterSet = "ResourceId"; + + [Parameter( + Position = 0, + Mandatory = true, + HelpMessage = "Resource Group Name.", + ParameterSetName = AccountNameParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Position = 1, + Mandatory = true, + HelpMessage = "Storage Account Name.", + ParameterSetName = AccountNameParameterSet)] + [ResourceNameCompleter("Microsoft.Storage/storageAccounts", nameof(ResourceGroupName))] + [Alias(AccountNameAlias)] + [ValidateNotNullOrEmpty] + public string StorageAccountName { get; set; } + + //[Parameter( + // Position = 0, + // Mandatory = true, + // ValueFromPipelineByPropertyName = true, + // HelpMessage = "Object Replication Policy Id.", + // ParameterSetName = ResourceIdParameterSet)] + //[ValidateNotNullOrEmpty] + //public string ResourceId { get; set; } + + [Parameter(Mandatory = true, + HelpMessage = "Storage account object", + ValueFromPipeline = true, + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSStorageAccount StorageAccount { get; set; } + + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy Id.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy Id.", + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public string PolicyId { get; set; } + + [Parameter(Mandatory = true, + HelpMessage = "Object Replication Policy object to Delete.", + ValueFromPipeline = true, + ParameterSetName = PolicyObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSObjectReplicationPolicy InputObject { get; set; } + + [Parameter(Mandatory = false)] + public SwitchParameter PassThru { get; set; } + + public override void ExecuteCmdlet() + { + base.ExecuteCmdlet(); + + if (ShouldProcess(this.StorageAccountName, "Remove Storage Account Object Replication Policy")) + { + switch (ParameterSetName) + { + case AccountObjectParameterSet: + this.ResourceGroupName = StorageAccount.ResourceGroupName; + this.StorageAccountName = StorageAccount.StorageAccountName; + break; + case PolicyObjectParameterSet: + this.ResourceGroupName = InputObject.ResourceGroupName; + this.StorageAccountName = InputObject.StorageAccountName; + this.PolicyId = InputObject.PolicyId; + break; + //case ResourceIdParameterSet: + // ResourceIdentifier accountResource = new ResourceIdentifier(ResourceId); + // this.ResourceGroupName = accountResource.ResourceGroupName; + // this.StorageAccountName = PSBlobServiceProperties.GetStorageAccountNameFromResourceId(ResourceId); + // break; + default: + // For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly + break; + } + + this.StorageClient.ObjectReplicationPolicies.Delete( + this.ResourceGroupName, + this.StorageAccountName, + PolicyId); + + if (PassThru.IsPresent) + { + WriteObject(true); + } + } + } + } +} diff --git a/src/Storage/Storage.Management/StorageAccount/SetAzStorageObjectReplicationPolicy.cs b/src/Storage/Storage.Management/StorageAccount/SetAzStorageObjectReplicationPolicy.cs new file mode 100644 index 000000000000..b62adce3f43f --- /dev/null +++ b/src/Storage/Storage.Management/StorageAccount/SetAzStorageObjectReplicationPolicy.cs @@ -0,0 +1,199 @@ +// ---------------------------------------------------------------------------------- +// +// 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.Management.Storage.Models; +using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; +using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; +using Microsoft.Azure.Management.Storage; +using Microsoft.Azure.Management.Storage.Models; +using System.Collections.Generic; +using System.Management.Automation; + +namespace Microsoft.Azure.Commands.Management.Storage +{ + [Cmdlet("Set", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "StorageObjectReplicationPolicy", SupportsShouldProcess = true, DefaultParameterSetName = AccountNameParameterSet), OutputType(typeof(PSObjectReplicationPolicy))] + public class RSetAzureStorageAccountObjectReplicationPolicyCommand : StorageAccountBaseCmdlet + { + /// + /// AccountName Parameter Set + /// + private const string AccountNameParameterSet = "AccountName"; + + /// + /// Account object parameter set + /// + private const string AccountObjectParameterSet = "AccountObject"; + + /// + /// ManagementPolicy object parameter set + /// + private const string PolicyObjectParameterSet = "PolicyObject"; + + ///// + ///// Account ResourceId parameter set + ///// + //private const string ResourceIdParameterSet = "ResourceId"; + + [Parameter( + Position = 0, + Mandatory = true, + HelpMessage = "Resource Group Name.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Position = 0, + Mandatory = true, + HelpMessage = "Resource Group Name.", + ParameterSetName = PolicyObjectParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + [Parameter( + Position = 1, + Mandatory = true, + HelpMessage = "Storage Account Name.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Position = 1, + Mandatory = true, + HelpMessage = "Storage Account Name.", + ParameterSetName = PolicyObjectParameterSet)] + [ResourceNameCompleter("Microsoft.Storage/storageAccounts", nameof(ResourceGroupName))] + [Alias(AccountNameAlias)] + [ValidateNotNullOrEmpty] + public string StorageAccountName { get; set; } + + //[Parameter( + // Position = 0, + // Mandatory = true, + // ValueFromPipelineByPropertyName = true, + // HelpMessage = "Object Replication Policy Id.", + // ParameterSetName = ResourceIdParameterSet)] + //[ValidateNotNullOrEmpty] + //public string ResourceId { get; set; } + + [Parameter(Mandatory = true, + HelpMessage = "Storage account object", + ValueFromPipeline = true, + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSStorageAccount StorageAccount { get; set; } + + [Parameter(Mandatory = true, + HelpMessage = "Object Replication Policy Object to Set to the specified Account.", + ValueFromPipeline = true, + ParameterSetName = PolicyObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSObjectReplicationPolicy InputObject{ get; set; } + + [Parameter( + Mandatory = false, + HelpMessage = "Object Replication Policy Id. It should be a GUID or 'default'. If not input the PolicyId, will use 'default', which means to create a new policy and the Id of the new policy will be returned in the created policy.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Mandatory = false, + HelpMessage = "Object Replication Policy Id. It should be a GUID or 'default'. If not input the PolicyId, will use 'default', which means to create a new policy and the Id of the new policy will be returned in the created policy.", + ParameterSetName = AccountObjectParameterSet)] + [ValidatePattern("(\\{|\\()?[A-Za-z0-9]{4}([A-Za-z0-9]{4}\\-?){4}[A-Za-z0-9]{12}(\\}|\\()?|default")] + public string PolicyId + { + get + { + return policyId; + } + set + { + policyId = value; + } + } + private string policyId = "default"; + + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy SourceAccount.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy SourceAccount.", + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public string SourceAccount { get; set; } + + [Parameter( + Mandatory = false, + HelpMessage = "Object Replication Policy DestinationAccount. Default value will be the input StorageAccountName.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Mandatory = false, + HelpMessage = "Object Replication Policy DestinationAccount. Default value will be the account name of the input account object.", + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public string DestinationAccount { get; set; } + + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy Rules.", + ParameterSetName = AccountNameParameterSet)] + [Parameter( + Mandatory = true, + HelpMessage = "Object Replication Policy Rules.", + ParameterSetName = AccountObjectParameterSet)] + [ValidateNotNullOrEmpty] + public PSObjectReplicationPolicyRule[] Rule { get; set; } + + public override void ExecuteCmdlet() + { + base.ExecuteCmdlet(); + + if (ShouldProcess(this.StorageAccountName, "Set Storage Account Object Replication Policy")) + { + ObjectReplicationPolicy policyToSet = null; + switch (ParameterSetName) + { + case AccountObjectParameterSet: + this.ResourceGroupName = StorageAccount.ResourceGroupName; + this.StorageAccountName = StorageAccount.StorageAccountName; + break; + case PolicyObjectParameterSet: + this.PolicyId = InputObject.PolicyId; + policyToSet = InputObject.ParseObjectReplicationPolicy(); + break; + default: + // For AccountNameParameterSet, the ResourceGroupName and StorageAccountName can get from input directly + break; + } + + // Build the policy object to set from the input policy properties + if (ParameterSetName != PolicyObjectParameterSet) + { + policyToSet = new ObjectReplicationPolicy() + { + SourceAccount = this.SourceAccount, + // If not specify the destination account, will set destination account to the account which the policy will be set to + DestinationAccount = string.IsNullOrWhiteSpace(this.DestinationAccount) ? this.StorageAccountName : this.DestinationAccount, + Rules = PSObjectReplicationPolicyRule.ParseObjectReplicationPolicyRules(this.Rule) + }; + } + + ObjectReplicationPolicy policy = this.StorageClient.ObjectReplicationPolicies.CreateOrUpdate( + this.ResourceGroupName, + this.StorageAccountName, + PolicyId, + policyToSet); + + WriteObject(new PSObjectReplicationPolicy(policy, this.ResourceGroupName, this.StorageAccountName)); + } + } + } +} diff --git a/src/Storage/Storage.Management/help/Az.Storage.md b/src/Storage/Storage.Management/help/Az.Storage.md index ab37ff80ae32..45267cd1795d 100644 --- a/src/Storage/Storage.Management/help/Az.Storage.md +++ b/src/Storage/Storage.Management/help/Az.Storage.md @@ -116,6 +116,9 @@ Gets the state of a copy operation. ### [Get-AzStorageFileHandle](Get-AzStorageFileHandle.md) Lists file handles of a file share, a file directory or a file. +### [Get-AzStorageObjectReplicationPolicy](Get-AzStorageObjectReplicationPolicy.md) +Gets or lists object replication policy of a Storage account. + ### [Get-AzStorageQueue](Get-AzStorageQueue.md) Lists storage queues. @@ -206,6 +209,9 @@ Creates an encryption scope for a Storage account. ### [New-AzStorageFileSASToken](New-AzStorageFileSASToken.md) Generates a shared access signature token for a Storage file. +### [New-AzStorageObjectReplicationPolicyRule](New-AzStorageObjectReplicationPolicyRule.md) +Creates an object replication policy rule. + ### [New-AzStorageQueue](New-AzStorageQueue.md) Creates a storage queue. @@ -275,6 +281,9 @@ Deletes a directory. ### [Remove-AzStorageFile](Remove-AzStorageFile.md) Deletes a file. +### [Remove-AzStorageObjectReplicationPolicy](Remove-AzStorageObjectReplicationPolicy.md) +Removes the specified object replication policy from a Storage account. + ### [Remove-AzStorageQueue](Remove-AzStorageQueue.md) Removes a storage queue. @@ -329,6 +338,9 @@ Sets the CORS rules for a type of Storage service. ### [Set-AzStorageFileContent](Set-AzStorageFileContent.md) Uploads the contents of a file. +### [Set-AzStorageObjectReplicationPolicy](Set-AzStorageObjectReplicationPolicy.md) +Creates or updates the specified object replication policy in a Storage account. + ### [Set-AzStorageQueueStoredAccessPolicy](Set-AzStorageQueueStoredAccessPolicy.md) Sets a stored access policy for an Azure storage queue. diff --git a/src/Storage/Storage.Management/help/Get-AzStorageBlobServiceProperty.md b/src/Storage/Storage.Management/help/Get-AzStorageBlobServiceProperty.md index 2893531f0a53..43047d269b5c 100644 --- a/src/Storage/Storage.Management/help/Get-AzStorageBlobServiceProperty.md +++ b/src/Storage/Storage.Management/help/Get-AzStorageBlobServiceProperty.md @@ -39,9 +39,15 @@ The **Get-AzStorageBlobServiceProperty** cmdlet gets the service properties for ```powershell PS C:\> Get-AzStorageBlobServiceProperty -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -StorageAccountName ResourceGroupName DefaultServiceVersion DeleteRetentionPolicy.Enabled DeleteRetentionPolicy.Days ChangeFeed.Enabled ------------------- ----------------- --------------------- ----------------------------- -------------------------- ------------------ -myresourcegroup mystorageaccount 2018-03-28 False False +StorageAccountName : mystorageaccount +ResourceGroupName : myresourcegroup +DefaultServiceVersion : +DeleteRetentionPolicy.Enabled : False +DeleteRetentionPolicy.Days : +RestorePolicy.Enabled : +RestorePolicy.Days : +ChangeFeed : True +IsVersioningEnabled : True ``` This command gets the Blob services property of a specified Storage Account. diff --git a/src/Storage/Storage.Management/help/Get-AzStorageObjectReplicationPolicy.md b/src/Storage/Storage.Management/help/Get-AzStorageObjectReplicationPolicy.md new file mode 100644 index 000000000000..f026b9f40e77 --- /dev/null +++ b/src/Storage/Storage.Management/help/Get-AzStorageObjectReplicationPolicy.md @@ -0,0 +1,156 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll-Help.xml +Module Name: Az.Storage +online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/get-azstorageobjectreplicationpolicy +schema: 2.0.0 +--- + +# Get-AzStorageObjectReplicationPolicy + +## SYNOPSIS +Gets or lists object replication policy of a Storage account. + +## SYNTAX + +### AccountName (Default) +``` +Get-AzStorageObjectReplicationPolicy [-ResourceGroupName] [-StorageAccountName] + [-PolicyId ] [-DefaultProfile ] [] +``` + +### AccountObject +``` +Get-AzStorageObjectReplicationPolicy -StorageAccount [-PolicyId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +The **Get-AzStorageObjectReplicationPolicy** cmdlet gets or lists object replication policy of a Storage account. + +## EXAMPLES + +### Example 1: Get an object replication policy with specific policy Id and show its rules. +``` +PS C:\> $policy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName "myresourcegroup" -AccountName "mydestaccount" -PolicyId 56bfa11c-81ef-4f8d-b307-5e5386e16fba + +PS C:\> $policy + +ResourceGroupName StorageAccountName PolicyId EnabledTime SourceAccount DestinationAccount Rules +----------------- ------------------ -------- ----------- ------------- ------------------ ----- +myresourcegroup mydestaccount 56bfa11c-81ef-4f8d-b307-5e5386e16fba mysourceaccount mydestaccount [5fa8b1d6-4985-4abd-a0b3-ec4d07295a43,...] + +PS C:\> $policy.Rules + +RuleId SourceContainer DestinationContainer Filters.PrefixMatch Filters.MinCreationTime +------ --------------- -------------------- ------------------- ----------------------- +d3d39a01-8d92-40e5-849f-e56209ae5cf5 src1 dest1 {} +2407de9a-3301-4656-858f-359d185565e0 src dest {a, abc, dd} 2019-01-01T16:00:00Z +``` + +This command gets an object replication policy with specific policy Id and show its rules. + +### Example 2:List object replication policy from a Storage account +``` +PS C:\> $policies = Get-AzStorageObjectReplicationPolicy -ResourceGroupName "myresourcegroup" -AccountName "mydestaccount" + +PS C:\> $policies + +ResourceGroupName StorageAccountName PolicyId EnabledTime SourceAccount DestinationAccount Rules +----------------- ------------------ -------- ----------- ------------- ------------------ ----- +myresourcegroup mydestaccount 56bfa11c-81ef-4f8d-b307-5e5386e16fba mysrcaccount1 mydestaccount [5fa8b1d6-4985-4abd-a0b3-ec4d07295a43,...] +myresourcegroup mydestaccount 68434c7a-20d0-4282-b75c-43b5a243435e mysrcaccount2 mydestaccount [d3d39a01-8d92-40e5-849f-e56209ae5cf5,...] +``` + +This command lists object replication policy from a Storage account. + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer +Parameter Sets: (All) +Aliases: AzContext, AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PolicyId +Object Replication Policy Id. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +Resource Group Name. + +```yaml +Type: System.String +Parameter Sets: AccountName +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -StorageAccount +Storage account object + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount +Parameter Sets: AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -StorageAccountName +Storage Account Name. + +```yaml +Type: System.String +Parameter Sets: AccountName +Aliases: AccountName + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount + +## OUTPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy + +## NOTES + +## RELATED LINKS diff --git a/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md b/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md new file mode 100644 index 000000000000..ae2560eea2d0 --- /dev/null +++ b/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md @@ -0,0 +1,157 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll-Help.xml +Module Name: Az.Storage +online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/New-azstorageobjectreplicationpolicy +schema: 2.0.0 +--- + +# New-AzStorageObjectReplicationPolicyRule + +## SYNOPSIS +Creates an object replication policy rule. + +## SYNTAX + +``` +New-AzStorageObjectReplicationPolicyRule -SourceContainer -DestinationContainer + [-PrefixMatch ] [-MinCreationTime ] [-RuleId ] + [-DefaultProfile ] [] +``` + +## DESCRIPTION +The **Get-AzStorageObjectReplicationPolicy** cmdlet creates an object replication policy rule, which will be used in Set-AzStorageObjectReplicationPolicy cmdlet. + +## EXAMPLES + +### Example 1: Create an object replication policy rule with only source and destination account, and show its properties +``` +PS C:\> $rule1 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src1 -DestinationContainer dest1 + +PS C:\> $rule1 + +RuleId SourceContainer DestinationContainer Filters.PrefixMatch Filters.MinCreationTime +------ --------------- -------------------- ------------------- ----------------------- + src1 dest1 {} +``` + +This command creates an object replication policy rule with only source and destination account, and show its properties. + +### Example 2: Create an object replication policy rule with all properties, and show its properties +``` +PS C:\> $rule2 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src -DestinationContainer dest -MinCreationTime 2019-01-01T16:00:00Z -PrefixMatch a,abc,dd + +PS C:\> $rule2 + +RuleId SourceContainer DestinationContainer Filters.PrefixMatch Filters.MinCreationTime +------ --------------- -------------------- ------------------- ----------------------- + src dest {a, abc, dd} 2019-01-01T16:00:00Z +``` + +This command an object replication policy rule with all properties, and show its properties. + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer +Parameter Sets: (All) +Aliases: AzContext, AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationContainer +The Destination Container name to replicate to. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -MinCreationTime +Blobs created after the time will be replicated to the destination.. + +```yaml +Type: System.DateTime +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PrefixMatch +Filters the results to replicate only blobs whose names begin with the specified prefix. + +```yaml +Type: System.String[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -RuleId +Object Replication Rule Id. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SourceContainer +The Source Container name to replicate from. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### None + +## OUTPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicyRule + +## NOTES + +## RELATED LINKS diff --git a/src/Storage/Storage.Management/help/Remove-AzStorageObjectReplicationPolicy.md b/src/Storage/Storage.Management/help/Remove-AzStorageObjectReplicationPolicy.md new file mode 100644 index 000000000000..eecfd7083984 --- /dev/null +++ b/src/Storage/Storage.Management/help/Remove-AzStorageObjectReplicationPolicy.md @@ -0,0 +1,199 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll-Help.xml +Module Name: Az.Storage +online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/remove-azstorageobjectreplicationpolicy +schema: 2.0.0 +--- + +# Remove-AzStorageObjectReplicationPolicy + +## SYNOPSIS +Removes the specified object replication policy from a Storage account. + +## SYNTAX + +### AccountName (Default) +``` +Remove-AzStorageObjectReplicationPolicy [-ResourceGroupName] [-StorageAccountName] + -PolicyId [-PassThru] [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +### AccountObject +``` +Remove-AzStorageObjectReplicationPolicy -StorageAccount -PolicyId [-PassThru] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### PolicyObject +``` +Remove-AzStorageObjectReplicationPolicy -InputObject [-PassThru] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Remove-AzStorageObjectReplicationPolicy** cmdlet removes the specified object replication policy from a Storage account. + +## EXAMPLES + +### Example 1: Remove an object replication policy with specific policyId from a storage account. +``` +Remove-AzStorageObjectReplicationPolicy -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -PolicyId $policyId +``` + +This command removes an object replication policy with specific policyId from a storage account. + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer +Parameter Sets: (All) +Aliases: AzContext, AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Object Replication Policy object to Delete. + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy +Parameter Sets: PolicyObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PassThru +{{Fill PassThru Description}} + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PolicyId +Object Replication Policy Id. + +```yaml +Type: System.String +Parameter Sets: AccountName, AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +Resource Group Name. + +```yaml +Type: System.String +Parameter Sets: AccountName +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -StorageAccount +Storage account object + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount +Parameter Sets: AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -StorageAccountName +Storage Account Name. + +```yaml +Type: System.String +Parameter Sets: AccountName +Aliases: AccountName + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount + +### Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy + +## OUTPUTS + +### System.Boolean + +## NOTES + +## RELATED LINKS diff --git a/src/Storage/Storage.Management/help/Set-AzStorageObjectReplicationPolicy.md b/src/Storage/Storage.Management/help/Set-AzStorageObjectReplicationPolicy.md new file mode 100644 index 000000000000..27501d2a536c --- /dev/null +++ b/src/Storage/Storage.Management/help/Set-AzStorageObjectReplicationPolicy.md @@ -0,0 +1,252 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll-Help.xml +Module Name: Az.Storage +online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/set-azstorageobjectreplicationpolicy +schema: 2.0.0 +--- + +# Set-AzStorageObjectReplicationPolicy + +## SYNOPSIS +Creates or updates the specified object replication policy in a Storage account. + +## SYNTAX + +### AccountName (Default) +``` +Set-AzStorageObjectReplicationPolicy [-ResourceGroupName] [-StorageAccountName] + [-PolicyId ] -SourceAccount [-DestinationAccount ] + -Rule [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +### PolicyObject +``` +Set-AzStorageObjectReplicationPolicy [-ResourceGroupName] [-StorageAccountName] + -InputObject [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +### AccountObject +``` +Set-AzStorageObjectReplicationPolicy -StorageAccount [-PolicyId ] + -SourceAccount [-DestinationAccount ] -Rule + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Set-AzStorageObjectReplicationPolicy** cmdlet creates or updates the specified object replication policy in a Storage account. + +## EXAMPLES + +### Example 1: Set object replication policy to both destination and source account. +``` +PS C:\> $rule1 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src1 -DestinationContainer dest1 + +PS C:\> $rule2 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src -DestinationContainer dest -MinCreationTime 2019-01-01T16:00:00Z -PrefixMatch a,abc,dd + +PS C:\> $destPolicy = Set-AzStorageObjectReplicationPolicy -ResourceGroupName "myresourcegroup" -AccountName "mydestaccount" -PolicyId default -SourceAccount $srcAccountName -Rule $rule1,$rule2 + +PS C:\> $destPolicy + +ResourceGroupName StorageAccountName PolicyId EnabledTime SourceAccount DestinationAccount Rules +----------------- ------------------ -------- ----------- ------------- ------------------ ----- +myresourcegroup mydestaccount 56bfa11c-81ef-4f8d-b307-5e5386e16fba mysourceaccount mydestaccount [5fa8b1d6-4985-4abd-a0b3-ec4d07295a43,...] + +PS C:\> Set-AzStorageObjectReplicationPolicy -ResourceGroupName "myresourcegroup" -AccountName "mysourceaccount" -InputObject $destPolicy + +ResourceGroupName StorageAccountName PolicyId EnabledTime SourceAccount DestinationAccount Rules +----------------- ------------------ -------- ----------- ------------- ------------------ ----- +myresourcegroup mysourceaccount 56bfa11c-81ef-4f8d-b307-5e5386e16fba mysourceaccount mydestaccount [5fa8b1d6-4985-4abd-a0b3-ec4d07295a43,...] + +``` + +This command sets object replication policy to both destination and source account. +First create 2 object replication policy rules, and set policy with the 2 rules to destination account. Then set the object replication policy from destination account to source account. + +## PARAMETERS + +### -DefaultProfile +The credentials, account, tenant, and subscription used for communication with Azure. + +```yaml +Type: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer +Parameter Sets: (All) +Aliases: AzContext, AzureRmContext, AzureCredential + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -DestinationAccount +Object Replication Policy DestinationAccount. + +```yaml +Type: System.String +Parameter Sets: AccountName, AccountObject +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -InputObject +Object Replication Policy Object to Set to the specified Account. + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy +Parameter Sets: PolicyObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -PolicyId +Object Replication Policy Id. +It should be a GUID or 'default'. +If not input the PolicyId, will use 'default', which means to create a new policy and the Id of the new policy will be returned in the created policy. + +```yaml +Type: System.String +Parameter Sets: AccountName, AccountObject +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +Resource Group Name. + +```yaml +Type: System.String +Parameter Sets: AccountName, PolicyObject +Aliases: + +Required: True +Position: 0 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Rule +Object Replication Policy Rules. + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicyRule[] +Parameter Sets: AccountName, AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -SourceAccount +Object Replication Policy SourceAccount. + +```yaml +Type: System.String +Parameter Sets: AccountName, AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -StorageAccount +Storage account object + +```yaml +Type: Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount +Parameter Sets: AccountObject +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -StorageAccountName +Storage Account Name. + +```yaml +Type: System.String +Parameter Sets: AccountName, PolicyObject +Aliases: AccountName + +Required: True +Position: 1 +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Confirm +Prompts you for confirmation before running the cmdlet. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: cf + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -WhatIf +Shows what would happen if the cmdlet runs. +The cmdlet is not run. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: wi + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### CommonParameters +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). + +## INPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSStorageAccount + +### Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy + +## OUTPUTS + +### Microsoft.Azure.Commands.Management.Storage.Models.PSObjectReplicationPolicy + +## NOTES + +## RELATED LINKS diff --git a/src/Storage/Storage.Management/help/Update-AzStorageBlobServiceProperty.md b/src/Storage/Storage.Management/help/Update-AzStorageBlobServiceProperty.md index 4feb108f33fd..bb390731bfed 100644 --- a/src/Storage/Storage.Management/help/Update-AzStorageBlobServiceProperty.md +++ b/src/Storage/Storage.Management/help/Update-AzStorageBlobServiceProperty.md @@ -15,22 +15,22 @@ Modifies the service properties for the Azure Storage Blob service. ### AccountName (Default) ``` Update-AzStorageBlobServiceProperty [-ResourceGroupName] [-StorageAccountName] - [-DefaultServiceVersion ] [-EnableChangeFeed ] [-DefaultProfile ] - [-WhatIf] [-Confirm] [] + [-DefaultServiceVersion ] [-EnableChangeFeed ] [-IsVersioningEnabled ] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] ``` ### AccountObject ``` Update-AzStorageBlobServiceProperty -StorageAccount [-DefaultServiceVersion ] - [-EnableChangeFeed ] [-DefaultProfile ] [-WhatIf] [-Confirm] - [] + [-EnableChangeFeed ] [-IsVersioningEnabled ] [-DefaultProfile ] + [-WhatIf] [-Confirm] [] ``` ### BlobServicePropertiesResourceId ``` Update-AzStorageBlobServiceProperty [-ResourceId] [-DefaultServiceVersion ] - [-EnableChangeFeed ] [-DefaultProfile ] [-WhatIf] [-Confirm] - [] + [-EnableChangeFeed ] [-IsVersioningEnabled ] [-DefaultProfile ] + [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION @@ -42,9 +42,15 @@ The **Update-AzStorageBlobServiceProperty** cmdlet modifies the service properti ``` C:\PS> Update-AzStorageBlobServiceProperty -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -DefaultServiceVersion 2018-03-28 -StorageAccountName ResourceGroupName DefaultServiceVersion DeleteRetentionPolicy.Enabled DeleteRetentionPolicy.Days ChangeFeed.Enabled ------------------- ----------------- --------------------- ----------------------------- -------------------------- ------------------ -myresourcegroup mystorageaccount 2018-03-28 False False +StorageAccountName : mystorageaccount +ResourceGroupName : myresourcegroup +DefaultServiceVersion : 2018-03-28 +DeleteRetentionPolicy.Enabled : False +DeleteRetentionPolicy.Days : +RestorePolicy.Enabled : +RestorePolicy.Days : +ChangeFeed : +IsVersioningEnabled : ``` This command sets the DefaultServiceVersion of Blob Service to 2018-03-28. @@ -53,9 +59,15 @@ This command sets the DefaultServiceVersion of Blob Service to 2018-03-28. ``` C:\PS> Update-AzStorageBlobServiceProperty -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -EnableChangeFeed $true -StorageAccountName ResourceGroupName DefaultServiceVersion DeleteRetentionPolicy.Enabled DeleteRetentionPolicy.Days ChangeFeed.Enabled ------------------- ----------------- --------------------- ----------------------------- -------------------------- ------------------ -myresourcegroup mystorageaccount 2018-03-28 False True +StorageAccountName : mystorageaccount +ResourceGroupName : myresourcegroup +DefaultServiceVersion : +DeleteRetentionPolicy.Enabled : False +DeleteRetentionPolicy.Days : +RestorePolicy.Enabled : +RestorePolicy.Days : +ChangeFeed : True +IsVersioningEnabled : ``` This command enables Changefeed on Blob service of a Storage account @@ -63,6 +75,23 @@ Change feed support in Azure Blob Storage works by listening to a GPv2 or Blob s It then outputs an ordered log of events for the blobs stored in the $blobchangefeed container within the storage account. The serialized changes are persisted as an Apache Avro file and can be processed asynchronously and incrementally. +### Example 3: Enable Versioning on Blob service of a Storage account +``` +C:\PS> Update-AzStorageBlobServiceProperty -ResourceGroupName "myresourcegroup" -AccountName "mystorageaccount" -IsVersioningEnabled $true + +StorageAccountName : mystorageaccount +ResourceGroupName : myresourcegroup +DefaultServiceVersion : +DeleteRetentionPolicy.Enabled : False +DeleteRetentionPolicy.Days : +RestorePolicy.Enabled : +RestorePolicy.Days : +ChangeFeed : +IsVersioningEnabled : True +``` + +This command enables Versioning on Blob service of a Storage account + ## PARAMETERS ### -DefaultProfile @@ -113,6 +142,21 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -IsVersioningEnabled +Gets or sets versioning is enabled if set to true. + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -ResourceGroupName Resource Group Name. @@ -205,7 +249,7 @@ Accept wildcard characters: False ``` ### CommonParameters -This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216). +This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216). ## INPUTS From bf62cbb3fa7978b935d1f46e62684d656efeaa6f Mon Sep 17 00:00:00 2001 From: Wei Wei Date: Thu, 30 Apr 2020 16:48:01 +0800 Subject: [PATCH 2/2] [Storage] Fix CI failure --- .../ScenarioTests/StorageBlobTests.ps1 | 8 ++++---- .../help/New-AzStorageObjectReplicationPolicyRule.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 index b124e725e5d2..0376ea6d1cb0 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageBlobTests.ps1 @@ -577,7 +577,7 @@ function Test-StorageBlobORS Get-AzStorageAccount -ResourceGroupName $rgname -StorageAccountName $stoname2 | New-AzRmStorageContainer -name dest1 # create rules - $minCreationTime = "2019-01-02T00:00:00" + $minCreationTime = "2019-01-01T16:00:00Z" $rule1 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src1 -DestinationContainer dest1 $rule2 = New-AzStorageObjectReplicationPolicyRule -SourceContainer src -DestinationContainer dest -MinCreationTime $minCreationTime -PrefixMatch a,abc,dd #-Tag t1,t2,t3 @@ -593,7 +593,7 @@ function Test-StorageBlobORS Assert-AreEqual src $destPolicy.Rules[1].SourceContainer Assert-AreEqual dest $destPolicy.Rules[1].DestinationContainer Assert-AreEqual 3 $destPolicy.Rules[1].Filters.PrefixMatch.Count - Assert-AreEqual $minCreationTime $destPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + Assert-AreEqual $minCreationTime ($destPolicy.Rules[1].Filters.MinCreationTime.ToUniversalTime().ToString("s")+"Z") $destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname2 -PolicyId $destPolicy.PolicyId Assert-AreEqual $policyID $destPolicy.PolicyId Assert-AreEqual $stoname1 $destPolicy.SourceAccount @@ -605,7 +605,7 @@ function Test-StorageBlobORS Assert-AreEqual src $destPolicy.Rules[1].SourceContainer Assert-AreEqual dest $destPolicy.Rules[1].DestinationContainer Assert-AreEqual 3 $destPolicy.Rules[1].Filters.PrefixMatch.Count - Assert-AreEqual $minCreationTime $destPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + Assert-AreEqual $minCreationTime ($destPolicy.Rules[1].Filters.MinCreationTime.ToUniversalTime().ToString("s")+"Z") #Set policy to source account Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname1 -InputObject $destPolicy @@ -620,7 +620,7 @@ function Test-StorageBlobORS Assert-AreEqual src $srcPolicy.Rules[1].SourceContainer Assert-AreEqual dest $srcPolicy.Rules[1].DestinationContainer Assert-AreEqual 3 $srcPolicy.Rules[1].Filters.PrefixMatch.Count - Assert-AreEqual $minCreationTime $srcPolicy.Rules[1].Filters.MinCreationTime.ToString("s") + Assert-AreEqual $minCreationTime ($srcPolicy.Rules[1].Filters.MinCreationTime.ToUniversalTime().ToString("s")+"Z") #remove policies Remove-AzStorageObjectReplicationPolicy -ResourceGroupName $rgname -StorageAccountName $stoname2 -PolicyId $destPolicy.PolicyId diff --git a/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md b/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md index ae2560eea2d0..ef8ff1dae1c0 100644 --- a/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md +++ b/src/Storage/Storage.Management/help/New-AzStorageObjectReplicationPolicyRule.md @@ -1,7 +1,7 @@ --- external help file: Microsoft.Azure.PowerShell.Cmdlets.Storage.Management.dll-Help.xml Module Name: Az.Storage -online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/New-azstorageobjectreplicationpolicy +online version: https://docs.microsoft.com/en-us/powershell/module/az.storage/New-azstorageobjectreplicationpolicyrule schema: 2.0.0 ---