diff --git a/src/EventGrid/EventGrid.Test/EventGrid.Test.csproj b/src/EventGrid/EventGrid.Test/EventGrid.Test.csproj index 56af6cec846b..39eb29a9e26f 100644 --- a/src/EventGrid/EventGrid.Test/EventGrid.Test.csproj +++ b/src/EventGrid/EventGrid.Test/EventGrid.Test.csproj @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.cs b/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.cs index 33ab3f2e08e0..8bd643aa6334 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.cs +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.cs @@ -204,5 +204,12 @@ public void TestNewAzureStorageAccountQueueTableEncrytionKeyType() { TestRunner.RunTestScript("Test-NewAzureStorageAccountQueueTableEncrytionKeyType"); } + + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewSetAStorageAccount_RoutingPreference() + { + TestRunner.RunTestScript("Test-NewSetAzStorageAccount_RoutingPreference"); + } } } diff --git a/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.ps1 b/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.ps1 index 564f672721ad..2d300210245f 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.ps1 +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageAccountTests.ps1 @@ -1331,4 +1331,80 @@ function Test-NewAzureStorageAccountQueueTableEncrytionKeyType # Cleanup Clean-ResourceGroup $rgname } +} + + <# +.SYNOPSIS +Test Test-NewSetAzStorageAccount_RoutingPreference +.DESCRIPTION +SmokeTest +#> +function Test-NewSetAzStorageAccount_RoutingPreference +{ + # Setup + $rgname = Get-StorageManagementTestResourceName; + + try + { + # Test + $stoname = 'sto' + $rgname; + $stotype = 'Standard_LRS'; + $loc = Get-ProviderLocation_Canary ResourceManagement; + $kind = 'StorageV2' + + New-AzResourceGroup -Name $rgname -Location $loc; + Write-Output ("Resource Group created") + + New-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -Location $loc -SkuName $stotype -PublishMicrosoftEndpoint $true -PublishInternetEndpoint $true -RoutingChoice MicrosoftRouting; + + Retry-IfException { $global:sto = Get-AzStorageAccount -ResourceGroupName $rgname -Name $stoname; } + Assert-AreEqual $stoname $sto.StorageAccountName; + Assert-AreEqual $stotype $sto.Sku.Name; + Assert-AreEqual $loc.ToLower().Replace(" ", "") $sto.Location; + Assert-AreEqual $kind $sto.Kind; + Assert-AreEqual $true $sto.RoutingPreference.PublishMicrosoftEndpoints + Assert-AreEqual $true $sto.RoutingPreference.PublishInternetEndpoints + Assert-AreEqual "MicrosoftRouting" $sto.RoutingPreference.RoutingChoice + Assert-AreNotEqual $null $sto.PrimaryEndpoints.MicrosoftEndpoints + Assert-AreNotEqual $null $sto.PrimaryEndpoints.InternetEndpoints + + Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -RoutingChoice InternetRouting; + Retry-IfException { $global:sto = Get-AzStorageAccount -ResourceGroupName $rgname -Name $stoname; } + Assert-AreEqual $true $sto.RoutingPreference.PublishMicrosoftEndpoints + Assert-AreEqual $true $sto.RoutingPreference.PublishInternetEndpoints + Assert-AreEqual "InternetRouting" $sto.RoutingPreference.RoutingChoice + Assert-AreNotEqual $null $sto.PrimaryEndpoints.MicrosoftEndpoints + Assert-AreNotEqual $null $sto.PrimaryEndpoints.InternetEndpoints + + Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -PublishMicrosoftEndpoint $false ; + Retry-IfException { $global:sto = Get-AzStorageAccount -ResourceGroupName $rgname -Name $stoname; } + Assert-AreEqual $false $sto.RoutingPreference.PublishMicrosoftEndpoints + Assert-AreEqual $true $sto.RoutingPreference.PublishInternetEndpoints + Assert-AreEqual "InternetRouting" $sto.RoutingPreference.RoutingChoice + Assert-AreEqual $null $sto.PrimaryEndpoints.MicrosoftEndpoints + Assert-AreNotEqual $null $sto.PrimaryEndpoints.InternetEndpoints + + Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -PublishInternetEndpoint $false; + Retry-IfException { $global:sto = Get-AzStorageAccount -ResourceGroupName $rgname -Name $stoname; } + Assert-AreEqual $false $sto.RoutingPreference.PublishMicrosoftEndpoints + Assert-AreEqual $false $sto.RoutingPreference.PublishInternetEndpoints + Assert-AreEqual "InternetRouting" $sto.RoutingPreference.RoutingChoice + Assert-AreEqual $null $sto.PrimaryEndpoints.MicrosoftEndpoints + Assert-AreEqual $null $sto.PrimaryEndpoints.InternetEndpoints + + Set-AzStorageAccount -ResourceGroupName $rgname -Name $stoname -PublishMicrosoftEndpoint $true -PublishInternetEndpoint $false -RoutingChoice MicrosoftRouting; + Retry-IfException { $global:sto = Get-AzStorageAccount -ResourceGroupName $rgname -Name $stoname; } + Assert-AreEqual $true $sto.RoutingPreference.PublishMicrosoftEndpoints + Assert-AreEqual $false $sto.RoutingPreference.PublishInternetEndpoints + Assert-AreEqual "MicrosoftRouting" $sto.RoutingPreference.RoutingChoice + Assert-AreNotEqual $null $sto.PrimaryEndpoints.MicrosoftEndpoints + Assert-AreEqual $null $sto.PrimaryEndpoints.InternetEndpoints + + Remove-AzStorageAccount -Force -ResourceGroupName $rgname -Name $stoname; + } + finally + { + # Cleanup + Clean-ResourceGroup $rgname + } } \ No newline at end of file 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..0376ea6d1cb0 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-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 + + # 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.ToUniversalTime().ToString("s")+"Z") + $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.ToUniversalTime().ToString("s")+"Z") + + #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.ToUniversalTime().ToString("s")+"Z") + + #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/ScenarioTests/StorageDataPlaneTests.ps1 b/src/Storage/Storage.Management.Test/ScenarioTests/StorageDataPlaneTests.ps1 index 2ab1e927e6e3..06b63d5e3c81 100644 --- a/src/Storage/Storage.Management.Test/ScenarioTests/StorageDataPlaneTests.ps1 +++ b/src/Storage/Storage.Management.Test/ScenarioTests/StorageDataPlaneTests.ps1 @@ -277,6 +277,17 @@ function Test-Blob $immutabilityPolicy = Get-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName -ContainerName $containerName Remove-AzRmStorageContainerImmutabilityPolicy -ResourceGroupName $ResourceGroupName -StorageAccountName $StorageAccountName -ContainerName $containerName -Etag $immutabilityPolicy.Etag + # Encryption Scope Test + $scopename = "testscope" + $containerName2 = "testscopecontainer" + New-AzStorageEncryptionScope -ResourceGroupName $ResourceGroupName -StorageAccountName $storageAccountName -EncryptionScopeName $scopename -StorageEncryption + $container = New-AzStorageContainer -Name $containerName2 -Context $storageContext -DefaultEncryptionScope $scopeName2 -PreventEncryptionScopeOverride $true + Assert-AreEqual $scopename $container.BlobContainerProperties.DefaultEncryptionScope + Assert-AreEqual $true $container.BlobContainerProperties.PreventEncryptionScopeOverride + $blob = Set-AzStorageBlobContent -Context $storageContext -File $localSrcFile -Container $containerName -Blob encryscopetest -EncryptionScope $scopename + Assert-AreEqual $scopename $blob.BlobProperties.EncryptionScope + Remove-AzStorageContainer -Name $containerName2 -Force -Context $storageContext + # Clean Storage Account Remove-AzStorageContainer -Name $containerName -Force -Context $storageContext diff --git a/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageAccountTests/TestNewSetAStorageAccount_RoutingPreference.json b/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageAccountTests/TestNewSetAStorageAccount_RoutingPreference.json new file mode 100644 index 000000000000..9ae185ddf6fc --- /dev/null +++ b/src/Storage/Storage.Management.Test/SessionRecords/Microsoft.Azure.Commands.Management.Storage.Test.ScenarioTests.StorageAccountTests/TestNewSetAStorageAccount_RoutingPreference.json @@ -0,0 +1,1527 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourcegroups/pstestrg3974?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlZ3JvdXBzL3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"location\": \"eastus2euap\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "5cb3e09f-4d55-421f-9651-03bc89f82e90" + ], + "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.13" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "33" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "6f6ea7ca-f86c-4698-a914-a338db7c7873" + ], + "x-ms-correlation-request-id": [ + "6f6ea7ca-f86c-4698-a914-a338db7c7873" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114704Z:6f6ea7ca-f86c-4698-a914-a338db7c7873" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:04 GMT" + ], + "Content-Length": [ + "182" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourceGroups/pstestrg3974\",\r\n \"name\": \"pstestrg3974\",\r\n \"location\": \"eastus2euap\",\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\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "c0064fe0-6361-4f6d-b4c8-676f84866341" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "81" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "0fb110e0-d62e-4867-ad02-ad97b08ca094" + ], + "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": [ + "c80ec8dc-cd3e-4f27-a98a-cccc9db41184" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114705Z:c80ec8dc-cd3e-4f27-a98a-cccc9db41184" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:05 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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"location\": \"eastus2euap\",\r\n \"properties\": {\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a2463aca-99db-4eb5-9e80-7e343c4ecd29" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "289" + ] + }, + "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/afabb20c-429c-4b42-af03-77266e02e745?monitor=true&api-version=2019-06-01" + ], + "Retry-After": [ + "17" + ], + "x-ms-request-id": [ + "afabb20c-429c-4b42-af03-77266e02e745" + ], + "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": [ + "59ea194e-7704-48f9-94aa-ce6c0cff5ae7" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114714Z:59ea194e-7704-48f9-94aa-ce6c0cff5ae7" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:14 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/afabb20c-429c-4b42-af03-77266e02e745?monitor=true&api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzMmV1YXAvYXN5bmNvcGVyYXRpb25zL2FmYWJiMjBjLTQyOWMtNGI0Mi1hZjAzLTc3MjY2ZTAyZTc0NT9tb25pdG9yPXRydWUmYXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "7c341db9-92b0-4e2e-8a72-ed4a95340cc9" + ], + "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": [ + "bc2b98aa-d917-46a3-82ce-f11072151505" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114732Z:bc2b98aa-d917-46a3-82ce-f11072151505" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:32 GMT" + ], + "Content-Length": [ + "2160" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "177f1a69-0300-4209-af75-d9d2f036472f" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "f82f83ab-37e1-43a2-b5a6-861929c55306" + ], + "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": [ + "e48f5366-ff6d-4c27-bcdc-691de91c2a4b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114732Z:e48f5366-ff6d-4c27-bcdc-691de91c2a4b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:32 GMT" + ], + "Content-Length": [ + "2160" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "7fc055f6-39d4-46d8-83bf-a0777a80afe8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "70c74090-b22c-4611-9265-e75580dcadf8" + ], + "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": [ + "ca35a136-183b-4f94-907a-5be090c1a03c" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114734Z:ca35a136-183b-4f94-907a-5be090c1a03c" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:34 GMT" + ], + "Content-Length": [ + "2160" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "9a8ed1a6-aba3-45d9-8c63-2c387d81e07b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "d194340f-0c2a-4675-8aae-fbef21d0284b" + ], + "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": [ + "06ca89ef-834e-4fcc-835f-b8ad388d484c" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114737Z:06ca89ef-834e-4fcc-835f-b8ad388d484c" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:36 GMT" + ], + "Content-Length": [ + "2159" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "bd336c33-db8a-45b1-b37a-abd2605d9749" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "09a3d8eb-40f6-4a40-ac51-0d991b19e5f4" + ], + "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": [ + "ff29a55d-8b14-456a-b722-bbd2e5918012" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114738Z:ff29a55d-8b14-456a-b722-bbd2e5918012" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:37 GMT" + ], + "Content-Length": [ + "2159" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "9c17047f-9c21-4331-86df-c75c1d613afc" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "ff061541-fa31-43c7-b28b-3a73814c78ab" + ], + "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": [ + "d18b8de5-2fae-40ee-9d1a-eb2664f4b792" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114741Z:d18b8de5-2fae-40ee-9d1a-eb2664f4b792" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:41 GMT" + ], + "Content-Length": [ + "1696" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "9c5a3cad-5e7c-470a-a733-f37f6faf9d75" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "815b28b4-acab-4238-a1b6-f2d1ef3e1e8b" + ], + "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": [ + "5dcad6c2-ac62-48c4-a928-32332da664b0" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114742Z:5dcad6c2-ac62-48c4-a928-32332da664b0" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:42 GMT" + ], + "Content-Length": [ + "1696" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8bba3e4c-015a-42ff-83de-1df2676f1ec7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "0cdad26f-c2a6-4595-9301-f250acfbcec3" + ], + "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": [ + "d3b4f938-bf7c-4330-aa01-4db2b254cd15" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114744Z:d3b4f938-bf7c-4330-aa01-4db2b254cd15" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:44 GMT" + ], + "Content-Length": [ + "1388" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "917c2df5-eaef-41af-98bd-65f3615e81f3" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "49bf7486-26a2-4e65-a86e-53139359417b" + ], + "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": [ + "c1f9279e-90bc-4045-977d-61a7d932989b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114745Z:c1f9279e-90bc-4045-977d-61a7d932989b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:44 GMT" + ], + "Content-Length": [ + "1388" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "b972ffaa-e534-421e-8c91-666ba096b922" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "e533fe48-f677-432f-8e10-be7be5dd7163" + ], + "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": [ + "3e563576-f93d-4e5d-b536-99750f14eeeb" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114747Z:3e563576-f93d-4e5d-b536-99750f14eeeb" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:46 GMT" + ], + "Content-Length": [ + "1852" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "4e0efb82-d20b-45b7-bbc5-aa8ee4aa9eb2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "7aa293f2-2f87-4c32-a521-937972253528" + ], + "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": [ + "1de94d7f-9fd3-42fd-abad-c9999e737f0f" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114748Z:1de94d7f-9fd3-42fd-abad-c9999e737f0f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:48 GMT" + ], + "Content-Length": [ + "1852" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"properties\": {\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\"\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "ae52428f-32c7-4b62-8537-926fb7480a2a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "105" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "dd2d1dad-ceaa-4233-9795-c16ee007e588" + ], + "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": [ + "807195fb-bfea-4fd7-908d-41693a0bbcbb" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114736Z:807195fb-bfea-4fd7-908d-41693a0bbcbb" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:36 GMT" + ], + "Content-Length": [ + "2159" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"properties\": {\r\n \"routingPreference\": {\r\n \"publishMicrosoftEndpoints\": false\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e736c701-2e82-4a33-ac2c-c31db1e40c0f" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "105" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "fdd6cf15-ae0f-4916-b0d2-6eda17e59739" + ], + "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": [ + "07f2277e-e5bb-410d-8e79-cda05598722a" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114741Z:07f2277e-e5bb-410d-8e79-cda05598722a" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:40 GMT" + ], + "Content-Length": [ + "1696" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": true\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"internetEndpoints\": {\r\n \"blob\": \"https://stopstestrg3974-internetrouting.blob.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-internetrouting.file.core.windows.net/\",\r\n \"dfs\": \"https://stopstestrg3974-internetrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-internetrouting.z3.web.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"properties\": {\r\n \"routingPreference\": {\r\n \"publishInternetEndpoints\": false\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "990e40b0-9349-49c8-b56e-d6d3d66df88e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "104" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "c1a504fe-1327-4229-bef7-b6e9fed06062" + ], + "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": [ + "f6e05904-25eb-41b2-9b72-9abf6b068f95" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114744Z:f6e05904-25eb-41b2-9b72-9abf6b068f95" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:44 GMT" + ], + "Content-Length": [ + "1388" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"InternetRouting\",\r\n \"publishMicrosoftEndpoints\": false,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PATCH", + "RequestBody": "{\r\n \"properties\": {\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": false\r\n }\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "5baa846e-5577-4b47-bcc7-d3f7543b5611" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "190" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "51462330-5b82-4cd2-ae45-98aa4fefadd3" + ], + "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": [ + "c1cfa7d6-4511-412a-8ff3-72fbe446abf6" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114746Z:c1cfa7d6-4511-412a-8ff3-72fbe446abf6" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:45 GMT" + ], + "Content-Length": [ + "1852" + ], + "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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974\",\r\n \"name\": \"stopstestrg3974\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"privateEndpointConnections\": [],\r\n \"routingPreference\": {\r\n \"routingChoice\": \"MicrosoftRouting\",\r\n \"publishMicrosoftEndpoints\": true,\r\n \"publishInternetEndpoints\": false\r\n },\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-05-01T11:47:14.3389048Z\"\r\n },\r\n \"blob\": {\r\n \"keyType\": \"Account\",\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-05-01T11:47:14.3389048Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-05-01T11:47:14.2764085Z\",\r\n \"primaryEndpoints\": {\r\n \"microsoftEndpoints\": {\r\n \"dfs\": \"https://stopstestrg3974-microsoftrouting.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974-microsoftrouting.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974-microsoftrouting.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974-microsoftrouting.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974-microsoftrouting.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974-microsoftrouting.file.core.windows.net/\"\r\n },\r\n \"dfs\": \"https://stopstestrg3974.dfs.core.windows.net/\",\r\n \"web\": \"https://stopstestrg3974.z3.web.core.windows.net/\",\r\n \"blob\": \"https://stopstestrg3974.blob.core.windows.net/\",\r\n \"queue\": \"https://stopstestrg3974.queue.core.windows.net/\",\r\n \"table\": \"https://stopstestrg3974.table.core.windows.net/\",\r\n \"file\": \"https://stopstestrg3974.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/pstestrg3974/providers/Microsoft.Storage/storageAccounts/stopstestrg3974?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlR3JvdXBzL3BzdGVzdHJnMzk3NC9wcm92aWRlcnMvTWljcm9zb2Z0LlN0b3JhZ2Uvc3RvcmFnZUFjY291bnRzL3N0b3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a54920a2-5ae0-4274-88fd-f134edfcb95c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28207.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/16.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "29b7ec6d-4316-42df-963f-3363b8d1613b" + ], + "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": [ + "bd036d24-34be-4729-b691-2f112a3754e8" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114754Z:bd036d24-34be-4729-b691-2f112a3754e8" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:47:54 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/resourcegroups/pstestrg3974?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL3Jlc291cmNlZ3JvdXBzL3BzdGVzdHJnMzk3ND9hcGktdmVyc2lvbj0yMDE2LTA5LTAx", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "2b415f1b-aa63-422d-bb60-02f199b6a097" + ], + "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.13" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-request-id": [ + "e8f1a7d8-1243-4d36-be3c-e083da4026e3" + ], + "x-ms-correlation-request-id": [ + "e8f1a7d8-1243-4d36-be3c-e083da4026e3" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114802Z:e8f1a7d8-1243-4d36-be3c-e083da4026e3" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:48:01 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSek01TnpRdFJVRlRWRlZUTWtWVlFWQWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkltVmhjM1IxY3pKbGRXRndJbjA/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "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.13" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-request-id": [ + "92d576fc-708f-44e3-a3b9-ac2f80d741fd" + ], + "x-ms-correlation-request-id": [ + "92d576fc-708f-44e3-a3b9-ac2f80d741fd" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114817Z:92d576fc-708f-44e3-a3b9-ac2f80d741fd" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:48:17 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSek01TnpRdFJVRlRWRlZUTWtWVlFWQWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkltVmhjM1IxY3pKbGRXRndJbjA/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "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.13" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01" + ], + "Retry-After": [ + "15" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-request-id": [ + "570508e5-c225-42e3-8ec0-fdb06a200244" + ], + "x-ms-correlation-request-id": [ + "570508e5-c225-42e3-8ec0-fdb06a200244" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114833Z:570508e5-c225-42e3-8ec0-fdb06a200244" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:48:32 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSek01TnpRdFJVRlRWRlZUTWtWVlFWQWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkltVmhjM1IxY3pKbGRXRndJbjA/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "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.13" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-request-id": [ + "d9a6ab4e-2cca-4342-9ddb-ca32ff925e1b" + ], + "x-ms-correlation-request-id": [ + "d9a6ab4e-2cca-4342-9ddb-ca32ff925e1b" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114848Z:d9a6ab4e-2cca-4342-9ddb-ca32ff925e1b" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:48:48 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/45b60d85-fd72-427a-a708-f994d26e593e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1QU1RFU1RSRzM5NzQtRUFTVFVTMkVVQVAiLCJqb2JMb2NhdGlvbiI6ImVhc3R1czJldWFwIn0?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDViNjBkODUtZmQ3Mi00MjdhLWE3MDgtZjk5NGQyNmU1OTNlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFRVTFSRlUxUlNSek01TnpRdFJVRlRWRlZUTWtWVlFWQWlMQ0pxYjJKTWIyTmhkR2x2YmlJNkltVmhjM1IxY3pKbGRXRndJbjA/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "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.13" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-request-id": [ + "a9e3ee6e-e259-4286-8cb3-9c8e13b706f1" + ], + "x-ms-correlation-request-id": [ + "a9e3ee6e-e259-4286-8cb3-9c8e13b706f1" + ], + "x-ms-routing-request-id": [ + "SOUTHEASTASIA:20200501T114849Z:a9e3ee6e-e259-4286-8cb3-9c8e13b706f1" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 01 May 2020 11:48:48 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 200 + } + ], + "Names": { + "Test-NewSetAzStorageAccount_RoutingPreference": [ + "pstestrg3974" + ] + }, + "Variables": { + "SubscriptionId": "45b60d85-fd72-427a-a708-f994d26e593e" + } +} \ No newline at end of file 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.Test/Storage.Management.Test.csproj b/src/Storage/Storage.Management.Test/Storage.Management.Test.csproj index 444f64504f02..40dd69dfa803 100644 --- a/src/Storage/Storage.Management.Test/Storage.Management.Test.csproj +++ b/src/Storage/Storage.Management.Test/Storage.Management.Test.csproj @@ -13,7 +13,7 @@ - + \ 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 ac158a672d9a..b597c01d2554 100644 --- a/src/Storage/Storage.Management/Az.Storage.psd1 +++ b/src/Storage/Storage.Management/Az.Storage.psd1 @@ -3,7 +3,7 @@ # # Generated by: Microsoft Corporation # -# Generated on: 3/27/2020 +# Generated on: 2020-04-24 # @{ @@ -12,7 +12,7 @@ # RootModule = '' # Version number of this module. -ModuleVersion = '1.13.3' +ModuleVersion = '1.14.1' # Supported PSEditions CompatiblePSEditions = 'Core', 'Desktop' @@ -66,9 +66,9 @@ RequiredAssemblies = 'Microsoft.Azure.Management.Storage.dll', 'Microsoft.Azure.Storage.DataMovement.dll', 'Microsoft.Azure.DocumentDB.Core.dll', 'Microsoft.OData.Core.dll', 'Microsoft.OData.Edm.dll', 'Microsoft.Spatial.dll', - 'Microsoft.Azure.KeyVault.Core.dll','Azure.Storage.Blobs.dll', - 'Azure.Storage.Common.dll', 'Azure.Storage.Files.DataLake.dll', - 'Azure.Core.dll', 'Microsoft.Bcl.AsyncInterfaces.dll', + 'Microsoft.Azure.KeyVault.Core.dll', 'Azure.Storage.Blobs.dll', + 'Azure.Storage.Common.dll', 'Azure.Storage.Files.DataLake.dll', + 'Azure.Core.dll', 'Microsoft.Bcl.AsyncInterfaces.dll', 'System.Text.Json.dll', 'System.Threading.Tasks.Extensions.dll' # Script files (.ps1) that are run in the caller's environment prior to importing this module. @@ -169,9 +169,11 @@ CmdletsToExport = 'Get-AzStorageAccount', 'Get-AzStorageAccountKey', 'Set-AzDataLakeGen2ItemAclObject', 'Get-AzDataLakeGen2ItemContent', 'Enable-AzStorageBlobRestorePolicy', 'Disable-AzStorageBlobRestorePolicy', - 'New-AzStorageBlobRangeToRestore', 'Restore-AzStorageBlobRange', - 'New-AzStorageEncryptionScope','Update-AzStorageEncryptionScope', - 'Get-AzStorageEncryptionScope' + 'New-AzStorageBlobRangeToRestore', 'Restore-AzStorageBlobRange', + 'New-AzStorageEncryptionScope', 'Update-AzStorageEncryptionScope', + 'Get-AzStorageEncryptionScope', + 'New-AzStorageObjectReplicationPolicyRule', 'Set-AzStorageObjectReplicationPolicy', + 'Get-AzStorageObjectReplicationPolicy', 'Remove-AzStorageObjectReplicationPolicy' # Variables to export from this module # VariablesToExport = @() @@ -215,24 +217,17 @@ PrivateData = @{ # IconUri = '' # ReleaseNotes of this module - ReleaseNotes = '* Upgrade DataLake Gen2 cmdlets to use new SDK ''Azure.Storage.Files.DataLake'', and remove 2 parameter -ServerTimeoutPerRequest, -ClientTimeoutPerRequest - - New-AzDataLakeGen2Item - - Get-AzDataLakeGen2Item - - Get-AzDataLakeGen2ChildItem - - Move-AzDataLakeGen2Item - - Set-AzDataLakeGen2ItemAclObject - - Update-AzDataLakeGen2Item - - Get-AzDataLakeGen2ItemContent - - Remove-AzDataLakeGen2Item -* Change cmdlet name from New-AzDataLakeGen2ItemAclObject to Set-AzDataLakeGen2ItemAclObject, and when InputObject already has an ACL entry with same AccessControlType/EntityId/DefaultScope, will update permission of ACL entry instead of adding new ACL entry. - - Set-AzDataLakeGen2ItemAclObject -* Change -Path parameter to optional, don''t set -Path will get/update FileSystem root Directory - - Get-AzDataLakeGen2Item - - Update-AzDataLakeGen2Item -* In list DataLakeGen2 items, support -OutputUserPrincipalName, and change -FetchPermission to -Fetchproperties - - Get-AzDataLakeGen2ChildItem -* In move DataLakeGen2 item, remove 2 parameters -Umask, -PathRenameMode, and add -Force to skip overwrite confirmation prompt. - - Move-AzDataLakeGen2Item' + ReleaseNotes = '* Supported create container and upload blob with Encryption Scope setting + - ''New-AzStorageContainer'' + - ''Set-AzStorageBlobContent'' +* Add RestorePolicy.LastEnabledTime to cmdlet output + - ''Get-AzStorageBlobServiceProperty'' + - ''Enable-AzStorageBlobRestorePolicy'' +* Fixed #9880: Change NetWorkRule DefaultAction value defination to align with swagger. + - ''Update-AzStorageAccountNetworkRuleSet'' + - ''Get-AzStorageAccountNetworkRuleSet'' +* Fixed #11624: Skip duplicated rules when add NetworkRules, to avoid server failure + - ''Add-AzStorageAccountNetworkRule''' # Prerelease string of this module Prerelease = 'preview' diff --git a/src/Storage/Storage.Management/Blob/NewAzureStorageContainer.cs b/src/Storage/Storage.Management/Blob/NewAzureStorageContainer.cs index d5431d294d98..a91dc7a0df50 100644 --- a/src/Storage/Storage.Management/Blob/NewAzureStorageContainer.cs +++ b/src/Storage/Storage.Management/Blob/NewAzureStorageContainer.cs @@ -102,6 +102,7 @@ public class NewAzureStorageContainerCommand : StorageBlobBaseCmdlet [Parameter(HelpMessage = "Default the container to use specified encryption scope for all writes.", Mandatory = true, ParameterSetName = AccountObjectEncryptionScopeParameterSet)] + [ValidateNotNullOrEmpty] public string DefaultEncryptionScope { get; set; } [Parameter(HelpMessage = "Block override of encryption scope from the container default.", 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 2a71a6b87446..198d0b2ec2a2 100644 --- a/src/Storage/Storage.Management/ChangeLog.md +++ b/src/Storage/Storage.Management/ChangeLog.md @@ -18,6 +18,46 @@ - 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` +* Supported RoutingPreference settings in create/update Storage account + - `New-AzStorageAccount` + - `Set-AzStorageAccount` + +## Version 1.14.1 +* Supported create container and upload blob with Encryption Scope setting + - `New-AzStorageContainer` + - `Set-AzStorageBlobContent` +* Add RestorePolicy.LastEnabledTime to cmdlet output + - `Get-AzStorageBlobServiceProperty` + - `Enable-AzStorageBlobRestorePolicy` +* Fixed #9880: Change NetWorkRule DefaultAction value defination to align with swagger. + - `Update-AzStorageAccountNetworkRuleSet` + - `Get-AzStorageAccountNetworkRuleSet` +* Fixed #11624: Skip duplicated rules when add NetworkRules, to avoid server failure + - `Add-AzStorageAccountNetworkRule` + +## Version 1.14.0 +* Added breaking change notice for Azure File cmdlets output change in a future release +* Supported new SkuName StandardGZRS, StandardRAGZRS when create/update Storage account + - `New-AzStorageAccount` + - `Set-AzStorageAccount` +* Supported DataLake Gen2 + - `New-AzDataLakeGen2Item` + - `Get-AzDataLakeGen2Item` + - `Get-AzDataLakeGen2ChildItem` + - `Move-AzDataLakeGen2Item` + - `Set-AzDataLakeGen2ItemAclObject` + - `Update-AzDataLakeGen2Item` + - `Get-AzDataLakeGen2ItemContent` + - `Remove-AzDataLakeGen2Item` + +## Version 1.13.4 * Support create/update/get/list EncryptionScope of a Storage account - New-AzStorageEncryptionScope - Update-AzStorageEncryptionScope diff --git a/src/Storage/Storage.Management/File/NewAzureStorageShare.cs b/src/Storage/Storage.Management/File/NewAzureStorageShare.cs index bf3f07ae09c2..77b897fcfc7f 100644 --- a/src/Storage/Storage.Management/File/NewAzureStorageShare.cs +++ b/src/Storage/Storage.Management/File/NewAzureStorageShare.cs @@ -111,8 +111,9 @@ public override void ExecuteCmdlet() this.ResourceGroupName, this.StorageAccountName, this.Name, - MetadataDictionary, - shareQuota); + new FileShare( + metadata: MetadataDictionary, + shareQuota: shareQuota)); WriteObject(new PSShare(share)); } diff --git a/src/Storage/Storage.Management/File/UpdateAzureStorageShare.cs b/src/Storage/Storage.Management/File/UpdateAzureStorageShare.cs index 9e9434f35a3a..0105cc196db3 100644 --- a/src/Storage/Storage.Management/File/UpdateAzureStorageShare.cs +++ b/src/Storage/Storage.Management/File/UpdateAzureStorageShare.cs @@ -151,8 +151,9 @@ public override void ExecuteCmdlet() this.ResourceGroupName, this.StorageAccountName, this.Name, - MetadataDictionary, - shareQuota); + new FileShare( + metadata: MetadataDictionary, + shareQuota: shareQuota)); WriteObject(new PSShare(Share)); } diff --git a/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs b/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs index 4ce10ded14a9..6f6ab5ff86cd 100644 --- a/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs +++ b/src/Storage/Storage.Management/Models/PSBlobServiceProperties.cs @@ -41,8 +41,10 @@ public class PSBlobServiceProperties public PSDeleteRetentionPolicy DeleteRetentionPolicy { get; set; } [Ps1Xml(Label = "RestorePolicy.Enabled", Target = ViewControl.Table, ScriptBlock = "$_.RestorePolicy.Enabled", Position = 5)] [Ps1Xml(Label = "RestorePolicy.Days", Target = ViewControl.Table, ScriptBlock = "$_.RestorePolicy.Days", Position = 6)] + [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() { } @@ -59,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() { @@ -68,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 }; } @@ -157,6 +161,7 @@ public class PSRestorePolicy { public bool? Enabled { get; set; } public int? Days { get; set; } + public DateTime? LastEnabledTime { get; set; } public PSRestorePolicy() { @@ -166,6 +171,8 @@ public PSRestorePolicy(RestorePolicyProperties policy) { this.Enabled = policy.Enabled; this.Days = policy.Days; + this.LastEnabledTime = policy.LastEnabledTime; + } public RestorePolicyProperties ParseRestorePolicy() { 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/Models/PSRoutingPreference.cs b/src/Storage/Storage.Management/Models/PSRoutingPreference.cs new file mode 100644 index 000000000000..bfa76016af71 --- /dev/null +++ b/src/Storage/Storage.Management/Models/PSRoutingPreference.cs @@ -0,0 +1,43 @@ +// ---------------------------------------------------------------------------------- +// +// 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 System; + +namespace Microsoft.Azure.Commands.Management.Storage.Models +{ + public class PSRoutingPreference + { + //Parse RoutingPreference in SDK to wrapped property PSRoutingPreference + public static PSRoutingPreference ParsePSRoutingPreference(RoutingPreference routingPreference) + { + if (routingPreference == null) + { + return null; + } + + PSRoutingPreference pSRoutingPreference = new PSRoutingPreference(); + + pSRoutingPreference.RoutingChoice = routingPreference.RoutingChoice; + pSRoutingPreference.PublishMicrosoftEndpoints = routingPreference.PublishMicrosoftEndpoints; + pSRoutingPreference.PublishInternetEndpoints = routingPreference.PublishInternetEndpoints; + + return pSRoutingPreference; + } + + public string RoutingChoice { get; set; } + public bool? PublishMicrosoftEndpoints { get; set; } + public bool? PublishInternetEndpoints { get; set; } + } +} diff --git a/src/Storage/Storage.Management/Models/PSStorageAccount.cs b/src/Storage/Storage.Management/Models/PSStorageAccount.cs index 24b5efff68da..c35ce4bbbbb4 100644 --- a/src/Storage/Storage.Management/Models/PSStorageAccount.cs +++ b/src/Storage/Storage.Management/Models/PSStorageAccount.cs @@ -56,6 +56,7 @@ public PSStorageAccount(StorageModels.StorageAccount storageAccount) this.LargeFileSharesState = storageAccount.LargeFileSharesState; this.AzureFilesIdentityBasedAuth = storageAccount.AzureFilesIdentityBasedAuthentication is null ? null : new PSAzureFilesIdentityBasedAuthentication(storageAccount.AzureFilesIdentityBasedAuthentication); this.GeoReplicationStats = PSGeoReplicationStats.ParsePSGeoReplicationStats(storageAccount.GeoReplicationStats); + this.RoutingPreference = PSRoutingPreference.ParsePSRoutingPreference(storageAccount.RoutingPreference); this.BlobRestoreStatus = storageAccount.BlobRestoreStatus is null ? null : new PSBlobRestoreStatus(storageAccount.BlobRestoreStatus); } @@ -120,6 +121,8 @@ public PSStorageAccount(StorageModels.StorageAccount storageAccount) public PSNetworkRuleSet NetworkRuleSet { get; set; } + public PSRoutingPreference RoutingPreference { get; set; } + public PSBlobRestoreStatus BlobRestoreStatus { get; set; } public PSGeoReplicationStats GeoReplicationStats { get; set; } diff --git a/src/Storage/Storage.Management/Properties/AssemblyInfo.cs b/src/Storage/Storage.Management/Properties/AssemblyInfo.cs index 4b97609fb29a..30f9d3ec7b9e 100644 --- a/src/Storage/Storage.Management/Properties/AssemblyInfo.cs +++ b/src/Storage/Storage.Management/Properties/AssemblyInfo.cs @@ -46,5 +46,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.13.3")] -[assembly: AssemblyFileVersion("1.13.3")] +[assembly: AssemblyVersion("1.14.1")] +[assembly: AssemblyFileVersion("1.14.1")] diff --git a/src/Storage/Storage.Management/Storage.Management.csproj b/src/Storage/Storage.Management/Storage.Management.csproj index 7aa000583ae0..1e2049b88c4b 100644 --- a/src/Storage/Storage.Management/Storage.Management.csproj +++ b/src/Storage/Storage.Management/Storage.Management.csproj @@ -14,7 +14,7 @@ $(LegacyAssemblyPrefix)$(PsModuleName) - + diff --git a/src/Storage/Storage.Management/Storage.Management.format.ps1xml b/src/Storage/Storage.Management/Storage.Management.format.ps1xml index b27b3618e658..9e45e14b631d 100644 --- a/src/Storage/Storage.Management/Storage.Management.format.ps1xml +++ b/src/Storage/Storage.Management/Storage.Management.format.ps1xml @@ -278,48 +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 + Name + Left StorageAccountName @@ -330,27 +380,79 @@ 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 - $_.ChangeFeed.Enabled + $_.RestorePolicy.LastEnabledTime + + + Left + $_.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} @@ -358,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 @@ -374,19 +476,23 @@ Left - + Left - + Left - + Left - + + + + Left + @@ -394,7 +500,7 @@ Left - Name + ResourceGroupName Left @@ -402,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} @@ -422,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 - + @@ -454,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" @@ -526,5 +636,51 @@ + + Microsoft.Azure.Management.Storage.Models.Endpoints + + Microsoft.Azure.Management.Storage.Models.Endpoints + + + + + + + Blob + + + + Queue + + + + Table + + + + File + + + + Web + + + + Dfs + + + + ConvertTo-Json $_.MicrosoftEndpoints -Compress + + + + ConvertTo-Json $_.InternetEndpoints -Compress + + + + + + + \ No newline at end of file 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/NewAzureStorageAccount.cs b/src/Storage/Storage.Management/StorageAccount/NewAzureStorageAccount.cs index fbb16af9ff4b..fc7588c5563d 100644 --- a/src/Storage/Storage.Management/StorageAccount/NewAzureStorageAccount.cs +++ b/src/Storage/Storage.Management/StorageAccount/NewAzureStorageAccount.cs @@ -197,6 +197,48 @@ public bool EnableAzureActiveDirectoryDomainServicesForFile [Parameter(Mandatory = false, HelpMessage = "Indicates whether or not the storage account can support large file shares with more than 5 TiB capacity. Once the account is enabled, the feature cannot be disabled. Currently only supported for LRS and ZRS replication types, hence account conversions to geo-redundant accounts would not be possible. Learn more in https://go.microsoft.com/fwlink/?linkid=2086047")] public SwitchParameter EnableLargeFileShare { get; set; } + [Parameter(Mandatory = false, HelpMessage = "Routing Choice defines the kind of network routing opted by the user. Possible values include: 'MicrosoftRouting', 'InternetRouting'")] + [ValidateSet( + Microsoft.Azure.Management.Storage.Models.RoutingChoice.MicrosoftRouting, + Microsoft.Azure.Management.Storage.Models.RoutingChoice.InternetRouting, + IgnoreCase = true)] + public string RoutingChoice; + + [Parameter( + Mandatory = false, + HelpMessage = "Indicates whether microsoft routing storage endpoints are to be published")] + [ValidateNotNullOrEmpty] + public bool PublishMicrosoftEndpoint + { + get + { + return publishMicrosoftEndpoint.Value; + } + set + { + publishMicrosoftEndpoint = value; + } + } + private bool? publishMicrosoftEndpoint = null; + + [Parameter( + Mandatory = false, + HelpMessage = "Indicates whether internet routing storage endpoints are to be published")] + [ValidateNotNullOrEmpty] + public bool PublishInternetEndpoint + { + get + { + return publishInternetEndpoint.Value; + } + set + { + publishInternetEndpoint = value; + } + } + private bool? publishInternetEndpoint = null; + + [Parameter( Mandatory = false, HelpMessage = "Enable Azure Files Active Directory Domain Service Authentication for the storage account.", @@ -382,6 +424,10 @@ public override void ExecuteCmdlet() createParameters.Encryption.Services.Table = new EncryptionService(keyType: this.EncryptionKeyTypeForTable); } } + if (this.RoutingChoice != null || this.publishMicrosoftEndpoint != null || this.publishInternetEndpoint != null) + { + createParameters.RoutingPreference = new RoutingPreference(this.RoutingChoice, this.publishMicrosoftEndpoint, this.publishInternetEndpoint); + } var createAccountResponse = this.StorageClient.StorageAccounts.Create( this.ResourceGroupName, 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/StorageAccount/SetAzureStorageAccount.cs b/src/Storage/Storage.Management/StorageAccount/SetAzureStorageAccount.cs index ad0a994a026a..5fbc6729ade0 100644 --- a/src/Storage/Storage.Management/StorageAccount/SetAzureStorageAccount.cs +++ b/src/Storage/Storage.Management/StorageAccount/SetAzureStorageAccount.cs @@ -215,6 +215,48 @@ public bool EnableAzureActiveDirectoryDomainServicesForFile [Parameter(Mandatory = false, HelpMessage = "Indicates whether or not the storage account can support large file shares with more than 5 TiB capacity. Once the account is enabled, the feature cannot be disabled. Currently only supported for LRS and ZRS replication types, hence account conversions to geo-redundant accounts would not be possible. Learn more in https://go.microsoft.com/fwlink/?linkid=2086047")] public SwitchParameter EnableLargeFileShare { get; set; } + [Parameter(Mandatory = false, HelpMessage = "Routing Choice defines the kind of network routing opted by the user. Possible values include: 'MicrosoftRouting', 'InternetRouting'")] + [ValidateSet( + Microsoft.Azure.Management.Storage.Models.RoutingChoice.MicrosoftRouting, + Microsoft.Azure.Management.Storage.Models.RoutingChoice.InternetRouting, + IgnoreCase = true)] + [ValidateNotNullOrEmpty] + public string RoutingChoice; + + [Parameter( + Mandatory = false, + HelpMessage = "Indicates whether microsoft routing storage endpoints are to be published")] + [ValidateNotNullOrEmpty] + public bool PublishMicrosoftEndpoint + { + get + { + return publishMicrosoftEndpoint.Value; + } + set + { + publishMicrosoftEndpoint = value; + } + } + private bool? publishMicrosoftEndpoint = null; + + [Parameter( + Mandatory = false, + HelpMessage = "Indicates whether internet routing storage endpoints are to be published")] + [ValidateNotNullOrEmpty] + public bool PublishInternetEndpoint + { + get + { + return publishInternetEndpoint.Value; + } + set + { + publishInternetEndpoint = value; + } + } + private bool? publishInternetEndpoint = null; + [Parameter( Mandatory = true, HelpMessage = "Enable Azure Files Active Directory Domain Service Authentication for the storage account.", @@ -441,6 +483,10 @@ public override void ExecuteCmdlet() { updateParameters.LargeFileSharesState = LargeFileSharesState.Enabled; } + if (this.RoutingChoice != null || this.publishMicrosoftEndpoint != null || this.publishInternetEndpoint != null) + { + updateParameters.RoutingPreference = new RoutingPreference(this.RoutingChoice, this.publishMicrosoftEndpoint, this.publishInternetEndpoint); + } var updatedAccountResponse = this.StorageClient.StorageAccounts.Update( this.ResourceGroupName, 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-AzRmStorageContainer.md b/src/Storage/Storage.Management/help/New-AzRmStorageContainer.md index 3bbba992d9e8..32e2baac8deb 100644 --- a/src/Storage/Storage.Management/help/New-AzRmStorageContainer.md +++ b/src/Storage/Storage.Management/help/New-AzRmStorageContainer.md @@ -250,7 +250,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 diff --git a/src/Storage/Storage.Management/help/New-AzStorageAccount.md b/src/Storage/Storage.Management/help/New-AzStorageAccount.md index f9ed19095843..01111edebd94 100644 --- a/src/Storage/Storage.Management/help/New-AzStorageAccount.md +++ b/src/Storage/Storage.Management/help/New-AzStorageAccount.md @@ -19,8 +19,9 @@ New-AzStorageAccount [-ResourceGroupName] [-Name] [-SkuName] < [-Kind ] [-AccessTier ] [-CustomDomainName ] [-UseSubDomain ] [-Tag ] [-EnableHttpsTrafficOnly ] [-AssignIdentity] [-NetworkRuleSet ] [-EnableHierarchicalNamespace ] [-EnableAzureActiveDirectoryDomainServicesForFile ] - [-EnableLargeFileShare] [-AsJob] [-EncryptionKeyTypeForTable ] [-EncryptionKeyTypeForQueue ] - [-DefaultProfile ] [] + [-EnableLargeFileShare] [-PublishMicrosoftEndpoint ] [-PublishInternetEndpoint ] [-AsJob] + [-EncryptionKeyTypeForTable ] [-EncryptionKeyTypeForQueue ] + [-DefaultProfile ] [-RoutingChoice ] [] ``` ### ActiveDirectoryDomainServicesForFile @@ -28,12 +29,13 @@ New-AzStorageAccount [-ResourceGroupName] [-Name] [-SkuName] < New-AzStorageAccount [-ResourceGroupName] [-Name] [-SkuName] [-Location] [-Kind ] [-AccessTier ] [-CustomDomainName ] [-UseSubDomain ] [-Tag ] [-EnableHttpsTrafficOnly ] [-AssignIdentity] [-NetworkRuleSet ] - [-EnableHierarchicalNamespace ] [-EnableLargeFileShare] - [-EnableActiveDirectoryDomainServicesForFile ] [-ActiveDirectoryDomainName ] - [-ActiveDirectoryNetBiosDomainName ] [-ActiveDirectoryForestName ] - [-ActiveDirectoryDomainGuid ] [-ActiveDirectoryDomainSid ] - [-ActiveDirectoryAzureStorageSid ] [-AsJob] [-EncryptionKeyTypeForTable ] - [-EncryptionKeyTypeForQueue ] [-DefaultProfile ] [] + [-EnableHierarchicalNamespace ] [-EnableLargeFileShare] [-PublishMicrosoftEndpoint ] + [-PublishInternetEndpoint ] [-EnableActiveDirectoryDomainServicesForFile ] + [-ActiveDirectoryDomainName ] [-ActiveDirectoryNetBiosDomainName ] + [-ActiveDirectoryForestName ] [-ActiveDirectoryDomainGuid ] + [-ActiveDirectoryDomainSid ] [-ActiveDirectoryAzureStorageSid ] [-AsJob] + [-EncryptionKeyTypeForTable ] [-EncryptionKeyTypeForQueue ] + [-DefaultProfile ] [-RoutingChoice ] [] ``` ## DESCRIPTION @@ -143,6 +145,32 @@ Enabled LastEnabledTime KeyType This command creates a Storage account with Queue and Table Service use account-scoped encryption key, so Queue and Table will use same encryption key with Blob and File service. Then get the Storage account properties, and view the encryption keytype of Queue and Table Service. +### Example 10: Create a Storage account with RoutingPreference setting +```powershell +PS C:\>$account = New-AzStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -Location "eastus2euap" -SkuName "Standard_LRS" -PublishMicrosoftEndpoint $true -PublishInternetEndpoint $true -RoutingChoice MicrosoftRouting + +PS C:\>$account.RoutingPreference + +RoutingChoice PublishMicrosoftEndpoints PublishInternetEndpoints +------------- ------------------------- ------------------------ +MicrosoftRouting True True + +PS C:\>$account.PrimaryEndpoints + +Blob : https://mystorageaccount.blob.core.windows.net/ +Queue : https://mystorageaccount.queue.core.windows.net/ +Table : https://mystorageaccount.table.core.windows.net/ +File : https://mystorageaccount.file.core.windows.net/ +Web : https://mystorageaccount.z2.web.core.windows.net/ +Dfs : https://mystorageaccount.dfs.core.windows.net/ +MicrosoftEndpoints : {"Blob":"https://mystorageaccount-microsoftrouting.blob.core.windows.net/","Queue":"https://mystorageaccount-microsoftrouting.queue.core.windows.net/","Table":"https://mystorageaccount-microsoftrouting.table.core.windows.net/","File":"ht + tps://mystorageaccount-microsoftrouting.file.core.windows.net/","Web":"https://mystorageaccount-microsoftrouting.z2.web.core.windows.net/","Dfs":"https://mystorageaccount-microsoftrouting.dfs.core.windows.net/"} +InternetEndpoints : {"Blob":"https://mystorageaccount-internetrouting.blob.core.windows.net/","File":"https://mystorageaccount-internetrouting.file.core.windows.net/","Web":"https://mystorageaccount-internetrouting.z2.web.core.windows.net/","Dfs":"https://w + eirp3-internetrouting.dfs.core.windows.net/"} +``` + +This command creates a Storage account with RoutingPreference setting: PublishMicrosoftEndpoint and PublishInternetEndpoint as true, and RoutingChoice as MicrosoftRouting. + ## PARAMETERS ### -AccessTier @@ -498,6 +526,36 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -PublishInternetEndpoint +Indicates whether internet routing storage endpoints are to be published + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PublishMicrosoftEndpoint +Indicates whether microsoft routing storage endpoints are to be published + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -ResourceGroupName Specifies the name of the resource group in which to add the Storage account. @@ -513,6 +571,22 @@ Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` +### -RoutingChoice +Routing Choice defines the kind of network routing opted by the user. Possible values include: 'MicrosoftRouting', 'InternetRouting' + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: +Accepted values: MicrosoftRouting, InternetRouting + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -SkuName Specifies the SKU name of the Storage account that this cmdlet creates. The acceptable values for this parameter are: diff --git a/src/Storage/Storage.Management/help/New-AzStorageContainer.md b/src/Storage/Storage.Management/help/New-AzStorageContainer.md index f905e724f4ba..fd899cae4197 100644 --- a/src/Storage/Storage.Management/help/New-AzStorageContainer.md +++ b/src/Storage/Storage.Management/help/New-AzStorageContainer.md @@ -13,12 +13,21 @@ Creates an Azure storage container. ## SYNTAX +### ContainerName (Default) ``` New-AzStorageContainer [-Name] [[-Permission] ] [-Context ] [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] [-DefaultProfile ] [-ConcurrentTaskCount ] [] ``` +### EncryptionScope +``` +New-AzStorageContainer [-Name] [[-Permission] ] + -DefaultEncryptionScope -PreventEncryptionScopeOverride [-Context ] + [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] + [-DefaultProfile ] [-ConcurrentTaskCount ] [] +``` + ## DESCRIPTION The **New-AzStorageContainer** cmdlet creates an Azure storage container. @@ -39,6 +48,19 @@ PS C:\>"container1 container2 container3".split() | New-AzStorageContainer -Perm This example creates multiple storage containers. It uses the **Split** method of the .NET **String** class and then passes the names on the pipeline. +### Example 3: Create an Azure storage container with Encryption Scope +``` +PS C:\> $container = New-AzStorageContainer -Name "mycontainer" -DefaultEncryptionScope "myencryptscope" -PreventEncryptionScopeOverride $true + +PS C:\> $container.BlobContainerProperties.DefaultEncryptionScope +myencryptscope + +PS C:\> $container.BlobContainerProperties.PreventEncryptionScopeOverride +True +``` + +This command creates a storage container, with default Encryption Scope as myencryptscope, and prevert blob upload with different Encryption Scope to this container. + ## PARAMETERS ### -ClientTimeoutPerRequest @@ -92,6 +114,21 @@ Accept pipeline input: True (ByPropertyName, ByValue) Accept wildcard characters: False ``` +### -DefaultEncryptionScope +Default the container to use specified encryption scope for all writes. + +```yaml +Type: System.String +Parameter Sets: EncryptionScope +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -DefaultProfile The credentials, account, tenant, and subscription used for communication with Azure. @@ -150,6 +187,21 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -PreventEncryptionScopeOverride +Block override of encryption scope from the container default. + +```yaml +Type: System.Boolean +Parameter Sets: EncryptionScope +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -ServerTimeoutPerRequest Specifies the service side time-out interval, in seconds, for a request. If the specified interval elapses before the service processes the request, the storage service returns an error. @@ -167,7 +219,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 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..ef8ff1dae1c0 --- /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-azstorageobjectreplicationpolicyrule +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-AzStorageAccount.md b/src/Storage/Storage.Management/help/Set-AzStorageAccount.md index e3a908389ca8..63cce925f005 100644 --- a/src/Storage/Storage.Management/help/Set-AzStorageAccount.md +++ b/src/Storage/Storage.Management/help/Set-AzStorageAccount.md @@ -19,8 +19,9 @@ Set-AzStorageAccount [-ResourceGroupName] [-Name] [-Force] [-S [-AccessTier ] [-CustomDomainName ] [-UseSubDomain ] [-Tag ] [-EnableHttpsTrafficOnly ] [-StorageEncryption] [-AssignIdentity] [-NetworkRuleSet ] [-UpgradeToStorageV2] - [-EnableAzureActiveDirectoryDomainServicesForFile ] [-EnableLargeFileShare] [-AsJob] - [-DefaultProfile ] [-WhatIf] [-Confirm] [] + [-EnableAzureActiveDirectoryDomainServicesForFile ] [-EnableLargeFileShare] + [-PublishMicrosoftEndpoint ] [-PublishInternetEndpoint ] [-AsJob] + [-DefaultProfile ] [-RoutingChoice ] [-WhatIf] [-Confirm] [] ``` ### KeyvaultEncryption @@ -29,8 +30,9 @@ Set-AzStorageAccount [-ResourceGroupName] [-Name] [-Force] [-S [-AccessTier ] [-CustomDomainName ] [-UseSubDomain ] [-Tag ] [-EnableHttpsTrafficOnly ] [-KeyvaultEncryption] -KeyName [-KeyVersion ] -KeyVaultUri [-AssignIdentity] [-NetworkRuleSet ] [-UpgradeToStorageV2] - [-EnableAzureActiveDirectoryDomainServicesForFile ] [-EnableLargeFileShare] [-AsJob] - [-DefaultProfile ] [-WhatIf] [-Confirm] [] + [-EnableAzureActiveDirectoryDomainServicesForFile ] [-EnableLargeFileShare] + [-PublishMicrosoftEndpoint ] [-PublishInternetEndpoint ] [-AsJob] + [-DefaultProfile ] [-RoutingChoice ] [-WhatIf] [-Confirm] [] ``` ### ActiveDirectoryDomainServicesForFile @@ -38,11 +40,12 @@ Set-AzStorageAccount [-ResourceGroupName] [-Name] [-Force] [-S Set-AzStorageAccount [-ResourceGroupName] [-Name] [-Force] [-SkuName ] [-AccessTier ] [-CustomDomainName ] [-UseSubDomain ] [-Tag ] [-EnableHttpsTrafficOnly ] [-AssignIdentity] [-NetworkRuleSet ] - [-UpgradeToStorageV2] [-EnableLargeFileShare] -EnableActiveDirectoryDomainServicesForFile + [-UpgradeToStorageV2] [-EnableLargeFileShare] [-PublishMicrosoftEndpoint ] + [-PublishInternetEndpoint ] -EnableActiveDirectoryDomainServicesForFile [-ActiveDirectoryDomainName ] [-ActiveDirectoryNetBiosDomainName ] [-ActiveDirectoryForestName ] [-ActiveDirectoryDomainGuid ] [-ActiveDirectoryDomainSid ] [-ActiveDirectoryAzureStorageSid ] [-AsJob] - [-DefaultProfile ] [-WhatIf] [-Confirm] [] + [-DefaultProfile ] [-RoutingChoice ] [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION @@ -162,6 +165,31 @@ AzureStorageSid : S-1-5-21-1234567890-1234567890-1234567890-1234 The command updates a Storage account by enable Azure Files Active Directory Domain Service Authentication, and then shows the File Identity Based authentication setting +### Example 12: Update a Storage account with RoutingPreference setting +```powershell +PS C:\>$account = Set-AzStorageAccount -ResourceGroupName "MyResourceGroup" -AccountName "mystorageaccount" -PublishMicrosoftEndpoint $false -PublishInternetEndpoint $true -RoutingChoice InternetRouting + +PS C:\>$account.RoutingPreference + +RoutingChoice PublishMicrosoftEndpoints PublishInternetEndpoints +------------- ------------------------- ------------------------ +InternetRouting False True + +PS C:\>$account.PrimaryEndpoints + +Blob : https://mystorageaccount.blob.core.windows.net/ +Queue : https://mystorageaccount.queue.core.windows.net/ +Table : https://mystorageaccount.table.core.windows.net/ +File : https://mystorageaccount.file.core.windows.net/ +Web : https://mystorageaccount.z2.web.core.windows.net/ +Dfs : https://mystorageaccount.dfs.core.windows.net/ +MicrosoftEndpoints : +InternetEndpoints : {"Blob":"https://mystorageaccount-internetrouting.blob.core.windows.net/","File":"https://mystorageaccount-internetrouting.file.core.windows.net/","Web":"https://mystorageaccount-internetrouting.z2.web.core.windows.net/","Dfs":"https://w + eirp3-internetrouting.dfs.core.windows.net/"} +``` + +This command updates a Storage account with RoutingPreference setting: PublishMicrosoftEndpoint as false, PublishInternetEndpoint as true, and RoutingChoice as MicrosoftRouting. + ## PARAMETERS ### -AccessTier @@ -504,6 +532,36 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -PublishInternetEndpoint +Indicates whether internet routing storage endpoints are to be published + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -PublishMicrosoftEndpoint +Indicates whether microsoft routing storage endpoints are to be published + +```yaml +Type: System.Boolean +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -ResourceGroupName Specifies the name of the resource group in which to modify the Storage account. @@ -519,6 +577,22 @@ Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False ``` +### -RoutingChoice +Routing Choice defines the kind of network routing opted by the user. Possible values include: 'MicrosoftRouting', 'InternetRouting' + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: +Accepted values: MicrosoftRouting, InternetRouting + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -SkuName Specifies the SKU name of the Storage account. The acceptable values for this parameter are: diff --git a/src/Storage/Storage.Management/help/Set-AzStorageBlobContent.md b/src/Storage/Storage.Management/help/Set-AzStorageBlobContent.md index 69b808b80d6d..e65bd0ae4ffe 100644 --- a/src/Storage/Storage.Management/help/Set-AzStorageBlobContent.md +++ b/src/Storage/Storage.Management/help/Set-AzStorageBlobContent.md @@ -17,17 +17,18 @@ Uploads a local file to an Azure Storage blob. ``` Set-AzStorageBlobContent [-File] [-Container] [-Blob ] [-BlobType ] [-Properties ] [-Metadata ] [-PremiumPageBlobTier ] - [-StandardBlobTier ] [-Force] [-AsJob] [-Context ] [-ServerTimeoutPerRequest ] - [-ClientTimeoutPerRequest ] [-DefaultProfile ] [-ConcurrentTaskCount ] - [-WhatIf] [-Confirm] [] + [-StandardBlobTier ] [-EncryptionScope ] [-Force] [-AsJob] [-Context ] + [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] + [-DefaultProfile ] [-ConcurrentTaskCount ] [-WhatIf] [-Confirm] + [] ``` ### ContainerPipeline ``` Set-AzStorageBlobContent [-File] [-Blob ] -CloudBlobContainer [-BlobType ] [-Properties ] [-Metadata ] - [-PremiumPageBlobTier ] [-StandardBlobTier ] [-Force] [-AsJob] - [-Context ] [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] + [-PremiumPageBlobTier ] [-StandardBlobTier ] [-EncryptionScope ] [-Force] + [-AsJob] [-Context ] [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] [-DefaultProfile ] [-ConcurrentTaskCount ] [-WhatIf] [-Confirm] [] ``` @@ -35,10 +36,10 @@ Set-AzStorageBlobContent [-File] [-Blob ] -CloudBlobContainer < ### BlobPipeline ``` Set-AzStorageBlobContent [-File] -CloudBlob [-BlobType ] [-Properties ] - [-Metadata ] [-PremiumPageBlobTier ] [-StandardBlobTier ] [-Force] - [-AsJob] [-Context ] [-ServerTimeoutPerRequest ] [-ClientTimeoutPerRequest ] - [-DefaultProfile ] [-ConcurrentTaskCount ] [-WhatIf] [-Confirm] - [] + [-Metadata ] [-PremiumPageBlobTier ] [-StandardBlobTier ] + [-EncryptionScope ] [-Force] [-AsJob] [-Context ] [-ServerTimeoutPerRequest ] + [-ClientTimeoutPerRequest ] [-DefaultProfile ] [-ConcurrentTaskCount ] + [-WhatIf] [-Confirm] [] ``` ## DESCRIPTION @@ -97,6 +98,16 @@ PS C:\> Set-AzStorageBlobContent -File "ContosoPlanning" -Container "ContosoUplo This command uploads the file that is named ContosoPlanning to the container named ContosoUploads with specified blob properties, and set StandardBlobTier as Cool. +### Example 7: Upload a file to a blob with Encryption Scope +``` +PS C:\> $blob = Set-AzStorageBlobContent -File "mylocalfile" -Container "mycontainer" -Blob "myblob" -EncryptionScope "myencryptscope" + +PS C:\> $blob.BlobProperties.EncryptionScope +myencryptscope +``` + +This command uploads a file to a blob with Encryption Scope. + ## PARAMETERS ### -AsJob @@ -267,6 +278,21 @@ Accept pipeline input: False Accept wildcard characters: False ``` +### -EncryptionScope +Encryption scope to be used when making requests to the blob. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + ### -File Specifies a local file path for a file to upload as blob content. @@ -331,7 +357,7 @@ Page Blob Tier Type: Microsoft.Azure.Storage.Blob.PremiumPageBlobTier Parameter Sets: (All) Aliases: -Accepted values: Unknown, P4, P6, P10, P20, P30, P40, P50, P60 +Accepted values: Unknown, P4, P6, P10, P20, P30, P40, P50, P60, P70, P80 Required: False Position: Named @@ -380,6 +406,7 @@ See detail in https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob- Type: System.String Parameter Sets: (All) Aliases: +Accepted values: Hot, Cool, Archive Required: False Position: Named @@ -420,7 +447,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 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 diff --git a/src/Storage/Storage/Blob/Cmdlet/NewAzureStorageContainer.cs b/src/Storage/Storage/Blob/Cmdlet/NewAzureStorageContainer.cs index 9a37728a09f2..d0111eafeacb 100644 --- a/src/Storage/Storage/Blob/Cmdlet/NewAzureStorageContainer.cs +++ b/src/Storage/Storage/Blob/Cmdlet/NewAzureStorageContainer.cs @@ -22,14 +22,27 @@ namespace Microsoft.WindowsAzure.Commands.Storage.Blob.Cmdlet using System.Management.Automation; using System.Security.Permissions; using System.Threading.Tasks; + using global::Azure.Storage.Blobs; + using global::Azure.Storage.Blobs.Models; + using global::Azure; /// /// create a new azure container /// - [Cmdlet("New", Azure.Commands.ResourceManager.Common.AzureRMConstants.AzurePrefix + "StorageContainer"),OutputType(typeof(AzureStorageContainer))] + [Cmdlet("New", Azure.Commands.ResourceManager.Common.AzureRMConstants.AzurePrefix + "StorageContainer", DefaultParameterSetName = ContainerNameParameterSet),OutputType(typeof(AzureStorageContainer))] [Alias("New-" + Azure.Commands.ResourceManager.Common.AzureRMConstants.AzurePrefix + "DatalakeGen2FileSystem")] public class NewAzureStorageContainerCommand : StorageCloudBlobCmdletBase { + /// + /// Container Name parameter + /// + private const string ContainerNameParameterSet = "ContainerName"; + + /// + /// Container create with EncryptionScope parameter + /// + private const string EncryptionScopeParameterSet = "EncryptionScope"; + [Alias("N", "Container")] [Parameter(Position = 0, Mandatory = true, HelpMessage = "Container name", ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)] @@ -47,6 +60,29 @@ public BlobContainerPublicAccessType? Permission } private BlobContainerPublicAccessType accessLevel = BlobContainerPublicAccessType.Off; + [Parameter(HelpMessage = "Default the container to use specified encryption scope for all writes.", + Mandatory = true, + ParameterSetName = EncryptionScopeParameterSet)] + [ValidateNotNullOrEmpty] + public string DefaultEncryptionScope { get; set; } + + [Parameter(HelpMessage = "Prevent override of encryption scope from the container default.", + Mandatory = true, + ParameterSetName = EncryptionScopeParameterSet)] + [ValidateNotNullOrEmpty] + public bool PreventEncryptionScopeOverride + { + get + { + return preventEncryptionScopeOverride is null ? false : preventEncryptionScopeOverride.Value; + } + set + { + preventEncryptionScopeOverride = value; + } + } + private bool? preventEncryptionScopeOverride; + /// /// Initializes a new instance of the NewAzureStorageContainerCommand class. /// @@ -77,18 +113,37 @@ internal async Task CreateAzureContainer(long taskId, IStorageBlobManagement loc BlobRequestOptions requestOptions = RequestOptions; CloudBlobContainer container = localChannel.GetContainerReference(name); + BlobContainerClient containerClient = AzureStorageContainer.GetTrack2BlobContainerClient(container, localChannel.StorageContext); - BlobContainerPermissions permissions = new BlobContainerPermissions(); - - permissions.PublicAccess = accesslevel; + PublicAccessType containerPublicAccess = PublicAccessType.None; + if (accesslevel == BlobContainerPublicAccessType.Blob) + { + containerPublicAccess = PublicAccessType.Blob; + } + else if (accesslevel == BlobContainerPublicAccessType.Container) + { + containerPublicAccess = PublicAccessType.BlobContainer; + } - bool created = await localChannel.CreateContainerIfNotExistsAsync(container, permissions.PublicAccess, requestOptions, OperationContext, CmdletCancellationToken).ConfigureAwait(false); + BlobContainerEncryptionScopeOptions encryptionScopeOption = null; + if (this.DefaultEncryptionScope != null) + { + encryptionScopeOption = new BlobContainerEncryptionScopeOptions() + { + // parameterset can ensure the 2 parameters must be set together. + DefaultEncryptionScope = this.DefaultEncryptionScope, + PreventEncryptionScopeOverride = this.preventEncryptionScopeOverride.Value + }; + } - if (!created) + Response responds = await containerClient.CreateIfNotExistsAsync(containerPublicAccess, null, encryptionScopeOption, CmdletCancellationToken).ConfigureAwait(false); + if (responds == null || responds.Value == null) // Container already exist so not created again { throw new ResourceAlreadyExistException(String.Format(Resources.ContainerAlreadyExists, name)); } + BlobContainerPermissions permissions = new BlobContainerPermissions() { PublicAccess = accesslevel }; + container.FetchAttributes(); WriteCloudContainerObject(taskId, localChannel, container, permissions); } diff --git a/src/Storage/Storage/Blob/Cmdlet/SetAzureStorageBlobContent.cs b/src/Storage/Storage/Blob/Cmdlet/SetAzureStorageBlobContent.cs index 7a192291af37..c5d4a197b2f6 100644 --- a/src/Storage/Storage/Blob/Cmdlet/SetAzureStorageBlobContent.cs +++ b/src/Storage/Storage/Blob/Cmdlet/SetAzureStorageBlobContent.cs @@ -30,6 +30,12 @@ using Microsoft.WindowsAzure.Commands.Common; using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; using Microsoft.Azure.Storage.DataMovement; +using Azure; +using Azure.Storage.Blobs; +using Azure.Storage.Files.DataLake.Models; +using Azure.Storage.Blobs.Models; +using Azure.Storage.Blobs.Specialized; +using Azure.Storage; namespace Microsoft.WindowsAzure.Commands.Storage.Blob { @@ -196,6 +202,11 @@ public string StandardBlobTier } private StandardBlobTier? standardBlobTier = null; + [Parameter(HelpMessage = "Encryption scope to be used when making requests to the blob.", + Mandatory = false)] + [ValidateNotNullOrEmpty] + public string EncryptionScope { get; set; } + private BlobUploadRequestQueue UploadRequests = new BlobUploadRequestQueue(); /// @@ -362,7 +373,17 @@ protected override void DoEndProcessing() { Tuple uploadRequest = UploadRequests.DequeueRequest(); IStorageBlobManagement localChannel = Channel; - Func taskGenerator = (taskId) => Upload2Blob(taskId, localChannel, uploadRequest.Item1, uploadRequest.Item2); + Func taskGenerator; + if (string.IsNullOrEmpty(this.EncryptionScope)) + { + //Upload with DMlib + taskGenerator = (taskId) => Upload2Blob(taskId, localChannel, uploadRequest.Item1, uploadRequest.Item2); + } + else + { + // As DMlib still not support Encryption scope, need upload with SDK directly to support Encryption scope + taskGenerator = (taskId) => UploadBlobwithSDK(taskId, localChannel, uploadRequest.Item1, uploadRequest.Item2); + } RunTask(taskGenerator); } @@ -396,6 +417,146 @@ private async Task SetBlobTier(IStorageBlobManagement localChannel, StorageBlob. } } + /// + /// Upload File to blob with storage Client library API + /// + internal virtual async Task UploadBlobwithSDK(long taskId, IStorageBlobManagement localChannel, string filePath, StorageBlob.CloudBlob blob) + { + BlobClientOptions options = null; + if (!string.IsNullOrEmpty(this.EncryptionScope)) + { + options = new BlobClientOptions() + { + EncryptionScope = this.EncryptionScope, + }; + } + + if (this.Force.IsPresent + || !blob.Exists() + || ShouldContinue(string.Format(Resources.OverwriteConfirmation, blob.Uri), null)) + { + // Prepare blob Properties, MetaData, accessTier + BlobHttpHeaders blobHttpHeaders = CreateBlobHttpHeaders(BlobProperties); + IDictionary metadata = new Dictionary(); + SetBlobMeta_Track2(metadata, this.Metadata); + AccessTier? accesstier = GetAccessTier_Track2(this.standardBlobTier, this.pageBlobTier); + + //Prepare progress handler + long fileSize = new FileInfo(ResolvedFileName).Length; + string activity = String.Format(Resources.SendAzureBlobActivity, this.File, blob.Name, blob.Container.Name); + string status = Resources.PrepareUploadingBlob; + ProgressRecord pr = new ProgressRecord(OutputStream.GetProgressId(taskId), activity, status); + IProgress progressHandler = new Progress((finishedBytes) => + { + if (pr != null) + { + // Size of the source file might be 0, when it is, directly treat the progress as 100 percent. + pr.PercentComplete = 0 == fileSize ? 100 : (int)(finishedBytes * 100 / fileSize); + pr.StatusDescription = string.Format(CultureInfo.CurrentCulture, Resources.FileTransmitStatus, pr.PercentComplete); + Console.WriteLine(finishedBytes); + this.OutputStream.WriteProgress(pr); + } + }); + + using (FileStream stream = System.IO.File.OpenRead(ResolvedFileName)) + { + //block blob + if (string.Equals(blobType, BlockBlobType, StringComparison.InvariantCultureIgnoreCase)) + { + BlobClient blobClient = GetTrack2BlobClient(blob, localChannel.StorageContext, options); + StorageTransferOptions trasnferOption = new StorageTransferOptions() { MaximumConcurrency = this.GetCmdletConcurrency() }; + await blobClient.UploadAsync(stream, blobHttpHeaders, metadata, null, progressHandler, accesstier, trasnferOption, CmdletCancellationToken).ConfigureAwait(false); + } + //Page or append blob + else if (string.Equals(blobType, PageBlobType, StringComparison.InvariantCultureIgnoreCase) + || string.Equals(blobType, AppendBlobType, StringComparison.InvariantCultureIgnoreCase)) + { + PageBlobClient pageblobClient = null; + AppendBlobClient appendblobClient = null; + + //Create Blob + if (string.Equals(blobType, PageBlobType, StringComparison.InvariantCultureIgnoreCase)) //page + { + if (fileSize % 512 != 0) + { + throw new ArgumentException(String.Format("File size {0} Bytes is invalid for PageBlob, must be a multiple of 512 bytes.", fileSize.ToString())); + } + pageblobClient = GetTrack2PageBlobClient(blob, localChannel.StorageContext, options); + Response blobInfo = await pageblobClient.CreateAsync(fileSize, null, blobHttpHeaders, metadata, null, CmdletCancellationToken).ConfigureAwait(false); + } + else //append + { + appendblobClient = GetTrack2AppendBlobClient(blob, localChannel.StorageContext, options); + Response blobInfo = await appendblobClient.CreateAsync(blobHttpHeaders, metadata, null, CmdletCancellationToken).ConfigureAwait(false); + } + + // Upload blob content + byte[] uploadcache4MB = null; + byte[] uploadcache = null; + progressHandler.Report(0); + long offset = 0; + while (offset < fileSize) + { + // Get chunk size and prepare cache + int chunksize = size4MB; + if (chunksize <= (fileSize - offset)) // Chunk size will be 4MB + { + if (uploadcache4MB == null) + { + uploadcache4MB = new byte[size4MB]; + } + uploadcache = uploadcache4MB; + } + else // last chunk can < 4MB + { + chunksize = (int)(fileSize - offset); + if (uploadcache4MB == null) + { + uploadcache = new byte[chunksize]; + } + else + { + uploadcache = uploadcache4MB; + } + } + + //Get content to upload for the chunk + int readoutcount = await stream.ReadAsync(uploadcache, 0, (int)chunksize).ConfigureAwait(false); + MemoryStream chunkContent = new MemoryStream(uploadcache, 0, readoutcount); + + //Upload content + if (string.Equals(blobType, PageBlobType, StringComparison.InvariantCultureIgnoreCase)) //page + { + Response pageInfo = await pageblobClient.UploadPagesAsync(chunkContent, offset, null, null, null, CmdletCancellationToken).ConfigureAwait(false); + } + else //append + { + Response pageInfo = await appendblobClient.AppendBlockAsync(chunkContent, null, null, null, CmdletCancellationToken).ConfigureAwait(false); + } + + // Update progress + offset += readoutcount; + progressHandler.Report(offset); + } + if(string.Equals(blobType, PageBlobType, StringComparison.InvariantCultureIgnoreCase) && accesstier != null) + { + await pageblobClient.SetAccessTierAsync(accesstier.Value, cancellationToken: CmdletCancellationToken).ConfigureAwait(false); + } + } + else + { + throw new InvalidOperationException(string.Format( + CultureInfo.CurrentCulture, + Resources.InvalidBlobType, + blobType, + BlobName)); + } + } + + WriteCloudBlobObject(taskId, localChannel, blob); + } + } + /// /// On Task run successfully /// diff --git a/src/Storage/Storage/Blob/StorageCloudBlobCmdletBase.cs b/src/Storage/Storage/Blob/StorageCloudBlobCmdletBase.cs index e43f17c22f5a..2fdb5e55162b 100644 --- a/src/Storage/Storage/Blob/StorageCloudBlobCmdletBase.cs +++ b/src/Storage/Storage/Blob/StorageCloudBlobCmdletBase.cs @@ -31,6 +31,8 @@ namespace Microsoft.WindowsAzure.Commands.Storage using global::Azure.Storage; using global::Azure; using global::Azure.Storage.Files.DataLake.Models; + using Track2blobModel = global::Azure.Storage.Blobs.Models; + using global::Azure.Storage.Blobs.Specialized; /// /// Base cmdlet for storage blob/container cmdlet @@ -642,5 +644,255 @@ protected static void SetBlobMeta(CloudBlob blob, Hashtable meta) } } } + + /// + /// CreateBlobPropertiesObject, which will be set to server + /// + /// properties to set + protected static Track2blobModel.BlobHttpHeaders CreateBlobHttpHeaders(Hashtable BlobProperties) + { + if (BlobProperties != null) + { + // Valid Blob Dir properties + foreach (DictionaryEntry entry in BlobProperties) + { + if (!validDatalakeGen2FileProperties.ContainsKey(entry.Key.ToString())) + { + throw new ArgumentException(String.Format("InvalidDataLakeFileProperties", entry.Key.ToString(), entry.Value.ToString())); + } + } + + Track2blobModel.BlobHttpHeaders headers = new Track2blobModel.BlobHttpHeaders(); + foreach (DictionaryEntry entry in BlobProperties) + { + string key = entry.Key.ToString(); + string value = entry.Value.ToString(); + Action action = validBlobProperties_Track2[key]; + + if (action != null) + { + action(headers, value); + } + } + return headers; + } + else + { + return null; + } + } + + //only support the common properties for Blob + protected static Dictionary> validBlobProperties_Track2 = + new Dictionary>(StringComparer.OrdinalIgnoreCase) + { + {"CacheControl", (p, v) => p.CacheControl = v}, + {"ContentDisposition", (p, v) => p.ContentDisposition = v}, + {"ContentEncoding", (p, v) => p.ContentEncoding = v}, + {"ContentLanguage", (p, v) => p.ContentLanguage = v}, + {"ContentMD5", (p, v) => p.ContentHash = Convert.FromBase64String(v)}, + {"ContentType", (p, v) => p.ContentType = v}, + }; + + //Update Blob Metadata + protected static IDictionary SetBlobMeta_Track2(IDictionary originalMetaData, Hashtable meta) + { + if (meta == null) + { + return originalMetaData; + } + + foreach (DictionaryEntry entry in meta) + { + string key = entry.Key.ToString(); + string value = entry.Value.ToString(); + + if (originalMetaData.ContainsKey(key)) + { + originalMetaData[key] = value; + } + else + { + originalMetaData.Add(key, value); + } + } + return originalMetaData; + } + + protected static Track2blobModel.AccessTier? GetAccessTier_Track2(StandardBlobTier? standardBlobTier, PremiumPageBlobTier? pageBlobTier) + { + if(standardBlobTier == null && pageBlobTier == null) + { + return null; + } + if (standardBlobTier != null) + { + switch (standardBlobTier.Value) + { + case StandardBlobTier.Archive: + return Track2blobModel.AccessTier.Archive; + case StandardBlobTier.Cool: + return Track2blobModel.AccessTier.Cool; + case StandardBlobTier.Hot: + return Track2blobModel.AccessTier.Hot; + default: + return null; + } + } + else //pageBlobTier != null + { + switch (pageBlobTier.Value) + { + case PremiumPageBlobTier.P4: + return Track2blobModel.AccessTier.P4; + case PremiumPageBlobTier.P6: + return Track2blobModel.AccessTier.P6; + case PremiumPageBlobTier.P10: + return Track2blobModel.AccessTier.P10; + case PremiumPageBlobTier.P20: + return Track2blobModel.AccessTier.P20; + case PremiumPageBlobTier.P30: + return Track2blobModel.AccessTier.P30; + case PremiumPageBlobTier.P40: + return Track2blobModel.AccessTier.P40; + case PremiumPageBlobTier.P50: + return Track2blobModel.AccessTier.P50; + case PremiumPageBlobTier.P60: + return Track2blobModel.AccessTier.P60; + case PremiumPageBlobTier.P70: + return Track2blobModel.AccessTier.P70; + case PremiumPageBlobTier.P80: + return Track2blobModel.AccessTier.P80; + default: + return null; + } + } + } + + // Convert Track1 Blob object to Track 2 blob Client + public static BlobClient GetTrack2BlobClient(CloudBlob cloubBlob, AzureStorageContext context, BlobClientOptions options = null) + { + BlobClient blobClient; + if (cloubBlob.ServiceClient.Credentials.IsToken) //Oauth + { + if (context == null) + { + //TODO : Get Oauth context from current login user. + throw new System.Exception("Need Storage Context to convert Track1 Blob object in token credentail to Track2 Blob object."); + } + blobClient = new BlobClient(cloubBlob.SnapshotQualifiedUri, context.Track2OauthToken, options); + + } + else if (cloubBlob.ServiceClient.Credentials.IsSAS) //SAS + { + string fullUri = cloubBlob.SnapshotQualifiedUri.ToString(); + if (cloubBlob.IsSnapshot) + { + // Since snapshot URL already has '?', need remove '?' in the first char of sas + fullUri = fullUri + "&" + cloubBlob.ServiceClient.Credentials.SASToken.Substring(1); + } + else + { + fullUri = fullUri + cloubBlob.ServiceClient.Credentials.SASToken; + } + blobClient = new BlobClient(new Uri(fullUri), options); + } + else if (cloubBlob.ServiceClient.Credentials.IsSharedKey) //Shared Key + { + blobClient = new BlobClient(cloubBlob.SnapshotQualifiedUri, + new StorageSharedKeyCredential(context.StorageAccountName, cloubBlob.ServiceClient.Credentials.ExportBase64EncodedKey()), + options); + } + else //Anonymous + { + blobClient = new BlobClient(cloubBlob.SnapshotQualifiedUri, options); + } + + return blobClient; + } + + // Convert Track1 Blob object to Track 2 page blob Client + public static PageBlobClient GetTrack2PageBlobClient(CloudBlob cloubBlob, AzureStorageContext context, BlobClientOptions options = null) + { + PageBlobClient blobClient; + if (cloubBlob.ServiceClient.Credentials.IsToken) //Oauth + { + if (context == null) + { + //TODO : Get Oauth context from current login user. + throw new System.Exception("Need Storage Context to convert Track1 Blob object in token credentail to Track2 Blob object."); + } + blobClient = new PageBlobClient(cloubBlob.SnapshotQualifiedUri, context.Track2OauthToken, options); + + } + else if (cloubBlob.ServiceClient.Credentials.IsSAS) //SAS + { + string fullUri = cloubBlob.SnapshotQualifiedUri.ToString(); + if (cloubBlob.IsSnapshot) + { + // Since snapshot URL already has '?', need remove '?' in the first char of sas + fullUri = fullUri + "&" + cloubBlob.ServiceClient.Credentials.SASToken.Substring(1); + } + else + { + fullUri = fullUri + cloubBlob.ServiceClient.Credentials.SASToken; + } + blobClient = new PageBlobClient(new Uri(fullUri), options); + } + else if (cloubBlob.ServiceClient.Credentials.IsSharedKey) //Shared Key + { + blobClient = new PageBlobClient(cloubBlob.SnapshotQualifiedUri, + new StorageSharedKeyCredential(context.StorageAccountName, cloubBlob.ServiceClient.Credentials.ExportBase64EncodedKey()), + options); + } + else //Anonymous + { + blobClient = new PageBlobClient(cloubBlob.SnapshotQualifiedUri, options); + } + + return blobClient; + } + + // Convert Track1 Blob object to Track 2 append blob Client + public static AppendBlobClient GetTrack2AppendBlobClient(CloudBlob cloubBlob, AzureStorageContext context, BlobClientOptions options = null) + { + AppendBlobClient blobClient; + if (cloubBlob.ServiceClient.Credentials.IsToken) //Oauth + { + if (context == null) + { + //TODO : Get Oauth context from current login user. + throw new System.Exception("Need Storage Context to convert Track1 Blob object in token credentail to Track2 Blob object."); + } + blobClient = new AppendBlobClient(cloubBlob.SnapshotQualifiedUri, context.Track2OauthToken, options); + + } + else if (cloubBlob.ServiceClient.Credentials.IsSAS) //SAS + { + string fullUri = cloubBlob.SnapshotQualifiedUri.ToString(); + if (cloubBlob.IsSnapshot) + { + // Since snapshot URL already has '?', need remove '?' in the first char of sas + fullUri = fullUri + "&" + cloubBlob.ServiceClient.Credentials.SASToken.Substring(1); + } + else + { + fullUri = fullUri + cloubBlob.ServiceClient.Credentials.SASToken; + } + blobClient = new AppendBlobClient(new Uri(fullUri), options); + } + else if (cloubBlob.ServiceClient.Credentials.IsSharedKey) //Shared Key + { + blobClient = new AppendBlobClient(cloubBlob.SnapshotQualifiedUri, + new StorageSharedKeyCredential(context.StorageAccountName, cloubBlob.ServiceClient.Credentials.ExportBase64EncodedKey()), + options); + } + else //Anonymous + { + blobClient = new AppendBlobClient(cloubBlob.SnapshotQualifiedUri, options); + } + + return blobClient; + } } } \ No newline at end of file diff --git a/src/Storage/Storage/Blob/StorageDataMovementCmdletBase.cs b/src/Storage/Storage/Blob/StorageDataMovementCmdletBase.cs index 2ffa8a2445be..ff51d3595f83 100644 --- a/src/Storage/Storage/Blob/StorageDataMovementCmdletBase.cs +++ b/src/Storage/Storage/Blob/StorageDataMovementCmdletBase.cs @@ -24,6 +24,8 @@ namespace Microsoft.WindowsAzure.Commands.Storage.Blob public class StorageDataMovementCmdletBase : StorageCloudBlobCmdletBase, IDisposable { + protected const int size4MB = 4 * 1024 * 1024; + /// /// Blob Transfer Manager /// diff --git a/src/Storage/Storage/Common/AzureStorageContainer.cs b/src/Storage/Storage/Common/AzureStorageContainer.cs index ea0e782abb35..9afa076a7a35 100644 --- a/src/Storage/Storage/Common/AzureStorageContainer.cs +++ b/src/Storage/Storage/Common/AzureStorageContainer.cs @@ -117,7 +117,7 @@ public void FetchAttributes() } // Convert Track1 Container object to Track 2 Container Client - protected static BlobContainerClient GetTrack2BlobContainerClient(CloudBlobContainer cloubContainer, AzureStorageContext context) + public static BlobContainerClient GetTrack2BlobContainerClient(CloudBlobContainer cloubContainer, AzureStorageContext context) { BlobContainerClient blobContainerClient; if (cloubContainer.ServiceClient.Credentials.IsToken) //Oauth