From e26ef3f678e813239b357d1bd387c8dbd56e6a19 Mon Sep 17 00:00:00 2001 From: Rohit Mahamuni <44378577+romahamu@users.noreply.github.com> Date: Mon, 13 Apr 2020 23:03:59 -0400 Subject: [PATCH] [HPC-Cache] On-boarding of PowerShell Cmdlets for HPC Cache service. (#527) * Add initial structure for AZ HPC Cache PowerShell Cmdlets. (#1) * Add initial structure for AZ HPC Cache PowerShell Cmdlets. * Adding empty folder layout. * Update project reference for Test project of HPC Cache (#2) * Initial commit of clients / first mock cmdlet (#3) * Initial commit of clients / first mock cmdlet * Initial commit of clients / first mock cmdlet * Rename Client, Remove unnecessary files, return skulist in azure cmdlet * Remove utilities * Add classes to wrap .NET SDK type object. (#4) * Create wrapper for SDK management client (#5) * Fix GetAzSku wrt client changes. * Restructure base cmdlet and mangement client class. * Test Framework, Additional Cmdlets, Sku Object, Formatting Fixes (#6) * More commands and start of test framework Move all logic out of hpc cache client to the commandlets More commands and start of test framework Updated commands using new client fix rebase fix spacing fix comments remove vars * Test Framework working, add comments to code * Help text files * Updates to cmdlet New-AzHpcCache * Update cmdlet Get-AzHpcCache * Update cmdlet Get-AzHpcCacheUsageModels * Update cmdlet Get-AzHpcCacheSku * Update cmdlet Remove-AzHpcCache * Cmdlet Update-AzHpcCache and help file * Changes made for code review * Start-AzHpcCache Cmdlet (#8) * Add support for Start-AzHpcCache. * Adds resource designer for the project. * Adds assembly info for the project. * Remove unused imports * Remove .keep files as they are no longer required. * Use resource designer to handle strings in remove hpc cache cmdlet. * Fix namespace and add project reference to test project. * Prefix with this for local references for better code readability. * Fix argument validation. * Add synopsis for start hpc cache cmdlet help file. * Update Sku Test * Fix formatting based on StyleCop * Change output type of start cmdlet (#12) * Flush-AzHpcCache cmdlet (#11) Add FlushAzHpcCache.cs and Flush-AzHpcCache.md Update Resources files. Update AzHpcCache.md to include flush markdown file. Update psd1 file to include new command. * Add support for stop HPC cache cmdlet. (#13) * Add support for stop HPC cache cmdlet. * Fix typos * Cmdlet: Remove Storage Target * Cmdlet: Upgrade-AzHpcCache * Add AsJob parameter option for action commands (#14) * UpgradeCache and RemoveStorageTarget edits * Add support for storage target create. (#17) * Add PS wrapper classes required for storage targets. * Add help for create storage target. * Add new storage target cmdlet. * Update resource designer for storage target. * Get-AzHpcCacheStorageTarget cmdlet * Fix help.md files to have correct messages * PSHpcCache (#16) * Update how cache is returned * Update what is sent into PSHpcCache.cs * Add enumberate Collection * Update help text and comments (#19) * Adds support for Set-AzHpcStorageTarget. (#20) * Add support for storage target update. * Add help for Set-AzHpcStorageTarget. * Add hook for update storage target in PSD file. * Fix typos in help and comments. * Change UpdateHpcCache to SetHpcCache. (#21) * Fix UpdateHpcCache to SetHpcCache * update help * Use Patch for Update, not Post - createOrUpdate * Change getST cmdlet to also get individual ST * Update test framework to use custom context and fixtures. (#24) * Modify HpcCacheController to use RMTestBase base class and use HpcCacheTestContext. * Update test class to use HpcCacheCollection and HpcCacheTestFixture. * Update PS file to test Get-AzHpcCache by resource group and name. * Add HpcCacheTestContext. * Add HpcCacheCollection. * Add HpcCacheTestFixture. * Add cache helper. * Add constants. * Add support to handle ENV vars from constants. * Add utilities required for fixture and custom context. * Adds storage account and storage target fixture. (#25) * Add CLFS storage target and get storage target support. * Add StorageTargetName constant. * Add StorageTargetName ENV var. * Add Retry method and Aggregate exception handler. * Add storage account fixture. * Add storage account helper. * Add example storage target cmdlet test. * Update help text in SetAzHpcStorageTarget.cs (#26) Update help text for cmdlet SetAzHpcCacheStorageTarget. * Fix help.md files and help messages * Fix for storage target update cmdlet. (#28) * Add Cache, StorageTarget, and Operations tests * If incorrect value is entered, return inner exception body message * For Get and Remove - return inner exception body message * Fix formatting / Fix Descriptions / Fix Typos (#32) * Fix formatting using stylecon * Flush cmdlet updates * Get-AzHpcCache cmdlet updates * Get-AzHpcCacheSku cmdlet updates * Get-AzHpcCacheStorageTarget cmdlet updates * Get-AzHpcCacheUsageModels cmdlet updates * New-AzHpcCache cmdlet updates * Remove-AzHpcCache cmdlet updates * Remove-AzHpcCacheStorageCache cmdlet updates * Set-AzHpcCache cmdlet updates * Start-AzHpcCache cmdlet updates * Stop-AzHpcCache cmdlet updates * Upgrade-AzHpcCache cmdlet updates * New-AzHpcCacheStorageTarget and Set-AzHpcCacheStorageTarget cmdlet updates * Fix mockContext for fixtures. (#34) * Add required packages to test project. * Add assembly info for test project. * Fix references for resource manager. * Remove constructor overloading & fix mockContext, also fix references for resource manager * Dispose the context in StorageAccountFixture and fix the mockContext. * Add storage account name constant (#35) * Add StorageAccountName constant. * Fix Context calling * Add recorded tests (#33) * Add recorded tests * Rename folder * Revert "Add storage account name constant (#35)" (#36) This reverts commit 2ac58a83937fa175dffc95b04e91c902d0702834. * Revert "Fix mockContext for fixtures. (#34)" (#37) This reverts commit 768ba7743dacae1b596d561b3eb3021829dc040a. * Fix Context (#38) * Add assebly for tests project. (#39) * Remove completed TODO check. (#40) * Add fake help urls to make CI task pass (#41) * Remove completed TODO check. * Add fake online documentation URL to make CI task pass. * Update help files to fix fake URLS. it does not like fake servie & cmdlet name. (#42) * Fix CI task related issues (#43) * Remove unused imports * Fix package references * Update session records to use correct API versions. * Package Changes / Resource Name Completer / Change Log and Solution (#44) * Update ChangeLog * move packages to test * Fix solution file, add ResourceGroupCompleter to cmdlets * move all packages * Update changelog to preview * Add inputobj and resourceId params to Start/Stop/Flush/Upgrade. Update CacheName to name (#45) * Update Flush cmdlet to have InputObj and ResourceId, Update cacheName to Name, update test * fix flush comments * Fix StartAzHpcCache to include input obj and resourceId * Fix StopAzHpcCache to include input obj and resourceId * Fix UpgradeAzHpcCache to include input obj and resourceId * test changes * fix help message for cmdlets * Add Alias and resource name completer for get cache & get storage target. (#46) * Add CacheName as an alias & use ResourceNameCompleter. * Add StorageTargetName as an alias and use ResourceNameCompleter. * Alias initialization * Get storage target support pipeline cache input. * New and Set cmdlets (#47) * update tests * update NewAzHpcCache to have should process * update Set cmdlet to use obj/resource Id and shouldProcess * remove resourceId from Set * update resouce designer * Update help files (#48) * Fix reference * Update help files * Use CheckIn type for tests. (#49) * Add CacheName and StorageTargetName alias. (#50) * Update Alias in help * Add CacheName alias and help text for parameters. * Add StorageTargetName alias. * Formatting changes. * Add description to psd * Remove whitespaces. * rename files for linux (#51) * Add shouldProcess to required cmdlets and update junction parameter. (#52) * Add shouldProcess parameter * Modify tests to honor force parameter * Update help text * Update usage model cmdlet name. * Update help for all cmdlets to include whatIf Co-authored-by: Rebecca Makar Co-authored-by: Rebecca Makar --- .../Fixtures/HpcCacheCollection.cs | 26 + .../Fixtures/HpcCacheTestContext.cs | 324 +++ .../Fixtures/HpcCacheTestFixture.cs | 172 ++ .../Fixtures/StorageAccountFixture.cs | 275 +++ .../HPCCache.Test/HPCCache.Test.csproj | 24 + .../HPCCache.Test/Helper/CacheHelper.cs | 406 ++++ .../Helper/StorageAccountsHelper.cs | 95 + .../HPCCache.Test/Properties/AssemblyInfo.cs | 50 + .../ScenarioTests/HPCCacheController.cs | 193 ++ .../HpcCacheStorageTargetTest.cs | 121 ++ .../HpcCacheStorageTargetTest.ps1 | 74 + .../ScenarioTests/HpcCacheTest.cs | 183 ++ .../ScenarioTests/HpcCacheTest.ps1 | 126 ++ .../HpcCacheTestFixture/.ctor.json | 1473 +++++++++++++ ...heStorageTargetByNameAndResourceGroup.json | 189 ++ .../TestNewGetSetRemoveST.json | 689 +++++++ .../TestSetStorgeTarget.json | 445 ++++ .../TestFlushCache.json | 308 +++ .../TestGetCacheByResourceGroupAndName.json | 189 ++ .../TestGetSku.json | 182 ++ .../TestGetUsageModel.json | 189 ++ .../TestNewCacheRemoveCache.json | 438 ++++ .../TestStartStopCache.json | 1293 ++++++++++++ .../StorageAccountFixture/.ctor.json | 1813 +++++++++++++++++ .../HPCCache.Test/Utilities/Constants.cs | 69 + .../HpcCacheTestEnvironmentUtilities.cs | 217 ++ .../Utilities/StorageCacheTestUtilities.cs | 184 ++ src/StorageCache/HPCCache/Az.HPCCache.psd1 | 138 ++ src/StorageCache/HPCCache/ChangeLog.md | 24 + .../HPCCache/Commands/FlushAzHpcCache.cs | 132 ++ .../HPCCache/Commands/GetAzHpcCache.cs | 83 + .../HPCCache/Commands/GetAzHpcCacheSku.cs | 39 + .../Commands/GetAzHpcCacheStorageTarget.cs | 113 + .../Commands/GetAzHpcCacheUsageModels.cs | 38 + .../HPCCache/Commands/NewAzHpcCache.cs | 125 ++ .../Commands/NewAzHpcStorageTarget.cs | 224 ++ .../HPCCache/Commands/RemoveAzHpcCache.cs | 93 + .../Commands/RemoveAzHpcCacheStorageTarget.cs | 100 + .../HPCCache/Commands/SetAzHpcCache.cs | 116 ++ .../Commands/SetAzHpcStorageTarget.cs | 236 +++ .../HPCCache/Commands/StartAzHpcCache.cs | 138 ++ .../HPCCache/Commands/StopAzHpcCache.cs | 133 ++ .../HPCCache/Commands/UpgradeAzHpcCache.cs | 139 ++ src/StorageCache/HPCCache/HPCCache.csproj | 32 + .../HPCCache/Models/HpcCacheBaseCmdlet.cs | 76 + .../Models/HpcCacheManagementClient.cs | 95 + .../HPCCache/Models/PSHpcCache.cs | 106 + .../HPCCache/Models/PSHpcCacheHealth.cs | 47 + .../HPCCache/Models/PSHpcCacheSku.cs | 41 + .../Models/PSHpcCacheUpgradeStatus.cs | 69 + .../HPCCache/Models/PSHpcCacheUsageModels.cs | 53 + .../HPCCache/Models/PSHpcClfsTarget.cs | 38 + .../HPCCache/Models/PSHpcNfs3Target.cs | 44 + .../HPCCache/Models/PSHpcStorageTarget.cs | 98 + .../HPCCache/Models/PSNamespaceJunction.cs | 50 + src/StorageCache/HPCCache/Models/PSSku.cs | 66 + src/StorageCache/HPCCache/Models/Utility.cs | 50 + .../HPCCache/Properties/AssemblyInfo.cs | 28 + .../HPCCache/Properties/Resources.Designer.cs | 252 +++ .../HPCCache/Properties/Resources.resx | 183 ++ .../HPCCache/StartupScripts/sample.ps1 | 1 + src/StorageCache/HPCCache/help/Az.HPCCache.md | 55 + .../HPCCache/help/Flush-AzHpcCache.md | 194 ++ .../HPCCache/help/Get-AzHpcCache.md | 100 + .../HPCCache/help/Get-AzHpcCacheSku.md | 59 + .../help/Get-AzHpcCacheStorageTarget.md | 153 ++ .../HPCCache/help/Get-AzHpcCacheUsageModel.md | 60 + .../HPCCache/help/New-AzHpcCache.md | 213 ++ .../help/New-AzHpcCacheStorageTarget.md | 269 +++ .../HPCCache/help/Remove-AzHpcCache.md | 164 ++ .../help/Remove-AzHpcCacheStorageTarget.md | 179 ++ .../HPCCache/help/Set-AzHpcCache.md | 174 ++ .../help/Set-AzHpcCacheStorageTarget.md | 224 ++ .../HPCCache/help/Start-AzHpcCache.md | 207 ++ .../HPCCache/help/Stop-AzHpcCache.md | 192 ++ .../HPCCache/help/Upgrade-AzHpcCache.md | 207 ++ src/StorageCache/HPCache.sln | 70 + .../documentation/current-breaking-changes.md | 41 + .../upcoming-breaking-changes.md | 28 + 79 files changed, 15536 insertions(+) create mode 100644 src/StorageCache/HPCCache.Test/Fixtures/HpcCacheCollection.cs create mode 100644 src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestContext.cs create mode 100644 src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestFixture.cs create mode 100644 src/StorageCache/HPCCache.Test/Fixtures/StorageAccountFixture.cs create mode 100644 src/StorageCache/HPCCache.Test/HPCCache.Test.csproj create mode 100644 src/StorageCache/HPCCache.Test/Helper/CacheHelper.cs create mode 100644 src/StorageCache/HPCCache.Test/Helper/StorageAccountsHelper.cs create mode 100644 src/StorageCache/HPCCache.Test/Properties/AssemblyInfo.cs create mode 100644 src/StorageCache/HPCCache.Test/ScenarioTests/HPCCacheController.cs create mode 100644 src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.cs create mode 100644 src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.ps1 create mode 100644 src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.cs create mode 100644 src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.ps1 create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/HpcCacheTestFixture/.ctor.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestGetAzHPCCacheStorageTargetByNameAndResourceGroup.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestNewGetSetRemoveST.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestSetStorgeTarget.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestFlushCache.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetCacheByResourceGroupAndName.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetSku.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetUsageModel.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestNewCacheRemoveCache.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestStartStopCache.json create mode 100644 src/StorageCache/HPCCache.Test/SessionRecords/StorageAccountFixture/.ctor.json create mode 100644 src/StorageCache/HPCCache.Test/Utilities/Constants.cs create mode 100644 src/StorageCache/HPCCache.Test/Utilities/HpcCacheTestEnvironmentUtilities.cs create mode 100644 src/StorageCache/HPCCache.Test/Utilities/StorageCacheTestUtilities.cs create mode 100644 src/StorageCache/HPCCache/Az.HPCCache.psd1 create mode 100644 src/StorageCache/HPCCache/ChangeLog.md create mode 100644 src/StorageCache/HPCCache/Commands/FlushAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/GetAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/GetAzHpcCacheSku.cs create mode 100644 src/StorageCache/HPCCache/Commands/GetAzHpcCacheStorageTarget.cs create mode 100644 src/StorageCache/HPCCache/Commands/GetAzHpcCacheUsageModels.cs create mode 100644 src/StorageCache/HPCCache/Commands/NewAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/NewAzHpcStorageTarget.cs create mode 100644 src/StorageCache/HPCCache/Commands/RemoveAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/RemoveAzHpcCacheStorageTarget.cs create mode 100644 src/StorageCache/HPCCache/Commands/SetAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/SetAzHpcStorageTarget.cs create mode 100644 src/StorageCache/HPCCache/Commands/StartAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/StopAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Commands/UpgradeAzHpcCache.cs create mode 100644 src/StorageCache/HPCCache/HPCCache.csproj create mode 100644 src/StorageCache/HPCCache/Models/HpcCacheBaseCmdlet.cs create mode 100644 src/StorageCache/HPCCache/Models/HpcCacheManagementClient.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcCache.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcCacheHealth.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcCacheSku.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcCacheUpgradeStatus.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcCacheUsageModels.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcClfsTarget.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcNfs3Target.cs create mode 100644 src/StorageCache/HPCCache/Models/PSHpcStorageTarget.cs create mode 100644 src/StorageCache/HPCCache/Models/PSNamespaceJunction.cs create mode 100644 src/StorageCache/HPCCache/Models/PSSku.cs create mode 100644 src/StorageCache/HPCCache/Models/Utility.cs create mode 100644 src/StorageCache/HPCCache/Properties/AssemblyInfo.cs create mode 100644 src/StorageCache/HPCCache/Properties/Resources.Designer.cs create mode 100644 src/StorageCache/HPCCache/Properties/Resources.resx create mode 100644 src/StorageCache/HPCCache/StartupScripts/sample.ps1 create mode 100644 src/StorageCache/HPCCache/help/Az.HPCCache.md create mode 100644 src/StorageCache/HPCCache/help/Flush-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Get-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Get-AzHpcCacheSku.md create mode 100644 src/StorageCache/HPCCache/help/Get-AzHpcCacheStorageTarget.md create mode 100644 src/StorageCache/HPCCache/help/Get-AzHpcCacheUsageModel.md create mode 100644 src/StorageCache/HPCCache/help/New-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/New-AzHpcCacheStorageTarget.md create mode 100644 src/StorageCache/HPCCache/help/Remove-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Remove-AzHpcCacheStorageTarget.md create mode 100644 src/StorageCache/HPCCache/help/Set-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Set-AzHpcCacheStorageTarget.md create mode 100644 src/StorageCache/HPCCache/help/Start-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Stop-AzHpcCache.md create mode 100644 src/StorageCache/HPCCache/help/Upgrade-AzHpcCache.md create mode 100644 src/StorageCache/HPCache.sln create mode 100644 src/StorageCache/documentation/current-breaking-changes.md create mode 100644 src/StorageCache/documentation/upcoming-breaking-changes.md diff --git a/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheCollection.cs b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheCollection.cs new file mode 100644 index 000000000000..b600bd9cfda1 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheCollection.cs @@ -0,0 +1,26 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Fixtures +{ + using Xunit; + + /// + /// This class is used by XUnit. + /// + [CollectionDefinition("HpcCacheCollection")] + public class HpcCacheCollection : ICollectionFixture + { + } +} diff --git a/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestContext.cs b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestContext.cs new file mode 100644 index 000000000000..e517b9bb0c50 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestContext.cs @@ -0,0 +1,324 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Fixtures +{ + using System; + using System.Collections.Generic; + using System.Linq; + using Microsoft.Azure.Commands.HPCCache.Test.Utilities; + using Microsoft.Azure.Management.Authorization; + using Microsoft.Azure.Management.Authorization.Models; + using Microsoft.Azure.Management.Internal.Resources; + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Azure.Management.Network; + using Microsoft.Azure.Management.Network.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Rest.Azure; + using Microsoft.Rest.ClientRuntime.Azure.TestFramework; + + /// + /// Defines the . + /// + public class HpcCacheTestContext : IDisposable + { + /// + /// Defines the mockContext. + /// + private readonly MockContext mockContext; + + /// + /// Defines the serviceClientCache. + /// + private readonly Dictionary serviceClientCache = new Dictionary(); + + /// + /// Defines the disposedValue. + /// + private bool disposedValue = false; + + /// + /// Initializes a new instance of the class. + /// + /// Class object. + /// Method name of the calling method. + public HpcCacheTestContext( + string suiteObject, + [System.Runtime.CompilerServices.CallerMemberName] + string methodName = ".ctor") + { + this.mockContext = MockContext.Start(suiteObject, methodName); + this.RegisterSubscriptionForResource("Microsoft.StorageCache"); + } + + /// + /// Initializes a new instance of the class. + /// + /// Class type. + /// Method name of the calling method. + public HpcCacheTestContext( + Type type, + [System.Runtime.CompilerServices.CallerMemberName] + string methodName = ".ctor") + { + this.mockContext = MockContext.Start(type.Name, methodName); + this.RegisterSubscriptionForResource("Microsoft.StorageCache"); + } + + /// + /// Get service client. + /// + /// HTTP delegation handler. + /// The type of the service client to return. + /// A management client, created from the current context (environment variables). + public TServiceClient GetClient() + where TServiceClient : class, IDisposable + { + if (this.serviceClientCache.TryGetValue(typeof(TServiceClient), out IDisposable clientObject)) + { + return (TServiceClient)clientObject; + } + + TServiceClient client = this.mockContext.GetServiceClient(); + this.serviceClientCache.Add(typeof(TServiceClient), client); + return client; + } + + /// + /// Get or create resource group. + /// + /// The name of the resource group. + /// Location where resource group is to be created. + /// ResourceGroup object. + public ResourceGroup GetOrCreateResourceGroup(string resourceGroupName, string location) + { + ResourceManagementClient resourceClient = this.GetClient(); + ResourceGroup resourceGroup = this.GetResourceGroupIfExists(resourceGroupName); + + if (resourceGroup == null) + { + resourceGroup = resourceClient.ResourceGroups.CreateOrUpdate( + resourceGroupName, + new ResourceGroup + { + Location = location, + Tags = new Dictionary() { { resourceGroupName, DateTime.UtcNow.ToString("u") } }, + }); + } + + return resourceGroup; + } + + /// + /// Get or create virtual network. + /// + /// Object representing a resource group. + /// The name of the virtual network. + /// VirtualNetwork object. + public VirtualNetwork GetOrCreateVirtualNetwork(ResourceGroup resourceGroup, string virtualNetworkName) + { + NetworkManagementClient networkManagementClient = this.GetClient(); + VirtualNetwork virtualNetwork = null; + try + { + virtualNetwork = networkManagementClient.VirtualNetworks.Get(resourceGroup.Name, virtualNetworkName); + } + catch (CloudException ex) + { + if (ex.Body.Code != "ResourceNotFound") + { + throw; + } + } + + if (virtualNetwork == null) + { + var vnet = new VirtualNetwork() + { + Location = resourceGroup.Location, + AddressSpace = new AddressSpace() + { + AddressPrefixes = new List { "10.1.0.0/16" }, + }, + }; + virtualNetwork = networkManagementClient.VirtualNetworks.CreateOrUpdate(resourceGroup.Name, virtualNetworkName, vnet); + } + + return virtualNetwork; + } + + /// + /// Get Or create subnet. + /// + /// Object representing a resource group. + /// Object representing a virtual network. + /// The name of the subnet. + /// Subnet object. + public Subnet GetOrCreateSubnet(ResourceGroup resourceGroup, VirtualNetwork virtualNetwork, string subnetName) + { + NetworkManagementClient networkManagementClient = this.GetClient(); + Subnet subNet = null; + try + { + subNet = networkManagementClient.Subnets.Get(resourceGroup.Name, virtualNetwork.Name, subnetName); + } + catch (CloudException ex) + { + if (ex.Body.Code != "NotFound") + { + throw; + } + } + + if (subNet == null) + { + var snet = new Subnet() + { + Name = subnetName, + AddressPrefix = "10.1.0.0/24", + }; + + subNet = networkManagementClient.Subnets.CreateOrUpdate(resourceGroup.Name, virtualNetwork.Name, subnetName, snet); + } + + return subNet; + } + + /// + /// Get cache if exists. + /// + /// Object representing a resource group. + /// The name of the cache. + /// Cache object if cache exists else null. + public Cache GetCacheIfExists(ResourceGroup resourceGroup, string cacheName) + { + StorageCacheManagementClient storagecacheManagementClient = this.GetClient(); + storagecacheManagementClient.ApiVersion = Constants.DefaultAPIVersion; + try + { + return storagecacheManagementClient.Caches.Get(resourceGroup.Name, cacheName); + } + catch (CloudErrorException ex) + { + if (ex.Body.Error.Code == "ResourceNotFound") + { + return null; + } + else + { + throw; + } + } + } + + /// + /// Get resource group if exists. + /// + /// The name of the resource group. + /// ResourceGroup object if resource group exists else null. + public ResourceGroup GetResourceGroupIfExists(string resourceGroupName) + { + ResourceManagementClient resourceManagementClient = this.GetClient(); + try + { + return resourceManagementClient.ResourceGroups.Get(resourceGroupName); + } + catch (CloudException ex) + { + if (ex.Body.Code == "ResourceGroupNotFound") + { + return null; + } + else + { + throw; + } + } + } + + /// + /// Register subscription for resource. + /// + /// Resource provider name. + public void RegisterSubscriptionForResource(string providerName) + { + ResourceManagementClient resourceManagementClient = this.GetClient(); + var reg = resourceManagementClient.Providers.Register(providerName); + StorageCacheTestUtilities.ThrowIfTrue(reg == null, $"Failed to register provider {providerName}"); + var result = resourceManagementClient.Providers.Get(providerName); + StorageCacheTestUtilities.ThrowIfTrue(result == null, $"Failed to register provier {providerName}"); + } + + /// + /// Add role assignment by role name. + /// + /// Object representing a HpcCacheTestContext. + /// The scope of the role assignment to create. + /// The role name. + /// The name of the role assignment to create. + public void AddRoleAssignment(HpcCacheTestContext context, string scope, string roleName, string assignmentName) + { + AuthorizationManagementClient authorizationManagementClient = context.GetClient(); + var roleDefinition = authorizationManagementClient.RoleDefinitions + .List(scope) + .First(role => role.RoleName.StartsWith(roleName)); + + var newRoleAssignment = new RoleAssignmentCreateParameters() + { + RoleDefinitionId = roleDefinition.Id, + PrincipalId = Constants.StorageCacheResourceProviderPrincipalId, + + // The principal ID assigned to the role. + // This maps to the ID inside the Active Directory. + // It can point to a user, service principal, or security group. + CanDelegate = false, + }; + + authorizationManagementClient.RoleAssignments.Create(scope, assignmentName, newRoleAssignment); + } + + /// + /// This code added to correctly implement the disposable pattern. + /// + public void Dispose() + { + this.Dispose(true); + } + + /// + /// Dispose managed state. + /// + /// true if we should dispose managed state, otherwise false. + protected virtual void Dispose(bool disposing) + { + if (!this.disposedValue) + { + if (disposing) + { + // Dispose clients + foreach (IDisposable client in this.serviceClientCache.Values) + { + client.Dispose(); + } + + // Dispose context + this.mockContext.Dispose(); + } + + this.disposedValue = true; + } + } + } +} diff --git a/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestFixture.cs b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestFixture.cs new file mode 100644 index 000000000000..8206f98b3b00 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Fixtures/HpcCacheTestFixture.cs @@ -0,0 +1,172 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Fixtures +{ + using System; + using System.Text.RegularExpressions; + using Microsoft.Azure.Commands.HPCCache.Test.Helper; + using Microsoft.Azure.Commands.HPCCache.Test.Utilities; + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Azure.Management.Network.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.Test.HttpRecorder; + + /// + /// Defines HPC cache test fixture. + /// + public class HpcCacheTestFixture : IDisposable + { + /// + /// Defines the SubnetRegex. + /// + private static readonly Regex SubnetRegex = new Regex(@"^(/subscriptions/[-0-9a-f]{36}/resourcegroups/[-\w\._\(\)]+/providers/Microsoft.Network/virtualNetworks/(?[-\w\._\(\)]+))/subnets/(?[-\w\._\(\)]+)$", RegexOptions.Compiled | RegexOptions.IgnoreCase); + + /// + /// Defines the resGroupName. + /// + private readonly string resGroupName; + + /// + /// Defines the virNetworkName. + /// + private readonly string virNetworkName; + + /// + /// Defines the subnetName. + /// + private readonly string subnetName; + + /// + /// Defines the cacheName. + /// + private readonly string cacheName; + + /// + /// Initializes a new instance of the class. + /// + public HpcCacheTestFixture() + { + using (this.Context = new HpcCacheTestContext(this.GetType().Name)) + { + this.Context = new HpcCacheTestContext(this.GetType().Name); + try + { + StorageCacheManagementClient storagecacheMgmtClient = this.Context.GetClient(); + storagecacheMgmtClient.ApiVersion = Constants.DefaultAPIVersion; + + if (string.IsNullOrEmpty(HpcCacheTestEnvironmentUtilities.ResourceGroupName) && + string.IsNullOrEmpty(HpcCacheTestEnvironmentUtilities.CacheName)) + { + this.resGroupName = StorageCacheTestUtilities.GenerateName(HpcCacheTestEnvironmentUtilities.ResourcePrefix); + this.virNetworkName = "VNet-" + this.resGroupName; + this.subnetName = "Subnet-" + this.resGroupName; + this.cacheName = "Cache-" + this.resGroupName; + } + else + { + this.resGroupName = HpcCacheTestEnvironmentUtilities.ResourceGroupName; + this.cacheName = HpcCacheTestEnvironmentUtilities.CacheName; + this.ResourceGroup = this.Context.GetOrCreateResourceGroup(this.resGroupName, HpcCacheTestEnvironmentUtilities.Location); + this.Cache = this.Context.GetCacheIfExists(this.ResourceGroup, this.cacheName); + + if (this.Cache != null) + { + Match subnetMatch = SubnetRegex.Match(this.Cache.Subnet); + this.virNetworkName = subnetMatch.Groups["VNetName"].Value; + this.subnetName = subnetMatch.Groups["SubnetName"].Value; + } + else + { + this.virNetworkName = "VNet-" + this.resGroupName; + this.subnetName = "Subnet-" + this.resGroupName; + } + } + + if (this.ResourceGroup == null) + { + this.ResourceGroup = this.Context.GetOrCreateResourceGroup(this.resGroupName, HpcCacheTestEnvironmentUtilities.Location); + } + + this.VirtualNetwork = this.Context.GetOrCreateVirtualNetwork(this.ResourceGroup, this.virNetworkName); + this.SubNet = this.Context.GetOrCreateSubnet(this.ResourceGroup, this.VirtualNetwork, this.subnetName); + + this.SubscriptionID = HpcCacheTestEnvironmentUtilities.SubscriptionId(); + this.CacheHelper = new CacheHelper(this.SubscriptionID, storagecacheMgmtClient, this.ResourceGroup, this.VirtualNetwork, this.SubNet); + var sku = HpcCacheTestEnvironmentUtilities.CacheSku; + var size = HpcCacheTestEnvironmentUtilities.CacheSize; + var int_size = int.Parse(size); + if (this.Cache == null) + { + this.Cache = null; + this.Cache = this.CacheHelper.Create(this.cacheName, sku, int_size); + if (HttpMockServer.Mode == HttpRecorderMode.Record) + { + this.CacheHelper.CheckCacheState(this.cacheName); + } + } + } + catch (Exception) + { + this.Context.Dispose(); + throw; + } + } + } + + /// + /// Gets the subscriptionID. + /// + public string SubscriptionID { get; } + + /// + /// Gets or sets the Context. + /// + public HpcCacheTestContext Context { get; set; } + + /// + /// Gets or sets the ResourceGroup. + /// + public ResourceGroup ResourceGroup { get; set; } + + /// + /// Gets or sets the VirtualNetwork. + /// + public VirtualNetwork VirtualNetwork { get; set; } + + /// + /// Gets or sets the SubNet. + /// + public Subnet SubNet { get; set; } + + /// + /// Gets or sets the Hpc cache. + /// + public CacheHelper CacheHelper { get; set; } + + /// + /// Gets or sets the Cache. + /// + public Cache Cache { get; set; } + + /// + /// Dispose the object. + /// + public void Dispose() + { + this.Context.Dispose(); + } + } +} diff --git a/src/StorageCache/HPCCache.Test/Fixtures/StorageAccountFixture.cs b/src/StorageCache/HPCCache.Test/Fixtures/StorageAccountFixture.cs new file mode 100644 index 000000000000..4159c636d342 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Fixtures/StorageAccountFixture.cs @@ -0,0 +1,275 @@ +namespace Microsoft.Azure.Commands.HPCCache.Test.Fixtures +{ + using System; + using System.Collections.Generic; + using System.Text.RegularExpressions; + using System.Web; + using Microsoft.Azure.Commands.HPCCache.Test.Helper; + using Microsoft.Azure.Commands.HPCCache.Test.Utilities; + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Azure.Management.Storage; + using Microsoft.Azure.Management.Storage.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.Test.HttpRecorder; + using Microsoft.Rest.ClientRuntime.Azure.TestFramework; + using Xunit; + using Xunit.Abstractions; + + /// + /// Storage account fixture to share created storage accounts between the tests in same class. + /// + [Collection("HpcCacheCollection")] + public class StorageAccountFixture : IDisposable + { + private static readonly Regex ClfsTargetRegex = new Regex(@"^(/subscriptions/[-0-9a-f]{36}/resourcegroups/[-\w\._\(\)]+/providers/Microsoft.Storage/storageAccounts/(?[-\w\._\(\)]+))/blobServices/default/containers/(?[-\w\._\(\)]+)$", RegexOptions.Compiled | RegexOptions.IgnoreCase); + + /// + /// Defines the Fixture. + /// + private readonly HpcCacheTestFixture fixture; + + /// + /// Defines the storage accounts cache. + /// + private readonly Dictionary storageAccountsCache = new Dictionary(); + + /// + /// Defines the blob containers cache. + /// + private readonly Dictionary blobContainersCache = new Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// HpcCacheTestFixture. + public StorageAccountFixture(HpcCacheTestFixture fixture) + { + this.fixture = fixture; + using (this.Context = new HpcCacheTestContext(this.GetType().Name)) + { + this.Context = new HpcCacheTestContext(this.GetType().Name); + this.StorageTarget = this.AddClfsStorageTarget(this.Context); + Match clfsTargetMatch = ClfsTargetRegex.Match(this.StorageTarget.Clfs.Target); + var storageAccountName = clfsTargetMatch.Groups["StorageAccountName"].Value; + StorageManagementClient storageManagementClient = this.Context.GetClient(); + StorageAccountsHelper storageAccountsHelper = new StorageAccountsHelper(storageManagementClient, this.fixture.ResourceGroup); + StorageAccount existingStorageAccount = storageAccountsHelper.GetStorageAccount(this.fixture.ResourceGroup.Name, storageAccountName); + if (!this.storageAccountsCache.TryGetValue(existingStorageAccount.Name, out StorageAccount _)) + { + this.storageAccountsCache.Add(existingStorageAccount.Name, existingStorageAccount); + } + + for (int i = 0; i < 10; i++) + { + this.AddBlobContainer(this.Context, this.fixture.ResourceGroup, existingStorageAccount, suffix: i.ToString()); + } + } + } + + /// + /// Gets or sets the Context. + /// + public HpcCacheTestContext Context { get; set; } + + /// + /// Gets or sets the storageTarget. + /// + public StorageTarget StorageTarget { get; set; } + + /// + public void Dispose() + { + // We do not create anything in this fixture but + // just use the HpcCacheTestFixture which has its own disposal method. + } + + /// + /// Adds storage account in given resource group and applies required roles. + /// + /// HpcCacheTestContext. + /// Object representing a resource group. + /// storage account name. + /// suffix. + /// Whether to add storage account contributor roles. + /// testOutputHelper. + /// Sleep time for permissions to get propagated. + /// Whether to wait for permissions to be propagated. + /// StorageAccount. + public StorageAccount AddStorageAccount( + HpcCacheTestContext context, + ResourceGroup resourceGroup, + string storageAccountName, + string suffix = null, + bool addPermissions = true, + ITestOutputHelper testOutputHelper = null, + int sleep = 300, + bool waitForPermissions = true) + { + if (this.storageAccountsCache.TryGetValue(storageAccountName + suffix, out StorageAccount storageAccount)) + { + if (testOutputHelper != null) + { + testOutputHelper.WriteLine($"Using existing storage account {storageAccountName + suffix}"); + } + + return storageAccount; + } + + StorageManagementClient storageManagementClient = context.GetClient(); + StorageAccountsHelper storageAccountsHelper = new StorageAccountsHelper(storageManagementClient, resourceGroup); + storageAccount = storageAccountsHelper.CreateStorageAccount(storageAccountName + suffix); + if (addPermissions) + { + this.AddStorageAccountAccessRules(context, storageAccount); + } + + if (waitForPermissions && HttpMockServer.Mode == HttpRecorderMode.Record) + { + if (testOutputHelper != null) + { + testOutputHelper.WriteLine($"Sleeping {sleep.ToString()} seconds while permissions propagates."); + } + TestUtilities.Wait(new TimeSpan(0, 0, sleep)); + } + + this.storageAccountsCache.Add(storageAccount.Name, storageAccount); + return storageAccount; + } + + /// + /// Adds blob container. + /// + /// HpcCacheTestContext. + /// Object representing a resource group. + /// Object representing a storage account. + /// containerName. + /// suffix. + /// testOutputHelper. + /// BlobContainer. + public BlobContainer AddBlobContainer( + HpcCacheTestContext context, + ResourceGroup resourceGroup, + StorageAccount storageAccount, + string containerName = "cmdletcontnr", + string suffix = null, + ITestOutputHelper testOutputHelper = null) + { + if (this.blobContainersCache.TryGetValue(containerName + suffix, out BlobContainer blobContainer)) + { + if (testOutputHelper != null) + { + testOutputHelper.WriteLine($"Using existing blob container {containerName + suffix}"); + } + + return blobContainer; + } + + StorageManagementClient storageManagementClient = context.GetClient(); + StorageAccountsHelper storageAccountsHelper = new StorageAccountsHelper(storageManagementClient, resourceGroup); + blobContainer = storageAccountsHelper.CreateBlobContainer(storageAccount.Name, containerName + suffix); + this.blobContainersCache.Add(blobContainer.Name, blobContainer); + return blobContainer; + } + + /// + /// Creates storage account, blob container and adds CLFS storage account to cache. + /// + /// HpcCacheTestContext. + /// suffix. + /// Whether to wait for storage target to deploy. + /// Whether to add storage account contributor roles. + /// testOutputHelper. + /// Sleep time for permissions to get propagated. + /// Whether to wait for permissions to be propagated. + /// Max retries. + /// StorageTarget. + public StorageTarget AddClfsStorageTarget( + HpcCacheTestContext context, + string storageTargetName = "msazure", + string storageAccountName = "cmdletsa", + string containerName = "cmdletcontnr", + string suffix = null, + bool waitForStorageTarget = true, + bool addPermissions = true, + ITestOutputHelper testOutputHelper = null, + int sleep = 300, + bool waitForPermissions = true, + int maxRequestTries = 25) + { + StorageTarget storageTarget; + + if (string.IsNullOrEmpty(HpcCacheTestEnvironmentUtilities.StorageTargetName)) + { + storageTargetName = string.IsNullOrEmpty(suffix) ? storageTargetName : storageTargetName + suffix; + } + else + { + storageTargetName = HpcCacheTestEnvironmentUtilities.StorageTargetName; + } + + var client = context.GetClient(); + client.ApiVersion = Constants.DefaultAPIVersion; + this.fixture.CacheHelper.StoragecacheManagementClient = client; + storageTarget = this.fixture.CacheHelper.GetStorageTarget(this.fixture.Cache.Name, storageTargetName); + + if (storageTarget == null) + { + string junction = "/junction" + suffix; + var storageAccount = this.AddStorageAccount( + context, + this.fixture.ResourceGroup, + storageAccountName, + suffix, + addPermissions, + testOutputHelper, + sleep: sleep, + waitForPermissions: waitForPermissions); + var blobContainer = this.AddBlobContainer(context, this.fixture.ResourceGroup, storageAccount, containerName, suffix, testOutputHelper); + StorageTarget storageTargetParameters = this.fixture.CacheHelper.CreateClfsStorageTargetParameters( + storageAccount.Name, + blobContainer.Name, + junction); + storageTarget = this.fixture.CacheHelper.CreateStorageTarget( + this.fixture.Cache.Name, + storageTargetName, + storageTargetParameters, + testOutputHelper, + waitForStorageTarget, + maxRequestTries); + } + + return storageTarget; + } + + /// + /// Adds storage account access roles. + /// Storage Account Contributor or Storage blob Contributor. + /// + /// Object representing a HpcCacheTestContext. + /// Object representing a storage account. + /// Object representing a testOutputHelper. + private void AddStorageAccountAccessRules( + HpcCacheTestContext context, + StorageAccount storageAccount, + ITestOutputHelper testOutputHelper = null) + { + try + { + string role1 = "Storage Account Contributor"; + context.AddRoleAssignment(context, storageAccount.Id, role1, TestUtilities.GenerateGuid().ToString()); + + // string role2 = "Storage Blob Data Contributor"; + // context.AddRoleAssignment(context, storageAccount.Id, role2, TestUtilities.GenerateGuid().ToString()); + if (testOutputHelper != null) + { + testOutputHelper.WriteLine($"Added {role1} role to storage account {storageAccount.Name}."); + } + } + catch (Exception) + { + throw; + } + } + } +} diff --git a/src/StorageCache/HPCCache.Test/HPCCache.Test.csproj b/src/StorageCache/HPCCache.Test/HPCCache.Test.csproj new file mode 100644 index 000000000000..eb44734f7e80 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/HPCCache.Test.csproj @@ -0,0 +1,24 @@ + + + + HPCCache + + + + + + $(LegacyAssemblyPrefix)$(PsModuleName)$(AzTestAssemblySuffix) + + + + + + + + + + + + + + diff --git a/src/StorageCache/HPCCache.Test/Helper/CacheHelper.cs b/src/StorageCache/HPCCache.Test/Helper/CacheHelper.cs new file mode 100644 index 000000000000..616835d917fa --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Helper/CacheHelper.cs @@ -0,0 +1,406 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Helper +{ + using System; + using System.Collections.Generic; + using System.Threading.Tasks; + using Microsoft.Azure.Commands.HPCCache.Test.Utilities; + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Azure.Management.Network; + using Microsoft.Azure.Management.Network.Models; + using Microsoft.Azure.Management.Storage; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.Test.HttpRecorder; + using Microsoft.Rest.Azure; + using Xunit.Abstractions; + + /// + /// Storage cache helper. + /// + public class CacheHelper + { + /// + /// Target resource group. + /// + private readonly ResourceGroup resourceGroup; + + /// + /// Target virtual network. + /// + private readonly VirtualNetwork virtualNetwork; + + /// + /// Target subent. + /// + private readonly Subnet subNet; + + /// + /// Subscription id. + /// + private readonly string subscriptionId; + + /// + /// Initializes a new instance of the class. + /// + /// Subscription id. + /// Object representing a cache management client. + /// Object representing a resource group. + /// Object representing a virtual network. + /// Object representing a subnet for cache. + public CacheHelper(string subscription_id, StorageCacheManagementClient client, ResourceGroup resourceGroup, VirtualNetwork virtualNetwork, Subnet subnet) + { + this.StoragecacheManagementClient = client; + this.resourceGroup = resourceGroup; + this.virtualNetwork = virtualNetwork; + this.subNet = subnet; + this.subscriptionId = subscription_id; + } + + /// + /// Gets or Sets the Storage cache management client. + /// + public StorageCacheManagementClient StoragecacheManagementClient { get; set; } + + /// + /// Gets or sets the CacheHealth + /// Gets or sets cache health. + /// + public string CacheHealth { get; set; } + + /// + /// Gets or sets the ProvisioningState + /// Gets or sets cache provisioning state. + /// + public string ProvisioningState { get; set; } + + /// + /// Get cache. + /// + /// Name of the cache. + /// Cache object. + public Cache Get(string name) + { + return this.StoragecacheManagementClient.Caches.Get(this.resourceGroup.Name, name); + } + + /// + /// Create cache. + /// + /// Name of the cache. + /// Name of the SKU. + /// Size of cache. + /// Skip get cache before creating it. + /// Cache object. + public Cache Create(string name, string sku, int cacheSize, bool skipGet = false) + { + Cache cache; + if (!skipGet) + { + try + { + cache = this.Get(name); + } + catch (CloudErrorException ex) + { + if (ex.Body.Error.Code == "ResourceNotFound") + { + cache = null; + } + else + { + throw; + } + } + } + else + { + cache = null; + } + + if (cache == null) + { + var cacheSku = new CacheSku() { Name = sku }; + var subnetUri = $"/subscriptions/{this.subscriptionId}/resourcegroups/{this.resourceGroup.Name}/providers/Microsoft.Network/virtualNetworks/{this.virtualNetwork.Name}/subnets/{this.subNet.Name}"; + var cacheParameters = new Cache() { CacheSizeGB = cacheSize, Location = this.resourceGroup.Location, Sku = cacheSku, Subnet = subnetUri }; + cache = this.StoragecacheManagementClient.Caches.CreateOrUpdate(this.resourceGroup.Name, name, cacheParameters); + } + + return cache; + } + + /// + /// Get cache provisioning state. + /// + /// Name of the cache. + /// Cache provisioning state. + public string GetCacheProvisioningState(string name) + { + try + { + var cache = this.Get(name); + string state = cache.ProvisioningState; + return state; + } + catch (CloudException) + { + return string.Empty; + } + } + + /// + /// Get cache health. + /// + /// Name of the cache. + /// Cache health. + public string GetCacheHealthState(string name) + { + try + { + var cache = this.Get(name); + string state = cache.Health.State; + return state; + } + catch (CloudException) + { + return string.Empty; + } + } + + /// + /// Check both provisioning and health state of the cache. + /// + /// Name of the cache. + public void CheckCacheState(string name) + { + this.WaitForCacheState(this.GetCacheProvisioningState, name, "Succeeded").GetAwaiter().GetResult(); + this.WaitForCacheState(this.GetCacheHealthState, name, "Healthy").GetAwaiter().GetResult(); + } + + /// + /// Wait for expected cache state. + /// + /// Function to call. + /// Name of the cache. + /// Expected sate of the cache. + /// Timeout for polling. + /// Delay between polling. + /// A representing the asynchronous operation. + public async Task WaitForCacheState( + Func operation, + string name, + string state, + int timeout = 1800, + int polling_delay = 120) + { + var waitTask = Task.Run(async () => + { + string currentState = null; + while (!string.Equals(currentState, state)) + { + currentState = operation(name); + if (operation == this.GetCacheProvisioningState + && string.Equals(currentState, "Failed", StringComparison.OrdinalIgnoreCase)) + { + throw new Exception(string.Format("Cache {0} failed to deploy.", name)); + } + + await Task.Delay(new TimeSpan(0, 0, polling_delay)); + } + + if (operation == this.GetCacheProvisioningState) + { + this.ProvisioningState = currentState; + } + + if (operation == this.GetCacheHealthState) + { + this.CacheHealth = currentState; + } + }); + + if (waitTask != await Task.WhenAny(waitTask, Task.Delay(new TimeSpan(0, 0, timeout)))) + { + throw new TimeoutException(); + } + } + + /// + /// Gets storage target. + /// + /// Storage cache name. + /// Storage target name. + /// Raise exception. + /// Storage target. + public StorageTarget GetStorageTarget(string cacheName, string storageTargetName, bool raise = false) + { + StorageTarget storageTarget; + try + { + storageTarget = this.StoragecacheManagementClient.StorageTargets.Get(this.resourceGroup.Name, cacheName, storageTargetName); + } + catch (CloudErrorException ex) + { + if (ex.Body.Error.Code == "NotFound") + { + if (raise) + { + throw; + } + + storageTarget = null; + } + else + { + throw; + } + } + + return storageTarget; + } + + /// + /// Create CLFS storage target parameters. + /// + /// Storage account name. + /// Storage container name. + /// namepace path. + /// Subscription id. + /// Resource group name. + /// CLFS storage target parameters. + public StorageTarget CreateClfsStorageTargetParameters( + string storageAccountName, + string containerName, + string namespacePath, + string subscriptionId = null, + string resourceGroupName = null) + { + var subscriptionID = string.IsNullOrEmpty(subscriptionId) ? this.subscriptionId : subscriptionId; + var resourceGroup = string.IsNullOrEmpty(resourceGroupName) ? this.resourceGroup.Name : resourceGroupName; + ClfsTarget clfsTarget = new ClfsTarget() + { + Target = + $"/subscriptions/{subscriptionID}/" + + $"resourceGroups/{resourceGroup}/" + + $"providers/Microsoft.Storage/storageAccounts/{storageAccountName}/" + + $"blobServices/default/containers/{containerName}", + }; + + NamespaceJunction namespaceJunction = new NamespaceJunction() + { + NamespacePath = namespacePath, + TargetPath = "/", + }; + + StorageTarget storageTargetParameters = new StorageTarget + { + TargetType = "clfs", + Clfs = clfsTarget, + Junctions = new List() { namespaceJunction }, + }; + + return storageTargetParameters; + } + + /// + /// Create CLFS storage target. + /// + /// Storage cache name. + /// Storage target name. + /// Object representing a Storage target parameters. + /// Object representing a ITestOutputHelper. + /// Wait for storage target to deploy. + /// Max retries. + /// Delay between each retries in seconds. + /// CLFS storage target. + public StorageTarget CreateStorageTarget( + string cacheName, + string storageTargetName, + StorageTarget storageTargetParameters, + ITestOutputHelper testOutputHelper = null, + bool waitForStorageTarget = true, + int maxRequestTries = 25, + int delayBetweenTries = 90) + { + StorageTarget storageTarget; + storageTarget = StorageCacheTestUtilities.Retry( + () => + this.StoragecacheManagementClient.StorageTargets.CreateOrUpdate( + this.resourceGroup.Name, + cacheName, + storageTargetName, + storageTargetParameters), + maxRequestTries, + delayBetweenTries, + "hasn't sufficient permissions", + testOutputHelper); + + if (waitForStorageTarget) + { + this.WaitForStoragteTargetState(cacheName, storageTargetName, "Succeeded", testOutputHelper).GetAwaiter().GetResult(); + } + + return storageTarget; + } + + /// + /// Blocks until storage target ProvisioningState is as expected or timeout occurs. + /// + /// Name of the cache. + /// Name of the storage target. + /// Expected sate of the storage target. + /// Object representing a Storage target parameters. + /// Delay between cache polling. + /// Timeout for cache polling. + /// A representing the asynchronous operation. + public async Task WaitForStoragteTargetState( + string cacheName, + string storageTargetName, + string state, + ITestOutputHelper testOutputHelper = null, + int polling_delay = 60, + int timeout = 900) + { + var waitTask = Task.Run(async () => + { + string currentState = null; + while (!string.Equals(currentState, state)) + { + currentState = this.GetStorageTarget(cacheName, storageTargetName).ProvisioningState; + if (testOutputHelper != null) + { + testOutputHelper.WriteLine($"Waiting for successful deploy of storage target {storageTargetName}, current state is {currentState}"); + } + + if (string.Equals(currentState, "Failed")) + { + throw new Exception($"Storage target {storageTargetName} failed to deploy."); + } + + if (HttpMockServer.Mode == HttpRecorderMode.Record) + { + await Task.Delay(new TimeSpan(0, 0, polling_delay)); + } + } + }); + + if (waitTask != await Task.WhenAny(waitTask, Task.Delay(new TimeSpan(0, 0, timeout)))) + { + throw new TimeoutException(); + } + } + } +} diff --git a/src/StorageCache/HPCCache.Test/Helper/StorageAccountsHelper.cs b/src/StorageCache/HPCCache.Test/Helper/StorageAccountsHelper.cs new file mode 100644 index 000000000000..d5a7a0838d0b --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Helper/StorageAccountsHelper.cs @@ -0,0 +1,95 @@ +namespace Microsoft.Azure.Commands.HPCCache.Test.Helper +{ + using Microsoft.Azure.Management.Internal.Resources.Models; + using Microsoft.Azure.Management.Storage; + using Microsoft.Azure.Management.Storage.Models; + using Sku = Microsoft.Azure.Management.Storage.Models.Sku; + + /// + /// Storage account helper. + /// + public class StorageAccountsHelper + { + private static readonly string DefaultSkuName = SkuName.StandardLRS; + private static readonly string DefaultKind = Kind.StorageV2; + + /// + /// Target resource group. + /// + private readonly ResourceGroup resourceGroup; + + /// + /// Initializes a new instance of the class. + /// + /// Object representing a storage management client. + /// Object representing a resource group. + public StorageAccountsHelper(StorageManagementClient client, ResourceGroup resourceGroup) + { + this.StorageManagementClient = client; + this.resourceGroup = resourceGroup; + } + + /// + /// Gets or Sets the Storage cache management client. + /// + public StorageManagementClient StorageManagementClient { get; set; } + + /// + /// Creates storage account. + /// + /// Storage account to be created. + /// Storage SKU. + /// Storage kind. + /// Stoprage account. + public StorageAccount CreateStorageAccount(string storageAccountName, string skuName = null, string storageKind = null) + { + var sku = string.IsNullOrEmpty(skuName) ? DefaultSkuName : skuName; + var kind = string.IsNullOrEmpty(storageKind) ? DefaultKind : storageKind; + + StorageAccountCreateParameters storageAccountCreateParameters = new StorageAccountCreateParameters + { + Location = this.resourceGroup.Location, + + // Tags = DefaultTags, + Sku = new Sku() { Name = sku }, + Kind = kind, + }; + StorageAccount storageAccount = this.StorageManagementClient.StorageAccounts.Create(this.resourceGroup.Name, storageAccountName, storageAccountCreateParameters); + return storageAccount; + } + + /// + /// Create Blob container. + /// + /// Storage account where container is to be created. + /// Container name. + /// Blob container. + public BlobContainer CreateBlobContainer(string storageAccountName, string containerName) + { + BlobContainer blobContainer = this.StorageManagementClient.BlobContainers.Create(this.resourceGroup.Name, storageAccountName, containerName, publicAccess: PublicAccess.Blob); + return blobContainer; + } + + /// + /// GetStorageAccount. + /// + /// resourceGroupName. + /// storageAccountName. + /// StorageAccount. + public StorageAccount GetStorageAccount(string resourceGroupName, string storageAccountName) + { + StorageAccount storageAccount = null; + var storageAccounts = this.StorageManagementClient.StorageAccounts.ListByResourceGroup(resourceGroupName); + foreach (StorageAccount storageAcnt in storageAccounts) + { + if (storageAcnt.Name == storageAccountName) + { + storageAccount = storageAcnt; + break; + } + } + + return storageAccount; + } + } +} diff --git a/src/StorageCache/HPCCache.Test/Properties/AssemblyInfo.cs b/src/StorageCache/HPCCache.Test/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..38e0cc647ac4 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Properties/AssemblyInfo.cs @@ -0,0 +1,50 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System.Reflection; +using System.Runtime.InteropServices; +using Xunit; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Microsoft.Azure.Commands.HPCCache.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Microsoft.Azure.Commands.HPCCache.Test")] +[assembly: AssemblyCopyright(Microsoft.WindowsAzure.Commands.Common.AzurePowerShell.AssemblyCopyright)] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("982874c2-6cd1-4bd3-8330-ae71b69e1fc3")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0")] +[assembly: AssemblyFileVersion("1.0.0")] +[assembly: CollectionBehavior(DisableTestParallelization = true)] \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/ScenarioTests/HPCCacheController.cs b/src/StorageCache/HPCCache.Test/ScenarioTests/HPCCacheController.cs new file mode 100644 index 000000000000..46b94476606d --- /dev/null +++ b/src/StorageCache/HPCCache.Test/ScenarioTests/HPCCacheController.cs @@ -0,0 +1,193 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests +{ + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.IO; + using System.Linq; + using Microsoft.Azure.Commands.Common.Authentication; + using Microsoft.Azure.Commands.HPCCache.Test.Fixtures; + using Microsoft.Azure.Management.Internal.Resources; + using Microsoft.Azure.Management.Storage; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.ServiceManagement.Common.Models; + using Microsoft.Azure.Test.HttpRecorder; + using Microsoft.WindowsAzure.Commands.ScenarioTest; + using Microsoft.WindowsAzure.Commands.Test.Utilities.Common; + + /// + /// Base test controller class. + /// + public class HpcCacheController : RMTestBase + { + private readonly EnvironmentSetupHelper helper; + + /// + /// Initializes a new instance of the class. + /// + protected HpcCacheController() + { + this.helper = new EnvironmentSetupHelper(); + } + + /// + /// Gets HpcCacheTestBase instance. + /// + public static HpcCacheController NewInstance => new HpcCacheController(); + + /// + /// Gets resource management client. + /// + public ResourceManagementClient ResourceManagementClient { get; private set; } + + /// + /// Gets HPC cache management client. + /// + public StorageCacheManagementClient StorageCacheManagementClient { get; private set; } + + /// + /// Gets storage management client. + /// + public StorageManagementClient StorageManagementClient { get; private set; } + + /// + /// Methods for invoking PowerShell scripts. + /// + /// logger. + /// scripts. + public void RunPsTest(XunitTracingInterceptor logger, params string[] scripts) + { + var sf = new StackTrace().GetFrame(1); + var callingClassType = sf.GetMethod().ReflectedType?.ToString(); + var mockName = sf.GetMethod().Name; + + logger.Information(string.Format("Test method entered: {0}.{1}", callingClassType, mockName)); + this.RunPsTestWorkflow( + logger, + () => scripts, + null, + callingClassType, + mockName); + logger.Information(string.Format("Test method finished: {0}.{1}", callingClassType, mockName)); + } + + /// + /// RunPsTestWorkflow. + /// + /// logger. + /// scriptBuilder. + /// cleanup. + /// callingClassType. + /// mockName. + /// initialize. + protected void RunPsTestWorkflow( + XunitTracingInterceptor logger, + Func scriptBuilder, + Action cleanup, + string callingClassType, + string mockName, + Action initialize = null) + { + this.helper.TracingInterceptor = logger; + var d = new Dictionary + { + { "Microsoft.Resources", null }, + { "Microsoft.Features", null }, + { "Microsoft.Authorization", null }, + }; + var providersToIgnore = new Dictionary + { + { "Microsoft.Azure.Management.Resources.ResourceManagementClient", "2016-02-01" }, + { "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient", "2017-05-10" }, + }; + HttpMockServer.Matcher = new PermissiveRecordMatcherWithApiExclusion(true, d, providersToIgnore); + HttpMockServer.RecordsDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SessionRecords"); + using (var context = new HpcCacheTestContext(callingClassType, mockName)) + { + initialize?.Invoke(); + this.SetupManagementClients(context); + + var callingClassName = callingClassType.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries).Last(); + this.helper.SetupModules( + AzureModule.AzureResourceManager, + "ScenarioTests\\" + callingClassName + ".ps1", + this.helper.RMProfileModule, + this.helper.GetRMModulePath("Az.HPCCache.psd1"), + "AzureRM.Resources.ps1"); + + try + { + var psScripts = scriptBuilder?.Invoke(); + if (psScripts != null) + { + this.helper.RunPowerShellTest(psScripts); + } + } + finally + { + cleanup?.Invoke(); + } + } + } + + /// + /// Management clients. + /// + /// context. + protected void SetupManagementClients(HpcCacheTestContext context) + { + var hpcCacheManagementClient = this.GetHpcCacheManagementClient(context); + var resourceManagementClient = this.GetResourceManagementClient(context); + var storageManagementClient = this.GetStorageManagementClient(context); + + this.helper.SetupManagementClients( + hpcCacheManagementClient, + resourceManagementClient, + storageManagementClient); + } + + /// + /// GetHpcCacheManagementClient. + /// + /// context. + /// StorageCacheManagementClient. + protected StorageCacheManagementClient GetHpcCacheManagementClient(HpcCacheTestContext context) + { + return context.GetClient(); + } + + /// + /// GetResourceManagementClient. + /// + /// context. + /// ResourceManagementClient. + protected ResourceManagementClient GetResourceManagementClient(HpcCacheTestContext context) + { + return context.GetClient(); + } + + /// + /// GetStorageManagementClient. + /// + /// context. + /// StorageManagementClient. + protected StorageManagementClient GetStorageManagementClient(HpcCacheTestContext context) + { + return context.GetClient(); + } + } +} diff --git a/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.cs b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.cs new file mode 100644 index 000000000000..cb5dbf5b2410 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests +{ + using Microsoft.Azure.Commands.HPCCache.Test.Fixtures; + using Microsoft.Azure.ServiceManagement.Common.Models; + using Microsoft.WindowsAzure.Commands.ScenarioTest; + using Xunit; + using Xunit.Abstractions; + + /// + /// HpcCacheTest. + /// + [Collection("HpcCacheCollection")] + public class HpcCacheStorageTargetTest : IClassFixture + { + /// + /// Defines the testOutputHelper. + /// + private readonly ITestOutputHelper testOutputHelper; + + /// + /// Defines the Fixture. + /// + private readonly HpcCacheTestFixture fixture; + + /// + /// StorageAccountFixture. + /// + private readonly StorageAccountFixture storageAccountFixture; + + /// + /// XunitTracingInterceptor. + /// + private readonly XunitTracingInterceptor logger; + + /// + /// Initializes a new instance of the class. + /// + /// The testOutputHelper. + /// The Fixture. + /// Storage account fixture. + public HpcCacheStorageTargetTest(ITestOutputHelper testOutputHelper, HpcCacheTestFixture fixture, StorageAccountFixture storageAccountFixture) + { + this.fixture = fixture; + this.testOutputHelper = testOutputHelper; + this.storageAccountFixture = storageAccountFixture; + this.logger = new XunitTracingInterceptor(this.testOutputHelper); + XunitTracingInterceptor.AddToContext(this.logger); + } + + /// + /// Test GetAzHPCCacheStorageTarget by resource group and name. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetAzHPCCacheStorageTargetByNameAndResourceGroup() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2} {3}", + "Test-GetAzHPCCacheStorageTargetByNameAndResourceGroup", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name, + this.storageAccountFixture.StorageTarget.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Set-AzHpcCacheST by resource group, cachenme, storagetarget. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestSetStorgeTarget() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2} {3}", + "Test-SetStorageTarget", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name, + this.storageAccountFixture.StorageTarget.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test New Set Remove and Get resource group, cachenme, storagetarget. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewGetSetRemoveST() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2} {3}", + "Test-New-Get-Remove-StorageTarget", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name, + this.fixture.SubscriptionID), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.ps1 b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.ps1 new file mode 100644 index 000000000000..72f5fcf61721 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheStorageTargetTest.ps1 @@ -0,0 +1,74 @@ +function Test-GetAzHPCCacheStorageTargetByNameAndResourceGroup +{ + Param($ResourceGroupName, $CacheName, $StorageTargetName) + $storageTargetObj = Get-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $StorageTargetName + Assert-AreEqual $StorageTargetName $storageTargetObj.Name +} + +function Test-New-Get-Remove-StorageTarget +{ + Param($ResourceGroupName, $CacheName, $SubscriptionID) + $StorageAccountName = "cmdletsa" + $stName = "powershellstoragetarget" + $junctions = @(@{"namespacePath"="/msazure";"targetPath"="/";"nfsExport"="/"}) + $containerId = "/subscriptions/" + $SubscriptionID +"/resourceGroups/" + $ResourceGroupName + "/providers/Microsoft.Storage/storageAccounts/" + $storageAccountName + "/blobServices/default/containers/cmdletcontnr4" + New-AzHpcCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName -CLFS -StorageContainerID $containerID -Junction $junctions -Force + Start-Sleep -s 5 + $storageTarget = Get-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName + Assert-AreEqual $stName $storageTarget.Name + Assert-AreEqual "CLFS" $storageTarget.TargetType + + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + # In loop to check if StorageTarget is Succeeded + for ($i = 0; $i -le 20; $i++) + { + Start-Sleep -s 30 + $storageTargetGet = Get-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName + if ([string]::Compare("Succeeded", $storageTargetGet.ProvisioningState, $True) -eq 0) + { + Assert-AreEqual $stName $storageTargetGet.Name + Assert-AreEqual "Succeeded" $storageTargetGet.ProvisioningState + break + } + Assert-False {$i -eq 20} "StorageTarget is not done completeling after 10 minutes." + } + } + + $storageTargetRemove = Remove-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName -PassThru -Force + Assert-AreEqual $storageTargetRemove True + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + Start-Sleep -s 120 + } +} + + +function Test-SetStorageTarget +{ + Param($ResourceGroupName, $CacheName, $stName) + $junctions = @(@{"namespacePath"="/abcdefgh";"targetPath"="/";"nfsExport"="/"}) + Set-AzHpcCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName -CLFS -Junction $junctions -Force + Start-Sleep -s 5 + $storageTarget = Get-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName + Assert-AreEqual $stName $storageTarget.Name + Assert-AreEqual "CLFS" $storageTarget.TargetType + + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + # In loop to check if StorageTarget is Succeeded + for ($i = 0; $i -le 20; $i++) + { + Start-Sleep -s 30 + $storageTargetGet = Get-AzHPCCacheStorageTarget -ResourceGroupName $ResourceGroupName -CacheName $CacheName -StorageTargetName $stName + if ([string]::Compare("Succeeded", $storageTargetGet.ProvisioningState, $True) -eq 0) + { + Assert-AreEqual $stName $storageTargetGet.Name + Assert-AreEqual "Succeeded" $storageTargetGet.ProvisioningState + Assert-AreEqual "/abcdefgh" $storageTargetGet.Junctions.nameSpacePath + break + } + Assert-False {$i -eq 20} "StorageTarget is not done completeling after 10 minutes." + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.cs b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.cs new file mode 100644 index 000000000000..41f9b3aad5b3 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.cs @@ -0,0 +1,183 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests +{ + using Microsoft.Azure.Commands.HPCCache.Test.Fixtures; + using Microsoft.Azure.ServiceManagement.Common.Models; + using Microsoft.WindowsAzure.Commands.ScenarioTest; + using Xunit; + using Xunit.Abstractions; + + /// + /// HpcCacheTest. + /// + [Collection("HpcCacheCollection")] + public class HpcCacheTest + { + /// + /// Defines the testOutputHelper. + /// + private readonly ITestOutputHelper testOutputHelper; + + /// + /// Defines the Fixture. + /// + private readonly HpcCacheTestFixture fixture; + + /// + /// XunitTracingInterceptor. + /// + private readonly XunitTracingInterceptor logger; + + /// + /// Initializes a new instance of the class. + /// + /// The testOutputHelper. + /// The Fixture. + public HpcCacheTest(ITestOutputHelper testOutputHelper, HpcCacheTestFixture fixture) + { + this.fixture = fixture; + this.testOutputHelper = testOutputHelper; + this.logger = new XunitTracingInterceptor(this.testOutputHelper); + XunitTracingInterceptor.AddToContext(this.logger); + } + + /// + /// Test Get-AzHpcCache by resource group and name. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetCacheByResourceGroupAndName() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2}", + "Test-GetAzHPCCacheByNameAndResourceGroup", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Flush-AzHpcCache by resource group and name. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestFlushCache() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2}", + "Test-FlushCache", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Start/Stop-AzHpcCache by resource group and name. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestStartStopCache() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2}", + "Test-Stop-Start-Cache", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + + /// + /// Test New-AzHpcCache and Remove-AzHpcCache. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestNewCacheRemoveCache() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2} {3} {4} {5}", + "Test-NewCache-RemoveCache", + this.fixture.ResourceGroup.Name, + this.fixture.SubscriptionID, + this.fixture.ResourceGroup.Location, + this.fixture.VirtualNetwork.Name, + this.fixture.SubNet.Name) + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Set-AzHpcCache by resource group and name. + /// + [Fact(Skip = "Bug in SetCache if cache has no tags, causes null pointer exception - internal server error.")] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestSetCache() + { + var scripts = new string[] + { + string.Format( + "{0} {1} {2}", + "Test-SetCache", + this.fixture.ResourceGroup.Name, + this.fixture.Cache.Name), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Get-AzHpcCacheUsageModel. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetUsageModel() + { + var scripts = new string[] + { + string.Format( + "{0}", + "Test-GetUsageModel"), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + + /// + /// Test Get-AzHpcCacheSku. + /// + [Fact] + [Trait(Category.AcceptanceType, Category.CheckIn)] + public void TestGetSku() + { + var scripts = new string[] + { + string.Format( + "{0}", + "Test-GetSku"), + }; + HpcCacheController.NewInstance.RunPsTest(this.logger, scripts); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.ps1 b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.ps1 new file mode 100644 index 000000000000..cc5b1430a084 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/ScenarioTests/HpcCacheTest.ps1 @@ -0,0 +1,126 @@ +function Test-GetAzHPCCacheByNameAndResourceGroup +{ + Param($ResourceGroupName, $CacheName) + $cacheObj = Get-AzHPCCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + write-host $cacheObj + Assert-AreEqual $CacheName $cacheObj.CacheName +} + +function Test-FlushCache +{ + Param($ResourceGroupName, $CacheName) + $bool = Flush-AzHpcCache -ResourceGroupName $ResourceGroupName -Name $CacheName -PassThru -Force + Assert-AreEqual $bool True + $cacheObj = Get-AzHPCCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + Assert-AreEqual $CacheName $cacheObj.CacheName + Assert-AreEqual "Flushing" $cacheObj.Health.state + + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + # In loop to check if cache is healthy yet + for ($i = 0; $i -le 5; $i++) + { + Start-Sleep -s 60 + $cacheGet = Get-AzHPCCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + if ([string]::Compare("Healthy", $cacheGet.Health.state, $True) -eq 0) + { + Assert-AreEqual $CacheName $cacheGet.CacheName + Assert-AreEqual "Healthy" $cacheGet.Health.state + break + } + Assert-False {$i -eq 5} "Cache is not Healthy after 5 min." + } + } +} + +function Test-Stop-Start-Cache +{ + Param($ResourceGroupName, $CacheName) + $bool = Stop-AzHpcCache -ResourceGroupName $ResourceGroupName -Name $CacheName -PassThru -Force + Assert-AreEqual $bool True + + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + # In loop to check if cache is stopped + for ($i = 0; $i -le 15; $i++) + { + Start-Sleep -s 60 + $cacheGet = Get-AzHPCCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + if ([string]::Compare("Stopped", $cacheGet.Health.state, $True) -eq 0) + { + Assert-AreEqual $CacheName $cacheGet.CacheName + Assert-AreEqual "Stopped" $cacheGet.Health.state + break + } + Assert-False {$i -eq 15} "Cache is not Stopped after 15 min." + } + } + $boolStart = Start-AzHpcCache -ResourceGroupName $ResourceGroupName -Name $CacheName -PassThru -Force + Assert-AreEqual $boolStart True + + if ([Microsoft.Azure.Test.HttpRecorder.HttpMockServer]::Mode -ne [Microsoft.Azure.Test.HttpRecorder.HttpRecorderMode]::Playback) + { + # In loop to check if cache is healthy/started + for ($i = 0; $i -le 20; $i++) + { + Start-Sleep -s 60 + $cacheGet = Get-AzHPCCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + if ([string]::Compare("Healthy", $cacheGet.Health.state, $True) -eq 0) + { + Assert-AreEqual $CacheName $cacheGet.CacheName + Assert-AreEqual "Healthy" $cacheGet.Health.state + break + } + Assert-False {$i -eq 20} "Cache is not Healthy after 20 min." + } + } +} + +function Test-NewCache-RemoveCache +{ + Param($ResourceGroupName, $SubID, $Location, $Vnet, $Subnet) + $cache = "powershell2" + $sku = "Standard_2G" + $subnetUri = "/subscriptions/" + $SubID +"/resourceGroups/" + $ResourceGroupName + "/providers/Microsoft.Network/virtualNetworks/" + $Vnet + "/subnets/" + $Subnet + $cacheCreate = New-AzHpcCache -ResourceGroupName $ResourceGroupName -Name $cache -Location $Location -CacheSize 3072 -Sku $sku -SubnetUri $subnetUri + Start-Sleep -s 2 + $cacheCreated = Get-AzHpcCache -ResourceGroupName $resourceGroupName -CacheName $cache + + Assert-AreEqual $cache $cacheCreated.CacheName + Assert-AreEqual $Location $cacheCreated.Location + Assert-AreEqual $ResourceGroupName $cacheCreated.ResourceGroupName + Assert-AreEqual 3072 $cacheCreated.CacheSize + + $bool = Remove-AzHpcCache -ResourceGroupName $ResourceGroupName -CacheName $cache -PassThru -Force + Assert-AreEqual $bool True + $getOnRemovedCache = Get-AzHpcCache -ResourceGroupName $ResourceGroupName -CacheName $cache + Assert-AreEqual $cache $getOnRemovedCache.CacheName + Assert-AreEqual "Stopping" $getOnRemovedCache.Health.state +} + +function Test-SetCache +{ + Param($ResourceGroupName, $CacheName) + $tags = @{"tag1" = "value1"; "tag2" = "value2"} + $updateCache = Set-AzHpcCache -ResourceGroupName $ResourceGroupName -Name $CacheName -Tag $tags + Assert-Match $updateCache.Tags '"tag2": "value2" "tag1": "value1"' + Start-Sleep -s 2 + $getCache = Get-AzHpcCache -ResourceGroupName $ResourceGroupName -CacheName $CacheName + Assert-AreEqual $CacheName $getCache.CacheName + Assert-Match getCache.Tags '"tag2": "value2" "tag1": "value1"' +} + +function Test-GetUsageModel +{ + $usagemodel = Get-AzHpcCacheUsageModel + Assert-AreEqual 3 $usagemodel.TargetType.Count + Assert-AreEqual "READ_HEAVY_INFREQ" $usagemodel.Name.GetValue(0) + Assert-AreEqual "WRITE_WORKLOAD_15" $usagemodel.Name.GetValue(1) + Assert-AreEqual "WRITE_AROUND" $usagemodel.Name.GetValue(2) +} + +function Test-GetSku +{ + $sku = Get-AzHpcCacheSku + Assert-AreEqual "caches" $sku.Get(1).ResourceType +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/HpcCacheTestFixture/.ctor.json b/src/StorageCache/HPCCache.Test/SessionRecords/HpcCacheTestFixture/.ctor.json new file mode 100644 index 000000000000..7a522b3a1e1c --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/HpcCacheTestFixture/.ctor.json @@ -0,0 +1,1473 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "59568342-ea25-44ff-a788-6bca9b77bbeb" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "640c4346-30d4-4582-a4ea-428ae640307e" + ], + "x-ms-correlation-request-id": [ + "640c4346-30d4-4582-a4ea-428ae640307e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135943Z:640c4346-30d4-4582-a4ea-428ae640307e" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:43 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "65f42dac-14ea-48aa-982a-9668648d81a4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "cd8299e2-fbf3-49fe-aa08-7363675dae54" + ], + "x-ms-correlation-request-id": [ + "cd8299e2-fbf3-49fe-aa08-7363675dae54" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135943Z:cd8299e2-fbf3-49fe-aa08-7363675dae54" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:43 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e4457a1f-3e4b-4174-a550-16eaa9e4b72a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-failure-cause": [ + "gateway" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-request-id": [ + "3371da15-9572-4c85-b738-05a8a52a76d9" + ], + "x-ms-correlation-request-id": [ + "3371da15-9572-4c85-b738-05a8a52a76d9" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135943Z:3371da15-9572-4c85-b738-05a8a52a76d9" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:43 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "108" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceGroupNotFound\",\r\n \"message\": \"Resource group 'hpc0313x636d2111' could not be found.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxNi0wOS0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"hpc0313x636d2111\": \"2020-03-13 13:59:43Z\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "6e1c07fc-0444-4017-9f83-5bbf1a752d42" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "95" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "a2861f65-0be1-437f-8afe-a3c79cb27d8d" + ], + "x-ms-correlation-request-id": [ + "a2861f65-0be1-437f-8afe-a3c79cb27d8d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135944Z:a2861f65-0be1-437f-8afe-a3c79cb27d8d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:44 GMT" + ], + "Content-Length": [ + "236" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111\",\r\n \"name\": \"hpc0313x636d2111\",\r\n \"location\": \"eastus\",\r\n \"tags\": {\r\n \"hpc0313x636d2111\": \"2020-03-13 13:59:43Z\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "5f03dd6c-0245-4031-88b6-efd0874d4642" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-failure-cause": [ + "gateway" + ], + "x-ms-request-id": [ + "5ef01ee0-7ca9-433e-a9ba-33ed282ac33c" + ], + "x-ms-correlation-request-id": [ + "5ef01ee0-7ca9-433e-a9ba-33ed282ac33c" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135944Z:5ef01ee0-7ca9-433e-a9ba-33ed282ac33c" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:44 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "175" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111' under resource group 'hpc0313x636d2111' was not found.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "W/\"e30b8255-d320-4951-88e0-ec98c9d52983\"" + ], + "x-ms-request-id": [ + "7d0fa0bf-051d-4d9a-a593-1cc69de85497" + ], + "x-ms-correlation-request-id": [ + "b1d11c93-adcb-44a3-99da-aec7e5255cfa" + ], + "x-ms-arm-service-request-id": [ + "a0cc0a55-f751-4a7b-bf25-532ec0c70622" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135948Z:b1d11c93-adcb-44a3-99da-aec7e5255cfa" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:48 GMT" + ], + "Content-Length": [ + "671" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"VNet-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111\",\r\n \"etag\": \"W/\\\"e30b8255-d320-4951-88e0-ec98c9d52983\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"2b7283af-c2f4-427d-a4e2-02e969ddfb4e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\": false\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/16\"\r\n ]\r\n }\r\n },\r\n \"location\": \"eastus\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8988b4b4-7948-4962-b485-c3e364091f35" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "143" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Retry-After": [ + "3" + ], + "x-ms-request-id": [ + "60aa5d87-bfcb-44c6-9e93-eb0375f594aa" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Network/locations/eastus/operations/60aa5d87-bfcb-44c6-9e93-eb0375f594aa?api-version=2018-07-01" + ], + "x-ms-correlation-request-id": [ + "14be6e2b-331f-47a0-ad48-88d95b7ff045" + ], + "x-ms-arm-service-request-id": [ + "43ab10a1-9672-4774-af7f-56b0167a4eef" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135945Z:14be6e2b-331f-47a0-ad48-88d95b7ff045" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:44 GMT" + ], + "Content-Length": [ + "670" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"VNet-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111\",\r\n \"etag\": \"W/\\\"1c1ff10d-e64c-45b9-9a7e-04894e37dbe4\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"2b7283af-c2f4-427d-a4e2-02e969ddfb4e\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.1.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Network/locations/eastus/operations/60aa5d87-bfcb-44c6-9e93-eb0375f594aa?api-version=2018-07-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9sb2NhdGlvbnMvZWFzdHVzL29wZXJhdGlvbnMvNjBhYTVkODctYmZjYi00NGM2LTllOTMtZWIwMzc1ZjU5NGFhP2FwaS12ZXJzaW9uPTIwMTgtMDctMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "2e583bdc-748e-4f00-90e5-be2dd59eb902" + ], + "x-ms-correlation-request-id": [ + "da3b3521-4c37-434b-927e-71d3b3cfcdcf" + ], + "x-ms-arm-service-request-id": [ + "19544ba1-f307-4774-9e9e-80517763a693" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135948Z:da3b3521-4c37-434b-927e-71d3b3cfcdcf" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:48 GMT" + ], + "Content-Length": [ + "29" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTEvc3VibmV0cy9TdWJuZXQtaHBjMDMxM3g2MzZkMjExMT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e617b14b-1348-4988-8e97-b9b1fdb6840f" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "a8c1eed2-25a7-4c49-9143-f65ab9583f23" + ], + "x-ms-correlation-request-id": [ + "a81bdbb5-6142-4c0d-8267-d6248b16cdb4" + ], + "x-ms-arm-service-request-id": [ + "741b1900-14e2-4071-ae01-f6417f6edca4" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135948Z:a81bdbb5-6142-4c0d-8267-d6248b16cdb4" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:48 GMT" + ], + "Content-Length": [ + "288" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": \"Resource /subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111 not found.\",\r\n \"details\": []\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTEvc3VibmV0cy9TdWJuZXQtaHBjMDMxM3g2MzZkMjExMT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "W/\"8ab56e45-3514-4c1d-8a41-b115ef159c83\"" + ], + "x-ms-request-id": [ + "c69a2c3f-242d-45ed-99ba-80052f5465f1" + ], + "x-ms-correlation-request-id": [ + "2adce7b3-b38e-4f49-b94b-786bbc040081" + ], + "x-ms-arm-service-request-id": [ + "ca56bdf5-ec72-4b18-bed9-ad624a41c922" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11991" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135952Z:2adce7b3-b38e-4f49-b94b-786bbc040081" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:51 GMT" + ], + "Content-Length": [ + "472" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Subnet-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"etag\": \"W/\\\"8ab56e45-3514-4c1d-8a41-b115ef159c83\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": []\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9WTmV0LWhwYzAzMTN4NjM2ZDIxMTEvc3VibmV0cy9TdWJuZXQtaHBjMDMxM3g2MzZkMjExMT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"addressPrefix\": \"10.1.0.0/24\"\r\n },\r\n \"name\": \"Subnet-hpc0313x636d2111\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e0089ba4-9b06-441d-a57b-9567a855d49b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "102" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Retry-After": [ + "3" + ], + "x-ms-request-id": [ + "b36756ce-163f-4c25-acaa-e4bfa4c4d9aa" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Network/locations/eastus/operations/b36756ce-163f-4c25-acaa-e4bfa4c4d9aa?api-version=2018-07-01" + ], + "x-ms-correlation-request-id": [ + "44b2f383-79a2-4546-af5d-0669b562f734" + ], + "x-ms-arm-service-request-id": [ + "26de0df1-f3d6-4f2b-821f-a635fc838f5b" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135949Z:44b2f383-79a2-4546-af5d-0669b562f734" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:48 GMT" + ], + "Content-Length": [ + "471" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Subnet-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"etag\": \"W/\\\"7c289f8c-7db2-4ec5-8b91-94917873c064\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"addressPrefix\": \"10.1.0.0/24\",\r\n \"delegations\": []\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Network/locations/eastus/operations/b36756ce-163f-4c25-acaa-e4bfa4c4d9aa?api-version=2018-07-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9sb2NhdGlvbnMvZWFzdHVzL29wZXJhdGlvbnMvYjM2NzU2Y2UtMTYzZi00YzI1LWFjYWEtZTRiZmE0YzRkOWFhP2FwaS12ZXJzaW9uPTIwMTgtMDctMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Network.NetworkManagementClient/19.3.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "81b9a275-cc94-49a5-b4b2-e1f06864f330" + ], + "x-ms-correlation-request-id": [ + "0d21b912-9751-42e1-9903-247654289497" + ], + "x-ms-arm-service-request-id": [ + "43ca763f-be97-496a-8311-2010e141cffc" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135952Z:0d21b912-9751-42e1-9903-247654289497" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:51 GMT" + ], + "Content-Length": [ + "29" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"status\": \"Succeeded\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-failure-cause": [ + "gateway" + ], + "x-ms-request-id": [ + "bb930851-311f-451e-ba28-b54e5ee42a99" + ], + "x-ms-correlation-request-id": [ + "bb930851-311f-451e-ba28-b54e5ee42a99" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135952Z:bb930851-311f-451e-ba28-b54e5ee42a99" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:51 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "172" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.StorageCache/caches/Cache-hpc0313x636d2111' under resource group 'hpc0313x636d2111' was not found.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "effc4b33-a8de-4b75-a235-2bda70f07486" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "1043e3d9-2861-42ad-8a18-67f0e918f7ea" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135953Z:1043e3d9-2861-42ad-8a18-67f0e918f7ea" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:52 GMT" + ], + "Content-Length": [ + "953" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Deploying Cache resources\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "a83e9bc5-7e9f-4bae-b53e-da4d65416176" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "e9badc88-4309-41f2-8371-5629d7d231f9" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T140153Z:e9badc88-4309-41f2-8371-5629d7d231f9" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:01:53 GMT" + ], + "Content-Length": [ + "953" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Deploying Cache resources\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "3d9abb73-0b1d-46ac-8a7f-1035db64e8aa" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "18e8539d-e5db-4f08-8315-b2f8e709f2fd" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T140353Z:18e8539d-e5db-4f08-8315-b2f8e709f2fd" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:03:53 GMT" + ], + "Content-Length": [ + "953" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Deploying Cache resources\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "93af0346-03cc-4043-a3d8-2290e08e6914" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "a8b01e91-7cab-42bf-a183-9b2ef2389d20" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T140553Z:a8b01e91-7cab-42bf-a183-9b2ef2389d20" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:05:53 GMT" + ], + "Content-Length": [ + "953" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Deploying Cache resources\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "c5cdb99e-e11f-4f87-96c7-4740a70cc4a4" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "82da8bfb-1a01-499f-8408-39c41e7128c4" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T140754Z:82da8bfb-1a01-499f-8408-39c41e7128c4" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:07:53 GMT" + ], + "Content-Length": [ + "966" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Waiting for cache creation to complete\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "5530f471-d915-430a-9000-3fc736920dc5" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-correlation-request-id": [ + "17698bfe-57f2-4482-8576-6578241a49eb" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T140954Z:17698bfe-57f2-4482-8576-6578241a49eb" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:09:54 GMT" + ], + "Content-Length": [ + "966" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Waiting for cache creation to complete\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "59c8f911-7e33-4368-8969-5dbda960dc20" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "9a546be0-64ca-4cc5-8ed0-73697cb6c515" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141154Z:9a546be0-64ca-4cc5-8ed0-73697cb6c515" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:11:54 GMT" + ], + "Content-Length": [ + "974" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Cache deployment completed. Cache Starting up.\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "ba5217a9-ed41-4d4a-99b6-1be63e55bf1e" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "a6b3adbb-658c-4015-8abd-bc5e7df91878" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141354Z:a6b3adbb-658c-4015-8abd-bc5e7df91878" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:13:54 GMT" + ], + "Content-Length": [ + "1081" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Degraded\",\r\n \"statusDescription\": \"The cache is having trouble communicating with the Storage Target ''\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "81c334cc-3f62-4c0d-a515-960b5667cd6e" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "0fc7d7fb-92f9-4d8e-993b-3634dbb82a86" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141554Z:0fc7d7fb-92f9-4d8e-993b-3634dbb82a86" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:15:54 GMT" + ], + "Content-Length": [ + "1041" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n }\r\n}", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "323" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/82386421-5a8d-4ef8-94b6-054dd4225ea9?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "82386421-5a8d-4ef8-94b6-054dd4225ea9" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "2ef92e64-1fae-465e-96d1-d1417aee631e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T135953Z:2ef92e64-1fae-465e-96d1-d1417aee631e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 13:59:52 GMT" + ], + "Content-Length": [ + "896" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 201 + } + ], + "Names": { + ".ctor": [ + "hpc0313x636d2111" + ] + }, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2", + "DefaultResourcePrefix": "hpc", + "DefaultRegion": "eastus", + "DefaultCacheSku": "Standard_2G", + "DefaultCacheSize": "3072" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestGetAzHPCCacheStorageTargetByNameAndResourceGroup.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestGetAzHPCCacheStorageTargetByNameAndResourceGroup.json new file mode 100644 index 000000000000..7986478a8ee0 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestGetAzHPCCacheStorageTargetByNameAndResourceGroup.json @@ -0,0 +1,189 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "09f43ed3-c6a8-4eb6-9204-b29591fa18a9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "83aa0e88-6f56-43b0-9b16-eff0b4983892" + ], + "x-ms-correlation-request-id": [ + "83aa0e88-6f56-43b0-9b16-eff0b4983892" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142940Z:83aa0e88-6f56-43b0-9b16-eff0b4983892" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:39 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d214686d-8c22-408d-a078-776d690abcb8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "3156cee9-6fc9-4d32-9379-d82a97cc78d2" + ], + "x-ms-correlation-request-id": [ + "3156cee9-6fc9-4d32-9379-d82a97cc78d2" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142940Z:3156cee9-6fc9-4d32-9379-d82a97cc78d2" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:39 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "915ef5b2-d43d-427f-9b0d-33694179a90b" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11987" + ], + "x-ms-correlation-request-id": [ + "3e8abce8-ad6c-4b71-a2f8-fbabfd871857" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142940Z:3e8abce8-ad6c-4b71-a2f8-fbabfd871857" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:40 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Deleting\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestNewGetSetRemoveST.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestNewGetSetRemoveST.json new file mode 100644 index 000000000000..e38c8a44496f --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestNewGetSetRemoveST.json @@ -0,0 +1,689 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "a7dc810b-5884-499d-b1bf-ccf4bfbb240a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "6d502b85-719d-4be6-bb3a-66b6baf2437b" + ], + "x-ms-correlation-request-id": [ + "6d502b85-719d-4be6-bb3a-66b6baf2437b" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142942Z:6d502b85-719d-4be6-bb3a-66b6baf2437b" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:42 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "82335894-6d39-4347-b790-c82cbb6303c9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-request-id": [ + "d03ca3ab-affe-47f2-9635-c23e05370232" + ], + "x-ms-correlation-request-id": [ + "d03ca3ab-affe-47f2-9635-c23e05370232" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142942Z:d03ca3ab-affe-47f2-9635-c23e05370232" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:42 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "84f738b5-2562-4336-8931-55305db12a8a" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "068e1540-0832-4a38-b77e-85a3922892c8" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142942Z:068e1540-0832-4a38-b77e-85a3922892c8" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:42 GMT" + ], + "Content-Length": [ + "115" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": \"The entity was not found in this Azure location.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "40327c05-38d2-4da0-b533-407be802edd0" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "2fa4d07c-5e7e-4a41-be1b-d86245d59b9b" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142948Z:2fa4d07c-5e7e-4a41-be1b-d86245d59b9b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:48 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "cd51988d-ee62-4264-a086-a42e9ec8ad68" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-correlation-request-id": [ + "7ae30597-9c9b-4b44-b76b-f8e270037598" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143018Z:7ae30597-9c9b-4b44-b76b-f8e270037598" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:30:18 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "0fe26528-e9d7-4a78-97c5-30673c0dc18a" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "80c8831d-5915-427b-b71b-769e5a907207" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143048Z:80c8831d-5915-427b-b71b-769e5a907207" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:30:47 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "3f461f9a-75af-41c0-b05e-a06e165448e3" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-correlation-request-id": [ + "cb88f789-a87f-4899-bd7d-c5f918738911" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143118Z:cb88f789-a87f-4899-bd7d-c5f918738911" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:31:18 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "91c0fe63-41f8-42dc-87c6-35a885f1f6a0" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-correlation-request-id": [ + "c025fd95-93c9-433f-b083-973771728d6d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143148Z:c025fd95-93c9-433f-b083-973771728d6d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:31:47 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "10904a2f-4aea-424f-b2c7-7b61463ee877" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "e8b18fdf-76b3-4750-bf6f-5d9b05297f0d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143218Z:e8b18fdf-76b3-4750-bf6f-5d9b05297f0d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:32:17 GMT" + ], + "Content-Length": [ + "776" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"targetPath\": \"/\",\r\n \"nfsExport\": \"/\"\r\n }\r\n ],\r\n \"targetType\": \"clfs\",\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "417" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/d3a48082-8706-417c-862c-52a5a488d48d?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "d3a48082-8706-417c-862c-52a5a488d48d" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "e6908f41-15ab-44f9-867f-e9569204e043" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142943Z:e6908f41-15ab-44f9-867f-e9569204e043" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:43 GMT" + ], + "Content-Length": [ + "775" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershellstoragetarget\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/msazure\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\"\r\n }\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/powershellstoragetarget?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvcG93ZXJzaGVsbHN0b3JhZ2V0YXJnZXQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e3e0aa35-123c-4c9e-811b-15796e35f089?monitor=true&api-version=2019-11-01" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e3e0aa35-123c-4c9e-811b-15796e35f089?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "e3e0aa35-123c-4c9e-811b-15796e35f089" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-correlation-request-id": [ + "e2a84e17-a939-4925-8d8e-3fb44669f86a" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143218Z:e2a84e17-a939-4925-8d8e-3fb44669f86a" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:32:17 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestSetStorgeTarget.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestSetStorgeTarget.json new file mode 100644 index 000000000000..ce93267a15dc --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheStorageTargetTest/TestSetStorgeTarget.json @@ -0,0 +1,445 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "65c4e462-f22e-4059-b04b-47199125cd5d" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "7269f1e4-ec2e-42ce-97ab-33e853dd9422" + ], + "x-ms-correlation-request-id": [ + "7269f1e4-ec2e-42ce-97ab-33e853dd9422" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142831Z:7269f1e4-ec2e-42ce-97ab-33e853dd9422" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:30 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "198e6202-39ec-4938-b698-1b7b409c7800" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-request-id": [ + "4960e694-dc80-4afe-b9d5-c5f2844ccf11" + ], + "x-ms-correlation-request-id": [ + "4960e694-dc80-4afe-b9d5-c5f2844ccf11" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142831Z:4960e694-dc80-4afe-b9d5-c5f2844ccf11" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:30 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "3109d3b0-3605-435a-881e-d6d763f90c92" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-correlation-request-id": [ + "4c1fe54b-20be-49ff-99c4-0ff3f37ab355" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142832Z:4c1fe54b-20be-49ff-99c4-0ff3f37ab355" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:32 GMT" + ], + "Content-Length": [ + "744" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "22d4284f-e55e-4938-bde0-e9d895a8c2f9" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-correlation-request-id": [ + "e64869dc-2113-4181-9f13-4cb099e79292" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142837Z:e64869dc-2113-4181-9f13-4cb099e79292" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:37 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Updating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "8dbf6a07-27ca-4764-8608-5fe0b751fdfd" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "e21f0dd0-d890-4da2-952f-001f54457aba" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142907Z:e21f0dd0-d890-4da2-952f-001f54457aba" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:07 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Updating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "40bdef75-d043-494c-95a9-ec1bf19834af" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11991" + ], + "x-ms-correlation-request-id": [ + "8a1d6c4e-c8ce-4656-9f6f-327e70569df3" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142938Z:8a1d6c4e-c8ce-4656-9f6f-327e70569df3" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:29:37 GMT" + ], + "Content-Length": [ + "744" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"targetPath\": \"/\",\r\n \"nfsExport\": \"/\"\r\n }\r\n ],\r\n \"targetType\": \"clfs\",\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "417" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/86521c41-f845-4bbc-aa36-da7e660bbc33?monitor=true&api-version=2019-11-01" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/86521c41-f845-4bbc-aa36-da7e660bbc33?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "86521c41-f845-4bbc-aa36-da7e660bbc33" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1197" + ], + "x-ms-correlation-request-id": [ + "3b8b465a-fe17-473e-b7e9-2ae9a16b1c94" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142832Z:3b8b465a-fe17-473e-b7e9-2ae9a16b1c94" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:32 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Updating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/abcdefgh\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 202 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestFlushCache.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestFlushCache.json new file mode 100644 index 000000000000..bb883e25c3e6 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestFlushCache.json @@ -0,0 +1,308 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "4e921d86-d751-4efb-b7ce-80c150b24972" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "4d2a3ae9-0014-4abd-8e2f-41a56fe9972d" + ], + "x-ms-correlation-request-id": [ + "4d2a3ae9-0014-4abd-8e2f-41a56fe9972d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143431Z:4d2a3ae9-0014-4abd-8e2f-41a56fe9972d" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:30 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "064c22b2-86a0-48e0-94dd-f29d74f085ff" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-request-id": [ + "0f600d2d-4f35-4ac7-810f-95c99e70d4d8" + ], + "x-ms-correlation-request-id": [ + "0f600d2d-4f35-4ac7-810f-95c99e70d4d8" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143431Z:0f600d2d-4f35-4ac7-810f-95c99e70d4d8" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:30 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/flush?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvZmx1c2g/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/089b1df9-08b2-4988-b58f-0913aa86213b?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "089b1df9-08b2-4988-b58f-0913aa86213b" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-correlation-request-id": [ + "dd95e20f-93a2-44de-95e8-a7252862fc5c" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143431Z:dd95e20f-93a2-44de-95e8-a7252862fc5c" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:30 GMT" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "", + "StatusCode": 204 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "83b00780-ae87-43e7-91ac-a4d3df74c054" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "854fc176-48c8-4655-a3b3-8919a200bc4b" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143431Z:854fc176-48c8-4655-a3b3-8919a200bc4b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:30 GMT" + ], + "Content-Length": [ + "1063" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Flushing\",\r\n \"statusDescription\": \"The cache is flushing data to the Storage Targets.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "7977b2db-0e64-4a9a-8a34-08bd7c8c6685" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "3652a692-c8ea-4b0b-a058-076f7f8cff9b" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143531Z:3652a692-c8ea-4b0b-a058-076f7f8cff9b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:31 GMT" + ], + "Content-Length": [ + "1041" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetCacheByResourceGroupAndName.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetCacheByResourceGroupAndName.json new file mode 100644 index 000000000000..189ece83d9f9 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetCacheByResourceGroupAndName.json @@ -0,0 +1,189 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "bca609ec-9066-4b8d-b637-5113b56832e3" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "44257063-c566-4880-837a-4b9f0ffacefa" + ], + "x-ms-correlation-request-id": [ + "44257063-c566-4880-837a-4b9f0ffacefa" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143533Z:44257063-c566-4880-837a-4b9f0ffacefa" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:33 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "bbe7c10c-997b-4a12-8ab6-1a49d6e3acb4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "1326963d-0a4e-416e-a40f-a9ce4d851ea8" + ], + "x-ms-correlation-request-id": [ + "1326963d-0a4e-416e-a40f-a9ce4d851ea8" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143533Z:1326963d-0a4e-416e-a40f-a9ce4d851ea8" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:33 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "eae663d6-f780-4546-9991-9e5cc01c7fd8" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-correlation-request-id": [ + "3e6bde87-ce1a-455a-8087-c6f8681bb19e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143533Z:3e6bde87-ce1a-455a-8087-c6f8681bb19e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:33 GMT" + ], + "Content-Length": [ + "1041" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetSku.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetSku.json new file mode 100644 index 000000000000..bba75c5dae9a --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetSku.json @@ -0,0 +1,182 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "68f34636-96a2-42ea-93fb-f1d69e5b4f70" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-request-id": [ + "fc9f3fcd-0772-45f9-803d-83bc221e7711" + ], + "x-ms-correlation-request-id": [ + "fc9f3fcd-0772-45f9-803d-83bc221e7711" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143426Z:fc9f3fcd-0772-45f9-803d-83bc221e7711" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:26 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8e56a776-f478-468e-9559-2cdd2fb8fc10" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-request-id": [ + "89b3a4b2-bc46-4c81-a9de-e93e265a7333" + ], + "x-ms-correlation-request-id": [ + "89b3a4b2-bc46-4c81-a9de-e93e265a7333" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143426Z:89b3a4b2-bc46-4c81-a9de-e93e265a7333" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:26 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/skus?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3NrdXM/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "2fb9123b-8ea8-405d-91e1-094dc15cfc87" + ], + "x-ms-correlation-request-id": [ + "2fb9123b-8ea8-405d-91e1-094dc15cfc87" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143427Z:2fb9123b-8ea8-405d-91e1-094dc15cfc87" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:27 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "10775" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"westeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"westeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"westeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"northeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"northeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"northeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"northeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"northeurope\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"northeurope\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"EastUS2EUAP\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"EastUS2EUAP\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"EastUS2EUAP\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"EastUS2EUAP\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"EastUS2EUAP\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"EastUS2EUAP\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"eastus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"KoreaCentral\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"KoreaCentral\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"KoreaCentral\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"KoreaCentral\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"KoreaCentral\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"KoreaCentral\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"southcentralus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southcentralus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"southcentralus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southcentralus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"southcentralus\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southcentralus\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"westus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"westus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"eastus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"eastus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"eastus2\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"eastus2\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"southeastasia\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southeastasia\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"southeastasia\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southeastasia\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"southeastasia\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"southeastasia\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"australiaeast\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"australiaeast\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"australiaeast\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"australiaeast\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"australiaeast\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"australiaeast\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_2G\",\r\n \"locations\": [\r\n \"centraluseuap\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"2\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"3072,6144,12288\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_4G\",\r\n \"locations\": [\r\n \"centraluseuap\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"4\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"6144,12288,24576\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"name\": \"Standard_8G\",\r\n \"locations\": [\r\n \"centraluseuap\"\r\n ],\r\n \"locationInfo\": [\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"zones\": [],\r\n \"zoneDetails\": []\r\n }\r\n ],\r\n \"capabilities\": [\r\n {\r\n \"name\": \"throughput (GB/s)\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"name\": \"cache sizes (GB)\",\r\n \"value\": \"12288,24576,49152\"\r\n }\r\n ],\r\n \"restrictions\": []\r\n }\r\n ]\r\n}", + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetUsageModel.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetUsageModel.json new file mode 100644 index 000000000000..6cced6addda3 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestGetUsageModel.json @@ -0,0 +1,189 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "2206660f-4a20-4662-8cc1-b64b67647000" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "4e1f136f-d799-4d64-a0fa-e9ad1c26b029" + ], + "x-ms-correlation-request-id": [ + "4e1f136f-d799-4d64-a0fa-e9ad1c26b029" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143428Z:4e1f136f-d799-4d64-a0fa-e9ad1c26b029" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:28 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8aa8adf6-f341-41f1-bc56-cf895b01f94d" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-request-id": [ + "fb5f24ca-1c3b-4816-a237-3ab1665f1dfb" + ], + "x-ms-correlation-request-id": [ + "fb5f24ca-1c3b-4816-a237-3ab1665f1dfb" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143428Z:fb5f24ca-1c3b-4816-a237-3ab1665f1dfb" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:28 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/usageModels?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3VzYWdlTW9kZWxzP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "8dd1d015-e3e2-4e6b-b56a-3dd661b98a06" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "bfba114f-2d93-4357-b678-4ed4a9385e57" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143429Z:bfba114f-2d93-4357-b678-4ed4a9385e57" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:28 GMT" + ], + "Content-Length": [ + "540" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"display\": {\r\n \"description\": \"Read heavy, infrequent writes\"\r\n },\r\n \"modelName\": \"READ_HEAVY_INFREQ\",\r\n \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n \"description\": \"Greater than 15% writes\"\r\n },\r\n \"modelName\": \"WRITE_WORKLOAD_15\",\r\n \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n \"description\": \"Clients write to the NFS target bypassing the cache\"\r\n },\r\n \"modelName\": \"WRITE_AROUND\",\r\n \"targetType\": \"Nfs\"\r\n }\r\n ]\r\n}", + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestNewCacheRemoveCache.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestNewCacheRemoveCache.json new file mode 100644 index 000000000000..3ad47376627b --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestNewCacheRemoveCache.json @@ -0,0 +1,438 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d0a21879-8c5a-4926-a8ca-bd8e1617d5ad" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "05df0aba-e58f-44d3-9261-415cc006fe30" + ], + "x-ms-correlation-request-id": [ + "05df0aba-e58f-44d3-9261-415cc006fe30" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143420Z:05df0aba-e58f-44d3-9261-415cc006fe30" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:20 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "88a49f42-3793-425f-b9dc-598453ac81c9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "0017280e-d630-4201-a3c1-cbec9af6d95e" + ], + "x-ms-correlation-request-id": [ + "0017280e-d630-4201-a3c1-cbec9af6d95e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143421Z:0017280e-d630-4201-a3c1-cbec9af6d95e" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:20 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL3Bvd2Vyc2hlbGwyP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-failure-cause": [ + "gateway" + ], + "x-ms-request-id": [ + "731d6ed7-a5aa-4ce2-b33c-b2c7aa476ab5" + ], + "x-ms-correlation-request-id": [ + "731d6ed7-a5aa-4ce2-b33c-b2c7aa476ab5" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143421Z:731d6ed7-a5aa-4ce2-b33c-b2c7aa476ab5" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:20 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "161" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"The Resource 'Microsoft.StorageCache/caches/powershell2' under resource group 'hpc0313x636d2111' was not found.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL3Bvd2Vyc2hlbGwyP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "bd6d3d45-ce39-4632-9d3b-c0f2b6033947" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "afa20ea1-6604-4e7f-a112-f3e71fd96ced" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143424Z:afa20ea1-6604-4e7f-a112-f3e71fd96ced" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:23 GMT" + ], + "Content-Length": [ + "931" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershell2\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"Deploying Cache resources\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T14:34:22.2220782Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL3Bvd2Vyc2hlbGwyP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "20febf3b-8879-48dc-b9ea-5f439c926244" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11991" + ], + "x-ms-correlation-request-id": [ + "ba0a2fb9-7984-467a-bc0d-ba0b6a728091" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143424Z:ba0a2fb9-7984-467a-bc0d-ba0b6a728091" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:23 GMT" + ], + "Content-Length": [ + "915" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershell2\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"Deleting Cache\"\r\n },\r\n \"provisioningState\": \"Deleting\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T14:34:22.2220782Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL3Bvd2Vyc2hlbGwyP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n }\r\n}", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "323" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/35583fd6-7bc7-4473-8006-121add89c406?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "35583fd6-7bc7-4473-8006-121add89c406" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-correlation-request-id": [ + "568271b7-1694-44a9-8d4e-4361f1ff9a73" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143422Z:568271b7-1694-44a9-8d4e-4361f1ff9a73" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:21 GMT" + ], + "Content-Length": [ + "874" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"powershell2\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\"\r\n },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T14:34:22.2220782Z\"\r\n }\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/powershell2?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL3Bvd2Vyc2hlbGwyP2FwaS12ZXJzaW9uPTIwMTktMTEtMDE=", + "RequestMethod": "DELETE", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/589b727d-4a5b-4771-97aa-73582c295f45?monitor=true&api-version=2019-11-01" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/589b727d-4a5b-4771-97aa-73582c295f45?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "589b727d-4a5b-4771-97aa-73582c295f45" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-deletes": [ + "14999" + ], + "x-ms-correlation-request-id": [ + "0c4be5a7-072a-456b-a446-d4dfb0686492" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143424Z:0c4be5a7-072a-456b-a446-d4dfb0686492" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:34:23 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestStartStopCache.json b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestStartStopCache.json new file mode 100644 index 000000000000..de05e8e6c5b0 --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/Microsoft.Azure.Commands.HPCCache.Test.ScenarioTests.HpcCacheTest/TestStartStopCache.json @@ -0,0 +1,1293 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "bf567df3-28e3-4eb3-821f-757517b63e8e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "524a76ac-fd76-47ec-8014-8bd100b3f19f" + ], + "x-ms-correlation-request-id": [ + "524a76ac-fd76-47ec-8014-8bd100b3f19f" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143535Z:524a76ac-fd76-47ec-8014-8bd100b3f19f" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:34 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "63534082-bbcc-438b-8acb-289ab836f44c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "0af5e95b-c9e7-4dac-867d-b8b133885bd7" + ], + "x-ms-correlation-request-id": [ + "0af5e95b-c9e7-4dac-867d-b8b133885bd7" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143535Z:0af5e95b-c9e7-4dac-867d-b8b133885bd7" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:34 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/stop?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcD9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/94dc7ea6-b44d-4497-9462-a3093509b629?monitor=true&api-version=2019-11-01" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/94dc7ea6-b44d-4497-9462-a3093509b629?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "94dc7ea6-b44d-4497-9462-a3093509b629" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "40004d2e-eaa3-4926-8868-7352317949a1" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143535Z:40004d2e-eaa3-4926-8868-7352317949a1" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:35:35 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "5815c139-c7e3-45ec-970a-dc73572c6364" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "9d899a76-a0db-4967-ad1b-5929913e26d1" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143636Z:9d899a76-a0db-4967-ad1b-5929913e26d1" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:36:35 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "304c6485-cb57-461b-a64f-1c2735c49af0" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "9476e19c-e417-423c-a914-2621190c06f1" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143736Z:9476e19c-e417-423c-a914-2621190c06f1" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:37:35 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "0a1ed63a-aa1f-4d9a-8417-dfebc54cc1a9" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "1db5e284-c965-4f78-81e7-4e695ae4d056" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143836Z:1db5e284-c965-4f78-81e7-4e695ae4d056" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:38:35 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "7ea289e5-0bf1-402c-b7ec-d5e0b5bc79ad" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-correlation-request-id": [ + "6378805a-e966-4fd5-9431-eadbaad711ed" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T143936Z:6378805a-e966-4fd5-9431-eadbaad711ed" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:39:35 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "7cc0d826-e088-4120-b043-771d1a27afa4" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "42bbee3c-89ed-4aaf-bb9f-796363911466" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144036Z:42bbee3c-89ed-4aaf-bb9f-796363911466" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:40:36 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "409ddbed-6db6-4c7f-888f-dc1008d270be" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11994" + ], + "x-ms-correlation-request-id": [ + "120f73ea-c99c-429e-afe2-9eae7fdbcdfa" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144136Z:120f73ea-c99c-429e-afe2-9eae7fdbcdfa" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:41:35 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "f57ba509-4b86-47bd-8437-a4b236215d77" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11993" + ], + "x-ms-correlation-request-id": [ + "c17c2ba1-e431-431a-9124-92ab6168dee5" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144236Z:c17c2ba1-e431-431a-9124-92ab6168dee5" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:42:36 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "f9f2de74-510b-4cdc-af30-ae082c085842" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11992" + ], + "x-ms-correlation-request-id": [ + "9c3cd9ee-4eb2-4cc4-a581-8529b7ebc3b0" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144336Z:9c3cd9ee-4eb2-4cc4-a581-8529b7ebc3b0" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:43:36 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "9cb03494-7b9a-4b50-b764-13880fabec65" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11991" + ], + "x-ms-correlation-request-id": [ + "2f472f79-ff72-476d-b25a-09f37cfe4539" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144436Z:2f472f79-ff72-476d-b25a-09f37cfe4539" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:44:36 GMT" + ], + "Content-Length": [ + "1039" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopping\",\r\n \"statusDescription\": \"The cache is being stopped\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "fcf623f0-5161-4f63-ac33-40dae89560d9" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11990" + ], + "x-ms-correlation-request-id": [ + "0a34f86f-7b09-487a-874c-fc437141e38d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144536Z:0a34f86f-7b09-487a-874c-fc437141e38d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:45:36 GMT" + ], + "Content-Length": [ + "1053" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": \"The Cache resources have been deallocated\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "bd20d01b-7835-4015-bbdd-cf279ca92ffb" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11989" + ], + "x-ms-correlation-request-id": [ + "b9f73611-a83b-47fc-a415-7fccf0eebb1d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144637Z:b9f73611-a83b-47fc-a415-7fccf0eebb1d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:46:36 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "5a921944-4e0c-40c0-ac9e-9967746f8cff" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11988" + ], + "x-ms-correlation-request-id": [ + "9cead597-09ac-4776-b1a0-36b106be5360" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144737Z:9cead597-09ac-4776-b1a0-36b106be5360" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:47:36 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "406ed688-32ba-414b-88d5-783c5e7880f4" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11987" + ], + "x-ms-correlation-request-id": [ + "541d3083-1c2e-42b0-89d0-02ddd8f5f40f" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144837Z:541d3083-1c2e-42b0-89d0-02ddd8f5f40f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:48:36 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "b9ca2983-2f33-4557-b093-80d1b74368ca" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11986" + ], + "x-ms-correlation-request-id": [ + "cca56d91-c86f-49d3-844f-b1ae583c825e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144937Z:cca56d91-c86f-49d3-844f-b1ae583c825e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:49:37 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "9f47e78e-f2d0-41f1-a2a7-9d166b39b536" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11985" + ], + "x-ms-correlation-request-id": [ + "36647d13-3466-4c47-ad8c-3c0895316460" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T145037Z:36647d13-3466-4c47-ad8c-3c0895316460" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:50:37 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "8d017dcd-6aaa-47b2-af17-7a5d9feab12a" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11984" + ], + "x-ms-correlation-request-id": [ + "51f2c6d6-2b6a-4399-9947-390b7e5a122f" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T145137Z:51f2c6d6-2b6a-4399-9947-390b7e5a122f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:51:36 GMT" + ], + "Content-Length": [ + "1047" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\",\r\n \"statusDescription\": \"The cache is being allocated.\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTE/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "03797923-106f-4203-b529-c16e93f948ca" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11983" + ], + "x-ms-correlation-request-id": [ + "ccac7c52-3ec3-481b-961c-cf7379b14ae0" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T145237Z:ccac7c52-3ec3-481b-961c-cf7379b14ae0" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:52:37 GMT" + ], + "Content-Length": [ + "1041" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"Cache-hpc0313x636d2111\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111\",\r\n \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": [\r\n \"10.1.0.7\",\r\n \"10.1.0.8\",\r\n \"10.1.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.Network/virtualNetworks/VNet-hpc0313x636d2111/subnets/Subnet-hpc0313x636d2111\",\r\n \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-13T13:59:52.9034317Z\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/start?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RhcnQ/YXBpLXZlcnNpb249MjAxOS0xMS0wMQ==", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/9682a3cd-1f93-4065-9339-a13e33720317?monitor=true&api-version=2019-11-01" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/9682a3cd-1f93-4065-9339-a13e33720317?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "9682a3cd-1f93-4065-9339-a13e33720317" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-correlation-request-id": [ + "b2956db8-c87f-4b29-ae13-096f996074e5" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T144537Z:b2956db8-c87f-4b29-ae13-096f996074e5" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:45:36 GMT" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + } + ], + "Names": {}, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/SessionRecords/StorageAccountFixture/.ctor.json b/src/StorageCache/HPCCache.Test/SessionRecords/StorageAccountFixture/.ctor.json new file mode 100644 index 000000000000..0e32894caefa --- /dev/null +++ b/src/StorageCache/HPCCache.Test/SessionRecords/StorageAccountFixture/.ctor.json @@ -0,0 +1,1813 @@ +{ + "Entries": [ + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/register?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlL3JlZ2lzdGVyP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "POST", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "8eb8a100-080c-4ad1-beec-d2f322fef858" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-request-id": [ + "06f40f05-b193-4739-895f-66576c071822" + ], + "x-ms-correlation-request-id": [ + "06f40f05-b193-4739-895f-66576c071822" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141758Z:06f40f05-b193-4739-895f-66576c071822" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:17:57 GMT" + ], + "Content-Length": [ + "1613" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache?api-version=2016-09-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZUNhY2hlP2FwaS12ZXJzaW9uPTIwMTYtMDktMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "0ccffc62-f3e1-4562-93a9-0d67c6d9dbe1" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient/1.3.5" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-request-id": [ + "eca8eec8-e6f0-45fe-a3b3-c668066d1ef9" + ], + "x-ms-correlation-request-id": [ + "eca8eec8-e6f0-45fe-a3b3-c668066d1ef9" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141758Z:eca8eec8-e6f0-45fe-a3b3-c668066d1ef9" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:17:57 GMT" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "1613" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache\",\r\n \"namespace\": \"Microsoft.StorageCache\",\r\n \"authorizations\": [\r\n {\r\n \"applicationId\": \"4392ab71-2ce2-4b0d-8770-b352745c73f5\",\r\n \"roleDefinitionId\": \"e27430df-bd6b-4f3a-bd6d-d52ad1a7d075\"\r\n }\r\n ],\r\n \"resourceTypes\": [\r\n {\r\n \"resourceType\": \"operations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"South Central US\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"caches\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ],\r\n \"capabilities\": \"SystemAssignedResourceIdentity\"\r\n },\r\n {\r\n \"resourceType\": \"caches/storageTargets\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"usageModels\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations\",\r\n \"locations\": [],\r\n \"apiVersions\": [\r\n \"2020-03-01\",\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n },\r\n {\r\n \"resourceType\": \"locations/ascoperations\",\r\n \"locations\": [\r\n \"West Europe\",\r\n \"North Europe\",\r\n \"East US 2 EUAP\",\r\n \"East US\",\r\n \"Korea Central\",\r\n \"West US 2\",\r\n \"East US 2\",\r\n \"Southeast Asia\",\r\n \"Australia East\"\r\n ],\r\n \"apiVersions\": [\r\n \"2019-11-01\",\r\n \"2019-08-01-preview\"\r\n ]\r\n }\r\n ],\r\n \"registrationState\": \"Registered\"\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "c8417faa-1a29-42b8-ac00-a48c12c2fd5e" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "df85ee63-fdb7-4ad8-901e-a0d4f29dfad3" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141758Z:df85ee63-fdb7-4ad8-901e-a0d4f29dfad3" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:17:58 GMT" + ], + "Content-Length": [ + "115" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"error\": {\r\n \"code\": \"NotFound\",\r\n \"message\": \"The entity was not found in this Azure location.\"\r\n }\r\n}", + "StatusCode": 404 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "65db1121-71c2-4e1e-bd05-fc635ccf3752" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "e94dc5d1-191e-4cef-943b-54c4bc78888c" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142325Z:e94dc5d1-191e-4cef-943b-54c4bc78888c" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:23:24 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "0a8e0705-d06d-4a3e-a5f8-d6253f034044" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11998" + ], + "x-ms-correlation-request-id": [ + "f3f983c5-52f5-49f7-8676-f744fce77553" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142425Z:f3f983c5-52f5-49f7-8676-f744fce77553" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:24:25 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "9a8a08a5-b461-427e-997b-a3ae3deb3bc1" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11997" + ], + "x-ms-correlation-request-id": [ + "a08262b6-8c59-4831-8fbd-a12dadc11aa6" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142525Z:a08262b6-8c59-4831-8fbd-a12dadc11aa6" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:25:25 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "338d5101-a025-44c8-84ad-179851383271" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11996" + ], + "x-ms-correlation-request-id": [ + "c8dc9ae9-97b3-4c2e-b55e-fe3515444434" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142625Z:c8dc9ae9-97b3-4c2e-b55e-fe3515444434" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:26:24 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "941c522b-e19f-4753-b7aa-336001dbb0e1" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11995" + ], + "x-ms-correlation-request-id": [ + "b4057f25-64b9-44f2-9b23-e41a748c786d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142725Z:b4057f25-64b9-44f2-9b23-e41a748c786d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:27:25 GMT" + ], + "Content-Length": [ + "744" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYT9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"location\": \"eastus\"\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "fa9ac4f1-bd82-4a0d-8621-8a301e026da3" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "98" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01" + ], + "Retry-After": [ + "17" + ], + "x-ms-request-id": [ + "6624fea5-451d-4db6-84a1-530632618230" + ], + "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": [ + "a9b3a7ba-e467-46e7-8171-b7e54daeab0f" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141759Z:a9b3a7ba-e467-46e7-8171-b7e54daeab0f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:17:59 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzL2FzeW5jb3BlcmF0aW9ucy82NjI0ZmVhNS00NTFkLTRkYjYtODRhMS01MzA2MzI2MTgyMzA/bW9uaXRvcj10cnVlJmFwaS12ZXJzaW9uPTIwMTktMDQtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01" + ], + "Retry-After": [ + "3" + ], + "x-ms-request-id": [ + "265ce362-dbe7-4859-afb5-4904ff7b8ce8" + ], + "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": [ + "fe4da48e-38c4-43e0-971f-e71ae825955d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141816Z:fe4da48e-38c4-43e0-971f-e71ae825955d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:18:16 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzL2FzeW5jb3BlcmF0aW9ucy82NjI0ZmVhNS00NTFkLTRkYjYtODRhMS01MzA2MzI2MTgyMzA/bW9uaXRvcj10cnVlJmFwaS12ZXJzaW9uPTIwMTktMDQtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Location": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01" + ], + "Retry-After": [ + "3" + ], + "x-ms-request-id": [ + "300660e3-7254-4763-abf1-e285bee2e9d1" + ], + "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": [ + "c6f8615e-4718-4854-9ea6-8ff83bddcb73" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141819Z:c6f8615e-4718-4854-9ea6-8ff83bddcb73" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:18:19 GMT" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Expires": [ + "-1" + ], + "Content-Length": [ + "0" + ] + }, + "ResponseBody": "", + "StatusCode": 202 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Storage/locations/eastus/asyncoperations/6624fea5-451d-4db6-84a1-530632618230?monitor=true&api-version=2019-04-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvZWFzdHVzL2FzeW5jb3BlcmF0aW9ucy82NjI0ZmVhNS00NTFkLTRkYjYtODRhMS01MzA2MzI2MTgyMzA/bW9uaXRvcj10cnVlJmFwaS12ZXJzaW9uPTIwMTktMDQtMDE=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "511d564c-d52e-475a-b4a3-3d948fd07f00" + ], + "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": [ + "99b1c35a-dd93-45ec-b26a-307325a5049f" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141822Z:99b1c35a-dd93-45ec-b26a-307325a5049f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:18:22 GMT" + ], + "Content-Length": [ + "1132" + ], + "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/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa\",\r\n \"name\": \"cmdletsa\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\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 \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-03-13T14:17:59.0324555Z\"\r\n },\r\n \"blob\": {\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-03-13T14:17:59.0324555Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-03-13T14:17:58.9542784Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://cmdletsa.dfs.core.windows.net/\",\r\n \"web\": \"https://cmdletsa.z13.web.core.windows.net/\",\r\n \"blob\": \"https://cmdletsa.blob.core.windows.net/\",\r\n \"queue\": \"https://cmdletsa.queue.core.windows.net/\",\r\n \"table\": \"https://cmdletsa.table.core.windows.net/\",\r\n \"file\": \"https://cmdletsa.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "//subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/providers/Microsoft.Authorization/roleDefinitions?api-version=2018-01-01-preview", + "EncodedRequestUri": "Ly9zdWJzY3JpcHRpb25zLzQ2ODQxYzBlLTY5YzgtNGIxNy1hZjQ2LTY2MjZlY2IxNWZjMi9yZXNvdXJjZUdyb3Vwcy9ocGMwMzEzeDYzNmQyMTExL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHMvY21kbGV0c2EvcHJvdmlkZXJzL01pY3Jvc29mdC5BdXRob3JpemF0aW9uL3JvbGVEZWZpbml0aW9ucz9hcGktdmVyc2lvbj0yMDE4LTAxLTAxLXByZXZpZXc=", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "70b960fd-9991-4dfa-a0de-f613e583ad92" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Authorization.AuthorizationManagementClient/2.11.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "4fe56164-f0a0-41d2-b5d8-95c06d639731" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Set-Cookie": [ + "x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly" + ], + "x-ms-ratelimit-remaining-subscription-reads": [ + "11999" + ], + "x-ms-correlation-request-id": [ + "2d7300a6-1e5d-474f-8a08-8f523b5a3bfa" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141823Z:2d7300a6-1e5d-474f-8a08-8f523b5a3bfa" + ], + "Date": [ + "Fri, 13 Mar 2020 14:18:22 GMT" + ], + "Content-Length": [ + "188350" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Avere Cluster Create\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Avere cluster create role used by the Avere controller to create a vFXT cluster.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Authorization/roleAssignments/*\",\r\n \"Microsoft.Authorization/roleDefinitions/*\",\r\n \"Microsoft.Compute/*/read\",\r\n \"Microsoft.Compute/availabilitySets/*\",\r\n \"Microsoft.Compute/virtualMachines/*\",\r\n \"Microsoft.Network/*/read\",\r\n \"Microsoft.Network/networkInterfaces/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/virtualNetworks/subnets/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\r\n \"Microsoft.Storage/*/read\",\r\n \"Microsoft.Storage/storageAccounts/listKeys/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-11-29T18:46:55.0492387Z\",\r\n \"updatedOn\": \"2018-11-29T18:46:55.0492387Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a7b1b19a-0e83-4fe5-935c-faaefbfd18c3\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Avere Cluster Runtime Operator\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Avere cluster runtime role used by Avere clusters running in subscriptions, for the purpose of failing over IP addresses, accessing BLOB storage, etc\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Compute/virtualMachines/read\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Network/networkInterfaces/write\",\r\n \"Microsoft.Network/virtualNetworks/subnets/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/networkSecurityGroups/join/action\",\r\n \"Microsoft.Network/routeTables/read\",\r\n \"Microsoft.Network/routeTables/routes/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-26T00:41:26.2170858Z\",\r\n \"updatedOn\": \"2018-08-26T00:41:26.2170858Z\",\r\n \"createdBy\": \"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\r\n \"updatedBy\": \"dda50086-5e3d-4a4b-b8bc-f54771104d89\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e078ab98-ef3a-4c9a-aba7-12f5172b45d0\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e078ab98-ef3a-4c9a-aba7-12f5172b45d0\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Service Deploy Release Management Contributor\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Contributor role for services deploying through Azure Service Deploy.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.Authorization/*/Delete\",\r\n \"Microsoft.Authorization/*/Write\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-02-04T02:26:31.5413362Z\",\r\n \"updatedOn\": \"2018-01-08T20:20:16.3660174Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/21d96096-b162-414a-8302-d8354f9d91b2\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"21d96096-b162-414a-8302-d8354f9d91b2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CAL-Custom-Role\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Lets SAP Cloud Appliance Library application manage Network and Compute services, manage Resource Groups and Management locks.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/locks/*\",\r\n \"Microsoft.Authorization/roleDefinitions/*\",\r\n \"Microsoft.Authorization/roleAssignments/*\",\r\n \"Microsoft.Compute/*\",\r\n \"Microsoft.Network/*\",\r\n \"Microsoft.Resources/*\",\r\n \"Microsoft.Storage/*\",\r\n \"Microsoft.ContainerService/*\",\r\n \"Microsoft.ContainerRegistry/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-05-14T19:30:51.0664585Z\",\r\n \"updatedOn\": \"2019-02-19T19:11:57.5963229Z\",\r\n \"createdBy\": \"dda50086-5e3d-4a4b-b8bc-f54771104d89\",\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7b266cd7-0bba-4ae2-8423-90ede5e1e898\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7b266cd7-0bba-4ae2-8423-90ede5e1e898\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Dsms Role (deprecated)\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Custom role used by Dsms to perform operations. Can list and regnerate storage account keys.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\r\n \"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\r\n \"Microsoft.Storage/storageAccounts/listkeys/action\",\r\n \"Microsoft.Storage/storageAccounts/regeneratekey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-17T18:02:11.1225951Z\",\r\n \"updatedOn\": \"2018-01-13T00:21:52.7211696Z\",\r\n \"createdBy\": \"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\",\r\n \"updatedBy\": \"ca5f3715-e7dd-427b-b2db-45b6a4a2df87\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b91f4c0b-46e3-47bb-a242-eecfe23b3b5b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Dsms Role (do not use)\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Custom role used by Dsms to perform operations. Can list and regnerate storage account keys.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\r\n \"Microsoft.ClassicStorage/storageAccounts/regenerateKey/action\",\r\n \"Microsoft.Storage/storageAccounts/listkeys/action\",\r\n \"Microsoft.Storage/storageAccounts/regeneratekey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-02-01T07:56:12.5880222Z\",\r\n \"updatedOn\": \"2018-08-09T17:53:48.5432297Z\",\r\n \"createdBy\": \"becb4b6b-fe16-413b-a5c3-90355e0b2982\",\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7aff565e-6c55-448d-83db-ccf482c6da2f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7aff565e-6c55-448d-83db-ccf482c6da2f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"ExpressRoute Administrator\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Can create, delete and manage ExpressRoutes\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/locks/*\",\r\n \"Microsoft.Authorization/policyAssignments/*\",\r\n \"Microsoft.Authorization/policyDefinitions/*\",\r\n \"Microsoft.Authorization/roleAssignments/*\",\r\n \"Microsoft.ClassicNetwork/*\",\r\n \"Microsoft.EventGrid/*\",\r\n \"Microsoft.Insights/*\",\r\n \"Microsoft.Network/*\",\r\n \"Microsoft.Resources/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-31T03:51:32.2843055Z\",\r\n \"updatedOn\": \"2019-03-20T22:55:18.8222085Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a48d7896-14b4-4889-afef-fbb65a96e5a2\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a48d7896-14b4-4889-afef-fbb65a96e5a2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"GenevaWarmPathResourceContributor\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Can manage service bus and storage accounts.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EventHub/namespaces/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/*\",\r\n \"Microsoft.ServiceBus/namespaces/*\",\r\n \"Microsoft.Storage/storageAccounts/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-03-14T22:30:10.1999436Z\",\r\n \"updatedOn\": \"2017-03-14T22:30:10.1999436Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"9f15f5f5-77bd-413a-aa88-4b9c68b1e7bc\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"masterreader\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Lets you view everything, but not make any changes.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-11-14T23:38:05.3353858Z\",\r\n \"updatedOn\": \"2017-11-14T23:38:05.3353858Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a48d7796-14b4-4889-afef-fbb65a93e5a2\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a48d7796-14b4-4889-afef-fbb65a93e5a2\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Microsoft OneAsset Reader\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"This role is for Microsoft OneAsset team (CSEO) to track internal security compliance and resource utilization.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Compute/virtualMachines/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-03-27T23:51:08.6333052Z\",\r\n \"updatedOn\": \"2019-04-02T20:35:43.3396263Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fd1bb084-1503-4bd2-99c0-630220046786\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fd1bb084-1503-4bd2-99c0-630220046786\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Office DevOps\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Custom access for developers to operations but not secrets.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Compute/virtualMachineScaleSets/restart/action\",\r\n \"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/restart/action\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/delete\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/failover/action\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/forceFailoverAllowDataLoss/action\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/operationResults/read\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/read\",\r\n \"Microsoft.Sql/servers/databases/replicationLinks/unlink/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-10-07T08:11:46.1639398Z\",\r\n \"updatedOn\": \"2017-03-16T18:43:08.3234306Z\",\r\n \"createdBy\": \"25aea6be-b605-4347-a92d-33e178e412ec\",\r\n \"updatedBy\": \"25aea6be-b605-4347-a92d-33e178e412ec\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7fd64851-3279-459b-b614-e2b2ba760f5b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7fd64851-3279-459b-b614-e2b2ba760f5b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AZSC 1st Party Testmirror\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Describes first-party access for AZSC in test.\",\r\n \"assignableScopes\": [\r\n \"/subscriptions/e85a6c81-7b89-42c5-8d87-aca71e5113cc\",\r\n \"/subscriptions/8c39d797-d54a-4a41-9ade-2eea7c88f549\",\r\n \"/subscriptions/863c722a-2299-40dc-a2b0-f4717918a6f4\",\r\n \"/subscriptions/6d777ac4-9ba5-42c4-9306-d12ea818d8ff\",\r\n \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Network/loadBalancers/read\",\r\n \"Microsoft.Network/locations/operationresults/read\",\r\n \"Microsoft.Network/networkInterfaces/write\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Network/networkInterfaces/delete\",\r\n \"Microsoft.Network/networkInterfaces/join/action\",\r\n \"Microsoft.Network/virtualNetworks/checkIpAddressAvailability/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/applicationSecurityGroups/joinIpConfiguration/action\",\r\n \"Microsoft.Network/loadBalancers/inboundNatRules/read\",\r\n \"Microsoft.Network/loadBalancers/loadBalancingRules/read\",\r\n \"Microsoft.Network/loadBalancers/probes/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-06-21T14:30:02.8871253Z\",\r\n \"updatedOn\": \"2019-12-09T17:05:28.2812863Z\",\r\n \"createdBy\": \"7dcef84f-48d0-499f-906d-fd2d4aaccc93\",\r\n \"updatedBy\": \"7dcef84f-48d0-499f-906d-fd2d4aaccc93\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/cd9f9694-5029-4901-9a51-4034e7b028ad\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"cd9f9694-5029-4901-9a51-4034e7b028ad\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"HPC Cache Custom Role\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Can do anything related for HPC Cache.\",\r\n \"assignableScopes\": [\r\n \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\r\n \"Microsoft.StorageCache/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-08T14:57:37.8556312Z\",\r\n \"updatedOn\": \"2019-10-24T13:16:30.0803339Z\",\r\n \"createdBy\": \"229a89cf-9159-4acc-97fd-825e2aeb4da9\",\r\n \"updatedBy\": \"229a89cf-9159-4acc-97fd-825e2aeb4da9\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/058f1de6-f9d3-402b-9f02-81a67a53b7e6\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"058f1de6-f9d3-402b-9f02-81a67a53b7e6\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"058f1de6-f9d3-402b-9f02-81a67a53b7e6\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Can do anything related for HPC Cache.\",\r\n \"assignableScopes\": [\r\n \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-08T15:05:23.4396127Z\",\r\n \"updatedOn\": \"2019-08-08T15:05:23.4396127Z\",\r\n \"createdBy\": \"229a89cf-9159-4acc-97fd-825e2aeb4da9\",\r\n \"updatedBy\": \"229a89cf-9159-4acc-97fd-825e2aeb4da9\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a4956a2d-82a6-4352-b901-bb53e14f1490\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a4956a2d-82a6-4352-b901-bb53e14f1490\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"GenevaWarmPathStorageBlobContributor\",\r\n \"type\": \"CustomRole\",\r\n \"description\": \"Geneva Warm Path Storage Blob Contributor\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/lease/action\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/lock/action\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/extend/action\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-12-06T22:46:27.136563Z\",\r\n \"updatedOn\": \"2019-12-06T22:46:27.136563Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a16c43ca-2d67-4dcd-9ded-6412f5edc51a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a16c43ca-2d67-4dcd-9ded-6412f5edc51a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrPush\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr push\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/pull/read\",\r\n \"Microsoft.ContainerRegistry/registries/push/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-10-29T17:52:32.5201177Z\",\r\n \"updatedOn\": \"2018-11-13T23:26:19.9749249Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8311e382-0749-4cb8-b61a-304f252e45ec\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8311e382-0749-4cb8-b61a-304f252e45ec\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"API Management Service Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage service and the APIs\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ApiManagement/service/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8650193Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:17.7502607Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/312a565d-c81f-4fd8-895a-4e21e48d571c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"312a565d-c81f-4fd8-895a-4e21e48d571c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrPull\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr pull\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/pull/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-10-22T19:01:56.8227182Z\",\r\n \"updatedOn\": \"2018-11-13T23:22:03.2302457Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7f951dda-4ed3-4680-a7ca-43fe172d538d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrImageSigner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr image signer\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/sign/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-15T23:23:08.4038322Z\",\r\n \"updatedOn\": \"2018-10-29T19:06:24.9004422Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/6cef56e8-d556-48e5-a04f-b8e64114680f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"6cef56e8-d556-48e5-a04f-b8e64114680f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrDelete\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr delete\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/artifacts/delete\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-03-11T20:19:31.6682804Z\",\r\n \"updatedOn\": \"2019-03-11T20:24:38.9845104Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c2f4ef07-c644-48eb-af81-4b1b4947fb11\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c2f4ef07-c644-48eb-af81-4b1b4947fb11\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrQuarantineReader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr quarantine data reader\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/quarantine/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-16T00:27:39.9596835Z\",\r\n \"updatedOn\": \"2019-10-22T00:12:39.702093Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/cdda3590-29a3-44f6-95f2-9f980659eb04\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"cdda3590-29a3-44f6-95f2-9f980659eb04\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"AcrQuarantineWriter\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"acr quarantine data writer\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerRegistry/registries/quarantine/read\",\r\n \"Microsoft.ContainerRegistry/registries/quarantine/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-16T00:26:37.587182Z\",\r\n \"updatedOn\": \"2019-10-22T00:10:29.8202164Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c8d4ff99-41c3-41a8-9f60-21dfdad59608\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"API Management Service Operator Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage service but not the APIs\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ApiManagement/service/*/read\",\r\n \"Microsoft.ApiManagement/service/backup/action\",\r\n \"Microsoft.ApiManagement/service/delete\",\r\n \"Microsoft.ApiManagement/service/managedeployments/action\",\r\n \"Microsoft.ApiManagement/service/read\",\r\n \"Microsoft.ApiManagement/service/restore/action\",\r\n \"Microsoft.ApiManagement/service/updatecertificate/action\",\r\n \"Microsoft.ApiManagement/service/updatehostname/action\",\r\n \"Microsoft.ApiManagement/service/write\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.ApiManagement/service/users/keys/read\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-11-09T00:03:42.1194019Z\",\r\n \"updatedOn\": \"2016-11-18T23:56:25.4682649Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e022efe7-f5ba-4159-bbe4-b44f577e9b61\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e022efe7-f5ba-4159-bbe4-b44f577e9b61\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"API Management Service Reader Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Read-only access to service and APIs\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ApiManagement/service/*/read\",\r\n \"Microsoft.ApiManagement/service/read\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.ApiManagement/service/users/keys/read\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-11-09T00:26:45.1540473Z\",\r\n \"updatedOn\": \"2017-01-23T23:10:34.8876776Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/71522526-b88f-4d52-b57f-d31fc3546d0d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"71522526-b88f-4d52-b57f-d31fc3546d0d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Application Insights Component Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage Application Insights components\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/metricAlerts/*\",\r\n \"Microsoft.Insights/components/*\",\r\n \"Microsoft.Insights/webtests/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2020-02-12T12:45:46.9200472Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ae349356-3a1b-4a5e-921d-050484c6347e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ae349356-3a1b-4a5e-921d-050484c6347e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Application Insights Snapshot Debugger\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Gives user permission to use Application Insights Snapshot Debugger features\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/components/*/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-19T21:25:12.3728747Z\",\r\n \"updatedOn\": \"2017-04-19T23:34:59.9511581Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/08954f03-6346-4c2e-81c0-ec3a5cfae23b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"08954f03-6346-4c2e-81c0-ec3a5cfae23b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Attestation Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read the attestation provider properties\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Attestation/attestationProviders/attestation/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-03-25T19:42:59.157671Z\",\r\n \"updatedOn\": \"2019-05-10T17:52:38.9036953Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": \"SYSTEM\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fd1bd22b-8476-40bc-a0bc-69b95687b9f3\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fd1bd22b-8476-40bc-a0bc-69b95687b9f3\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Automation Job Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Create and Manage Jobs using Automation Runbooks.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/resume/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/stop/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/streams/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/write\",\r\n \"Microsoft.Automation/automationAccounts/jobs/output/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-19T20:52:41.0020018Z\",\r\n \"updatedOn\": \"2018-08-14T22:08:48.1147327Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4fe576fe-1146-4730-92eb-48519fa6bf9f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4fe576fe-1146-4730-92eb-48519fa6bf9f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Automation Runbook Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Read Runbook properties - to be able to create Jobs of the runbook.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Automation/automationAccounts/runbooks/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-19T20:47:49.5640674Z\",\r\n \"updatedOn\": \"2017-04-25T01:00:45.6444999Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5fb5aef8-1081-4b8e-bb16-9d5d0385bab5\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Automation Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Automation Operators are able to start, stop, suspend, and resume jobs\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/resume/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/stop/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/streams/read\",\r\n \"Microsoft.Automation/automationAccounts/jobs/suspend/action\",\r\n \"Microsoft.Automation/automationAccounts/jobs/write\",\r\n \"Microsoft.Automation/automationAccounts/jobSchedules/read\",\r\n \"Microsoft.Automation/automationAccounts/jobSchedules/write\",\r\n \"Microsoft.Automation/automationAccounts/linkedWorkspace/read\",\r\n \"Microsoft.Automation/automationAccounts/read\",\r\n \"Microsoft.Automation/automationAccounts/runbooks/read\",\r\n \"Microsoft.Automation/automationAccounts/schedules/read\",\r\n \"Microsoft.Automation/automationAccounts/schedules/write\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Automation/automationAccounts/jobs/output/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-08-18T01:05:03.391613Z\",\r\n \"updatedOn\": \"2018-05-10T20:12:39.69782Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/d3881f73-407a-4167-8283-e981cbba0404\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"d3881f73-407a-4167-8283-e981cbba0404\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Avere Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can create and manage an Avere vFXT cluster.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Compute/*/read\",\r\n \"Microsoft.Compute/availabilitySets/*\",\r\n \"Microsoft.Compute/virtualMachines/*\",\r\n \"Microsoft.Compute/disks/*\",\r\n \"Microsoft.Network/*/read\",\r\n \"Microsoft.Network/networkInterfaces/*\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\r\n \"Microsoft.Network/networkSecurityGroups/join/action\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/*/read\",\r\n \"Microsoft.Storage/storageAccounts/*\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/resources/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-03-18T20:00:58.9207889Z\",\r\n \"updatedOn\": \"2019-03-29T00:35:59.8924565Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4f8fab4f-1852-4a58-a46a-8eaf358af14a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4f8fab4f-1852-4a58-a46a-8eaf358af14a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Avere Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Used by the Avere vFXT cluster to manage the cluster\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Compute/virtualMachines/read\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Network/networkInterfaces/write\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Network/networkSecurityGroups/join/action\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-03-18T20:02:38.3399857Z\",\r\n \"updatedOn\": \"2019-03-29T00:26:37.9205875Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c025889f-8102-4ebf-b32c-fc0c6f0c6bd9\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Kubernetes Service Cluster Admin Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"List cluster admin credential action.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action\",\r\n \"Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-15T21:38:18.5953853Z\",\r\n \"updatedOn\": \"2020-02-07T02:49:24.9715273Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"0ab0b1a8-8aac-4efd-b8c2-3ee1fb270be8\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Kubernetes Service Cluster User Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"List cluster user credential action.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-15T22:04:53.4037241Z\",\r\n \"updatedOn\": \"2020-02-11T23:37:03.589924Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4abbcc35-e782-43d8-92c5-2d3f1bd2253f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Maps Data Reader (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Grants access to read map related data from an Azure maps account.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Maps/accounts/data/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-10-05T19:47:03.472307Z\",\r\n \"updatedOn\": \"2018-10-05T19:48:52.8066321Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"423170ca-a8f6-4b0f-8487-9e4eb8f49bfa\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Stack Registration Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Azure Stack registrations.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.AzureStack/registrations/products/*/action\",\r\n \"Microsoft.AzureStack/registrations/products/read\",\r\n \"Microsoft.AzureStack/registrations/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-11-13T23:42:06.2161827Z\",\r\n \"updatedOn\": \"2019-08-01T18:44:52.5331479Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/6f12a6df-dd06-4f3e-bcb1-ce8be600526a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"6f12a6df-dd06-4f3e-bcb1-ce8be600526a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Backup Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage backup service,but can't create vaults and give access to others\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.RecoveryServices/locations/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectedItems/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupSecurityPIN/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\r\n \"Microsoft.RecoveryServices/Vaults/certificates/*\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupconfig/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\r\n \"Microsoft.RecoveryServices/Vaults/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\r\n \"Microsoft.RecoveryServices/locations/backupStatus/action\",\r\n \"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\r\n \"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\r\n \"Microsoft.RecoveryServices/operations/read\",\r\n \"Microsoft.RecoveryServices/locations/operationStatus/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-01-03T13:12:15.7321344Z\",\r\n \"updatedOn\": \"2019-12-17T10:44:35.8361149Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5e467623-bb1f-42f4-a55d-6e525e11384b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5e467623-bb1f-42f4-a55d-6e525e11384b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Billing Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows read access to billing data\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Billing/*/read\",\r\n \"Microsoft.Commerce/*/read\",\r\n \"Microsoft.Consumption/*/read\",\r\n \"Microsoft.Management/managementGroups/read\",\r\n \"Microsoft.CostManagement/*/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-25T02:13:38.9054151Z\",\r\n \"updatedOn\": \"2018-09-26T17:45:09.2227236Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Backup Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage backup services, except removal of backup, vault creation and giving access to others\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/refreshContainers/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobs/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperationResults/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectableItems/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\r\n \"Microsoft.RecoveryServices/Vaults/certificates/write\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/write\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/write\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupstorageconfig/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupValidateOperation/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/inquire/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectableContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\r\n \"Microsoft.RecoveryServices/locations/backupStatus/action\",\r\n \"Microsoft.RecoveryServices/locations/backupPreValidateProtection/action\",\r\n \"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\r\n \"Microsoft.RecoveryServices/operations/read\",\r\n \"Microsoft.RecoveryServices/locations/operationStatus/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-01-03T13:21:11.894764Z\",\r\n \"updatedOn\": \"2019-12-17T11:02:43.9998686Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/00c29273-979b-4161-815c-10b084fb9324\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"00c29273-979b-4161-815c-10b084fb9324\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Backup Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can view backup services, but can't make changes\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobs/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupJobsExport/action\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectedItems/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupstorageconfig/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupconfig/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupOperations/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/operations/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupEngines/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/items/read\",\r\n \"Microsoft.RecoveryServices/locations/backupStatus/action\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/*\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/write\",\r\n \"Microsoft.RecoveryServices/operations/read\",\r\n \"Microsoft.RecoveryServices/locations/operationStatus/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupProtectionIntents/read\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.RecoveryServices/locations/backupValidateFeatures/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-01-03T13:18:41.3893065Z\",\r\n \"updatedOn\": \"2020-03-04T12:12:04.321311Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a795c7a0-d4a2-40c1-ae25-d81f01202912\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Blockchain Member Node Access (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for access to Blockchain Member nodes\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Blockchain/blockchainMembers/transactionNodes/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Blockchain/blockchainMembers/transactionNodes/connect/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-21T10:33:01.9604839Z\",\r\n \"updatedOn\": \"2018-12-21T10:33:58.0042162Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/31a002a1-acaf-453e-8a5b-297c9ca1ea24\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"31a002a1-acaf-453e-8a5b-297c9ca1ea24\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"BizTalk Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage BizTalk services, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.BizTalkServices/BizTalk/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:42:18.897821Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5e3c6656-6cfa-4708-81fe-0de47ac73342\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5e3c6656-6cfa-4708-81fe-0de47ac73342\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CDN Endpoint Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage CDN endpoints, but can’t grant access to other users.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Cdn/edgenodes/read\",\r\n \"Microsoft.Cdn/operationresults/*\",\r\n \"Microsoft.Cdn/profiles/endpoints/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-01-23T02:48:46.4996252Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:52.6231539Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/426e0c7f-0c7e-4658-b36f-ff54d6c29b45\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"426e0c7f-0c7e-4658-b36f-ff54d6c29b45\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CDN Endpoint Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can view CDN endpoints, but can’t make changes.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Cdn/edgenodes/read\",\r\n \"Microsoft.Cdn/operationresults/*\",\r\n \"Microsoft.Cdn/profiles/endpoints/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-01-23T02:48:46.4996252Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:53.1585846Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/871e35f6-b5c1-49cc-a043-bde969a0f2cd\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"871e35f6-b5c1-49cc-a043-bde969a0f2cd\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CDN Profile Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage CDN profiles and their endpoints, but can’t grant access to other users.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Cdn/edgenodes/read\",\r\n \"Microsoft.Cdn/operationresults/*\",\r\n \"Microsoft.Cdn/profiles/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-01-23T02:48:46.4996252Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:53.7051278Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ec156ff8-a8d1-4d15-830c-5b80698ca432\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ec156ff8-a8d1-4d15-830c-5b80698ca432\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CDN Profile Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can view CDN profiles and their endpoints, but can’t make changes.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Cdn/edgenodes/read\",\r\n \"Microsoft.Cdn/operationresults/*\",\r\n \"Microsoft.Cdn/profiles/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-01-23T02:48:46.4996252Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:54.2283001Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8f96442b-4075-438f-813d-ad51ab4019af\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8f96442b-4075-438f-813d-ad51ab4019af\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Classic Network Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage classic networks, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ClassicNetwork/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:39.7576926Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b34d265f-36f7-4a0d-a4d4-e158ca92e90f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b34d265f-36f7-4a0d-a4d4-e158ca92e90f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Classic Storage Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage classic storage accounts, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ClassicStorage/storageAccounts/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:30.8964641Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/86e8f5dc-a6e9-4c67-9d15-de283e8eac25\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"86e8f5dc-a6e9-4c67-9d15-de283e8eac25\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Classic Storage Account Key Operator Service Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Classic Storage Account Key Operators are allowed to list and regenerate keys on Classic Storage Accounts\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ClassicStorage/storageAccounts/listkeys/action\",\r\n \"Microsoft.ClassicStorage/storageAccounts/regeneratekey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-13T18:22:52.14611Z\",\r\n \"updatedOn\": \"2017-04-13T20:54:03.0505986Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/985d6b00-f706-48f5-a6fe-d0ca12fb668d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"985d6b00-f706-48f5-a6fe-d0ca12fb668d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"ClearDB MySQL DB Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage ClearDB MySQL databases, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"successbricks.cleardb/databases/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:42:23.2893077Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/9106cda0-8a86-4e81-b686-29a22c54effe\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"9106cda0-8a86-4e81-b686-29a22c54effe\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Classic Virtual Machine Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage classic virtual machines, but not access to them, and not the virtual network or storage account they’re connected to.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ClassicCompute/domainNames/*\",\r\n \"Microsoft.ClassicCompute/virtualMachines/*\",\r\n \"Microsoft.ClassicNetwork/networkSecurityGroups/join/action\",\r\n \"Microsoft.ClassicNetwork/reservedIps/link/action\",\r\n \"Microsoft.ClassicNetwork/reservedIps/read\",\r\n \"Microsoft.ClassicNetwork/virtualNetworks/join/action\",\r\n \"Microsoft.ClassicNetwork/virtualNetworks/read\",\r\n \"Microsoft.ClassicStorage/storageAccounts/disks/read\",\r\n \"Microsoft.ClassicStorage/storageAccounts/images/read\",\r\n \"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\r\n \"Microsoft.ClassicStorage/storageAccounts/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-04-25T00:37:56.5416086Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:43.0770473Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/d73bb868-a0df-4d4d-bd69-98a00b01fccb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"d73bb868-a0df-4d4d-bd69-98a00b01fccb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cognitive Services User\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read and list keys of Cognitive Services.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.CognitiveServices/*/read\",\r\n \"Microsoft.CognitiveServices/accounts/listkeys/action\",\r\n \"Microsoft.Insights/alertRules/read\",\r\n \"Microsoft.Insights/diagnosticSettings/read\",\r\n \"Microsoft.Insights/logDefinitions/read\",\r\n \"Microsoft.Insights/metricdefinitions/read\",\r\n \"Microsoft.Insights/metrics/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/operations/read\",\r\n \"Microsoft.Resources/subscriptions/operationresults/read\",\r\n \"Microsoft.Resources/subscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.CognitiveServices/*\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-08T23:23:43.7701274Z\",\r\n \"updatedOn\": \"2019-02-13T19:53:56.7209248Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a97b65f3-24c7-4388-baec-2e87135dc908\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a97b65f3-24c7-4388-baec-2e87135dc908\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cognitive Services Data Reader (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read Cognitive Services data.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.CognitiveServices/*/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-02-13T20:02:12.6849986Z\",\r\n \"updatedOn\": \"2019-02-13T22:53:55.167529Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b59867f0-fa02-499b-be73-45a86b5b3e1c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b59867f0-fa02-499b-be73-45a86b5b3e1c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cognitive Services Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you create, read, update, delete and manage keys of Cognitive Services.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.CognitiveServices/*\",\r\n \"Microsoft.Features/features/read\",\r\n \"Microsoft.Features/providers/features/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/diagnosticSettings/*\",\r\n \"Microsoft.Insights/logDefinitions/read\",\r\n \"Microsoft.Insights/metricdefinitions/read\",\r\n \"Microsoft.Insights/metrics/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/deployments/operations/read\",\r\n \"Microsoft.Resources/subscriptions/operationresults/read\",\r\n \"Microsoft.Resources/subscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-08T23:18:39.2257848Z\",\r\n \"updatedOn\": \"2018-09-14T00:53:37.7546808Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"25fbc0a9-bd7c-42a3-aa1a-3b75d497ee68\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"CosmosBackupOperator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can submit restore request for a Cosmos DB database or a container for an account\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.DocumentDB/databaseAccounts/backup/action\",\r\n \"Microsoft.DocumentDB/databaseAccounts/restore/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-07T19:47:14.965156Z\",\r\n \"updatedOn\": \"2018-12-07T19:52:21.9969834Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/db7b14f2-5adf-42da-9f96-f2ee17bab5cb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"db7b14f2-5adf-42da-9f96-f2ee17bab5cb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage everything except access to resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.Authorization/*/Delete\",\r\n \"Microsoft.Authorization/*/Write\",\r\n \"Microsoft.Authorization/elevateAccess/Action\",\r\n \"Microsoft.Blueprint/blueprintAssignments/write\",\r\n \"Microsoft.Blueprint/blueprintAssignments/delete\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:38.458061Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b24988ac-6180-42a0-ab88-20f7382dd24c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cosmos DB Account Reader Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read Azure Cosmos DB Accounts data\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.DocumentDB/*/read\",\r\n \"Microsoft.DocumentDB/databaseAccounts/readonlykeys/action\",\r\n \"Microsoft.Insights/MetricDefinitions/read\",\r\n \"Microsoft.Insights/Metrics/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-10-30T17:53:54.6005577Z\",\r\n \"updatedOn\": \"2018-02-21T01:36:59.6186231Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fbdf93bf-df7d-467e-a4d2-9458aa1360c8\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fbdf93bf-df7d-467e-a4d2-9458aa1360c8\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cost Management Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can view costs and manage cost configuration (e.g. budgets, exports)\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Consumption/*\",\r\n \"Microsoft.CostManagement/*\",\r\n \"Microsoft.Billing/billingPeriods/read\",\r\n \"Microsoft.Resources/subscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Advisor/configurations/read\",\r\n \"Microsoft.Advisor/recommendations/read\",\r\n \"Microsoft.Management/managementGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-14T16:09:22.8834827Z\",\r\n \"updatedOn\": \"2019-06-25T21:25:06.8686379Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/434105ed-43f6-45c7-a02f-909b2ba83430\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"434105ed-43f6-45c7-a02f-909b2ba83430\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cost Management Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can view cost data and configuration (e.g. budgets, exports)\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Consumption/*/read\",\r\n \"Microsoft.CostManagement/*/read\",\r\n \"Microsoft.Billing/billingPeriods/read\",\r\n \"Microsoft.Resources/subscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Advisor/configurations/read\",\r\n \"Microsoft.Advisor/recommendations/read\",\r\n \"Microsoft.Management/managementGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-14T16:09:22.8834827Z\",\r\n \"updatedOn\": \"2019-06-25T20:59:11.5762937Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/72fafb9e-0641-4937-9268-a91bfd8191a3\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"72fafb9e-0641-4937-9268-a91bfd8191a3\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Data Box Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage everything under Data Box Service except giving access to others.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Databox/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-07-27T08:28:42.714021Z\",\r\n \"updatedOn\": \"2018-07-27T08:36:56.3827309Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/add466c9-e687-43fc-8d98-dfcf8d720be5\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"add466c9-e687-43fc-8d98-dfcf8d720be5\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Data Box Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Data Box Service except creating order or editing order details and giving access to others.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Databox/*/read\",\r\n \"Microsoft.Databox/jobs/listsecrets/action\",\r\n \"Microsoft.Databox/jobs/listcredentials/action\",\r\n \"Microsoft.Databox/locations/availableSkus/action\",\r\n \"Microsoft.Databox/locations/validateInputs/action\",\r\n \"Microsoft.Databox/locations/regionConfiguration/action\",\r\n \"Microsoft.Databox/locations/validateAddress/action\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-07-27T08:26:21.9284772Z\",\r\n \"updatedOn\": \"2020-01-24T05:39:52.6143537Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"028f4ed7-e2a9-465e-a8f4-9c0ffdfdc027\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Data Factory Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Create and manage data factories, as well as child resources within them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.DataFactory/dataFactories/*\",\r\n \"Microsoft.DataFactory/factories/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.EventGrid/eventSubscriptions/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2020-02-14T19:49:21.5789216Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/673868aa-7521-48a0-acc6-0f60742d39f5\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"673868aa-7521-48a0-acc6-0f60742d39f5\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Data Purger\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can purge analytics data\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Insights/components/*/read\",\r\n \"Microsoft.Insights/components/purge/action\",\r\n \"Microsoft.OperationalInsights/workspaces/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/purge/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-04-30T22:39:49.61677Z\",\r\n \"updatedOn\": \"2018-04-30T22:44:15.1171162Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/150f5e0c-0603-4f03-8c7f-cf70034c4e90\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"150f5e0c-0603-4f03-8c7f-cf70034c4e90\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Data Lake Analytics Developer\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you submit, monitor, and manage your own jobs but not create or delete Data Lake Analytics accounts.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.BigAnalytics/accounts/*\",\r\n \"Microsoft.DataLakeAnalytics/accounts/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.BigAnalytics/accounts/Delete\",\r\n \"Microsoft.BigAnalytics/accounts/TakeOwnership/action\",\r\n \"Microsoft.BigAnalytics/accounts/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/Delete\",\r\n \"Microsoft.DataLakeAnalytics/accounts/TakeOwnership/action\",\r\n \"Microsoft.DataLakeAnalytics/accounts/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/dataLakeStoreAccounts/Delete\",\r\n \"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/storageAccounts/Delete\",\r\n \"Microsoft.DataLakeAnalytics/accounts/firewallRules/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/firewallRules/Delete\",\r\n \"Microsoft.DataLakeAnalytics/accounts/computePolicies/Write\",\r\n \"Microsoft.DataLakeAnalytics/accounts/computePolicies/Delete\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-10-20T00:33:29.3115234Z\",\r\n \"updatedOn\": \"2017-08-18T00:00:17.0411642Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/47b7735b-770e-4598-a7da-8b91488b4c88\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"47b7735b-770e-4598-a7da-8b91488b4c88\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"DevTest Labs User\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you connect, start, restart, and shutdown your virtual machines in your Azure DevTest Labs.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Compute/availabilitySets/read\",\r\n \"Microsoft.Compute/virtualMachines/*/read\",\r\n \"Microsoft.Compute/virtualMachines/deallocate/action\",\r\n \"Microsoft.Compute/virtualMachines/read\",\r\n \"Microsoft.Compute/virtualMachines/restart/action\",\r\n \"Microsoft.Compute/virtualMachines/start/action\",\r\n \"Microsoft.DevTestLab/*/read\",\r\n \"Microsoft.DevTestLab/labs/claimAnyVm/action\",\r\n \"Microsoft.DevTestLab/labs/createEnvironment/action\",\r\n \"Microsoft.DevTestLab/labs/ensureCurrentUserProfile/action\",\r\n \"Microsoft.DevTestLab/labs/formulas/delete\",\r\n \"Microsoft.DevTestLab/labs/formulas/read\",\r\n \"Microsoft.DevTestLab/labs/formulas/write\",\r\n \"Microsoft.DevTestLab/labs/policySets/evaluatePolicies/action\",\r\n \"Microsoft.DevTestLab/labs/virtualMachines/claim/action\",\r\n \"Microsoft.DevTestLab/labs/virtualmachines/listApplicableSchedules/action\",\r\n \"Microsoft.DevTestLab/labs/virtualMachines/getRdpFileContents/action\",\r\n \"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\r\n \"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\r\n \"Microsoft.Network/networkInterfaces/*/read\",\r\n \"Microsoft.Network/networkInterfaces/join/action\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Network/networkInterfaces/write\",\r\n \"Microsoft.Network/publicIPAddresses/*/read\",\r\n \"Microsoft.Network/publicIPAddresses/join/action\",\r\n \"Microsoft.Network/publicIPAddresses/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.Resources/deployments/operations/read\",\r\n \"Microsoft.Resources/deployments/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/listKeys/action\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.Compute/virtualMachines/vmSizes/read\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-08T21:52:45.0657582Z\",\r\n \"updatedOn\": \"2019-05-08T11:27:34.8855476Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/76283e04-6283-4c54-8f91-bcf1374a3c64\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"76283e04-6283-4c54-8f91-bcf1374a3c64\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"DocumentDB Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage DocumentDB accounts, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.DocumentDb/databaseAccounts/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-11-21T01:38:32.0948484Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5bd9cd88-fe45-4216-938b-f97437e15450\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5bd9cd88-fe45-4216-938b-f97437e15450\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"DNS Zone Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage DNS zones and record sets in Azure DNS, but does not let you control who has access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/dnsZones/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-10-15T23:33:25.9730842Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:40.3710365Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/befefa01-2a29-4197-83a8-272ff33ce314\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"befefa01-2a29-4197-83a8-272ff33ce314\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"EventGrid EventSubscription Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage EventGrid event subscription operations.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.EventGrid/eventSubscriptions/*\",\r\n \"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\r\n \"Microsoft.EventGrid/locations/eventSubscriptions/read\",\r\n \"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-10-08T23:27:28.3130743Z\",\r\n \"updatedOn\": \"2019-01-08T00:06:34.3543171Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/428e0ff0-5e57-4d9c-a221-2c70d0e0a443\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"428e0ff0-5e57-4d9c-a221-2c70d0e0a443\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"EventGrid EventSubscription Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read EventGrid event subscriptions.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.EventGrid/eventSubscriptions/read\",\r\n \"Microsoft.EventGrid/topicTypes/eventSubscriptions/read\",\r\n \"Microsoft.EventGrid/locations/eventSubscriptions/read\",\r\n \"Microsoft.EventGrid/locations/topicTypes/eventSubscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-10-09T17:29:28.1417894Z\",\r\n \"updatedOn\": \"2019-01-08T00:05:40.2884365Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/2414bbcf-6497-4faf-8c65-045460748405\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"2414bbcf-6497-4faf-8c65-045460748405\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Graph Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Create and manage all aspects of the Enterprise Graph - Ontology, Schema mapping, Conflation and Conversational AI and Ingestions\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/conflation/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/conflation/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/sourceschema/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/intentclassification/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/ingestion/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/ontology/read\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/ontology/write\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/delete\",\r\n \"Microsoft.EnterpriseKnowledgeGraph/operations/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-02-23T21:07:22.5844236Z\",\r\n \"updatedOn\": \"2019-02-28T20:21:18.9318073Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b60367af-1334-4454-b71e-769d9a4f83d9\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b60367af-1334-4454-b71e-769d9a4f83d9\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"HDInsight Domain Services Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can Read, Create, Modify and Delete Domain Services related operations needed for HDInsight Enterprise Security Package\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.AAD/*/read\",\r\n \"Microsoft.AAD/domainServices/*/read\",\r\n \"Microsoft.AAD/domainServices/oucontainer/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-09-12T22:42:51.7451109Z\",\r\n \"updatedOn\": \"2018-09-12T23:06:45.7641599Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8d8d5a11-05d3-4bda-a417-a08778121c7c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8d8d5a11-05d3-4bda-a417-a08778121c7c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Intelligent Systems Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Intelligent Systems accounts, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.IntelligentSystems/accounts/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:32:00.9996357Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/03a6d094-3444-4b3d-88af-7477090a9e5e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"03a6d094-3444-4b3d-88af-7477090a9e5e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Key Vault Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage key vaults, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.KeyVault/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.KeyVault/locations/deletedVaults/purge/action\",\r\n \"Microsoft.KeyVault/hsmPools/*\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-02-25T17:08:28.5184971Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:49.5373075Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"f25e0fa2-a7c8-4377-a976-54943a77a395\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Knowledge Consumer\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Knowledge Read permission to consume Enterprise Graph Knowledge using entity search and graph query\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EnterpriseKnowledgeGraph/services/knowledge/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-02-23T21:23:31.4037552Z\",\r\n \"updatedOn\": \"2019-02-28T20:25:00.7369384Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ee361c5d-f7b5-4119-b4b6-892157c8f64c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ee361c5d-f7b5-4119-b4b6-892157c8f64c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Lab Creator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you create, manage, delete your managed labs under your Azure Lab Accounts.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.LabServices/labAccounts/*/read\",\r\n \"Microsoft.LabServices/labAccounts/createLab/action\",\r\n \"Microsoft.LabServices/labAccounts/sizes/getRegionalAvailability/action\",\r\n \"Microsoft.LabServices/labAccounts/getRegionalAvailability/action\",\r\n \"Microsoft.LabServices/labAccounts/getPricingAndAvailability/action\",\r\n \"Microsoft.LabServices/labAccounts/getRestrictionsAndUsage/action\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-01-18T23:38:58.1036141Z\",\r\n \"updatedOn\": \"2020-02-12T23:54:21.0840302Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b97fb8bc-a8b2-4522-a38b-dd33c7e65ead\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Log Analytics Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Log Analytics Reader can view and search all monitoring data as well as and view monitoring settings, including viewing the configuration of Azure diagnostics on all Azure resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\r\n \"Microsoft.OperationalInsights/workspaces/search/action\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.OperationalInsights/workspaces/sharedKeys/read\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-02T00:20:28.1449012Z\",\r\n \"updatedOn\": \"2018-01-30T18:08:26.0438523Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/73c42c96-874c-492b-b04d-ab87d138a893\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"73c42c96-874c-492b-b04d-ab87d138a893\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Log Analytics Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Log Analytics Contributor can read all monitoring data and edit monitoring settings. Editing monitoring settings includes adding the VM extension to VMs; reading storage account keys to be able to configure collection of logs from Azure Storage; creating and configuring Automation accounts; adding solutions; and configuring Azure diagnostics on all Azure resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Automation/automationAccounts/*\",\r\n \"Microsoft.ClassicCompute/virtualMachines/extensions/*\",\r\n \"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\r\n \"Microsoft.Compute/virtualMachines/extensions/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/diagnosticSettings/*\",\r\n \"Microsoft.OperationalInsights/*\",\r\n \"Microsoft.OperationsManagement/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourcegroups/deployments/*\",\r\n \"Microsoft.Storage/storageAccounts/listKeys/action\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-25T21:51:45.3174711Z\",\r\n \"updatedOn\": \"2018-01-30T18:08:26.6376126Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/92aaf0da-9dab-42b6-94a3-d43ce8d16293\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"92aaf0da-9dab-42b6-94a3-d43ce8d16293\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Logic App Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read, enable and disable logic app.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*/read\",\r\n \"Microsoft.Insights/metricAlerts/*/read\",\r\n \"Microsoft.Insights/diagnosticSettings/*/read\",\r\n \"Microsoft.Insights/metricDefinitions/*/read\",\r\n \"Microsoft.Logic/*/read\",\r\n \"Microsoft.Logic/workflows/disable/action\",\r\n \"Microsoft.Logic/workflows/enable/action\",\r\n \"Microsoft.Logic/workflows/validate/action\",\r\n \"Microsoft.Resources/deployments/operations/read\",\r\n \"Microsoft.Resources/subscriptions/operationresults/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Web/connectionGateways/*/read\",\r\n \"Microsoft.Web/connections/*/read\",\r\n \"Microsoft.Web/customApis/*/read\",\r\n \"Microsoft.Web/serverFarms/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-04-28T21:33:30.4656007Z\",\r\n \"updatedOn\": \"2019-10-15T04:28:56.3265986Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"515c2055-d9d4-4321-b1b9-bd0c9a0f79fe\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Logic App Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage logic app, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ClassicStorage/storageAccounts/listKeys/action\",\r\n \"Microsoft.ClassicStorage/storageAccounts/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/metricAlerts/*\",\r\n \"Microsoft.Insights/diagnosticSettings/*\",\r\n \"Microsoft.Insights/logdefinitions/*\",\r\n \"Microsoft.Insights/metricDefinitions/*\",\r\n \"Microsoft.Logic/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/operationresults/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/listkeys/action\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Web/connectionGateways/*\",\r\n \"Microsoft.Web/connections/*\",\r\n \"Microsoft.Web/customApis/*\",\r\n \"Microsoft.Web/serverFarms/join/action\",\r\n \"Microsoft.Web/serverFarms/read\",\r\n \"Microsoft.Web/sites/functions/listSecrets/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-04-28T21:33:30.4656007Z\",\r\n \"updatedOn\": \"2019-10-15T04:31:27.7685427Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/87a39d53-fc1b-424a-814c-f7e04687dc9e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"87a39d53-fc1b-424a-814c-f7e04687dc9e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Application Operator Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read and perform actions on Managed Application resources\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Solutions/applications/read\",\r\n \"Microsoft.Solutions/*/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-07-27T00:59:33.7988813Z\",\r\n \"updatedOn\": \"2019-02-20T01:09:55.1593079Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c7393b34-138c-406f-901b-d8cf2b17e6ae\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c7393b34-138c-406f-901b-d8cf2b17e6ae\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Applications Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read resources in a managed app and request JIT access.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Solutions/jitRequests/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-09-06T00:33:58.3651522Z\",\r\n \"updatedOn\": \"2018-09-06T00:33:58.3651522Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b9331d33-8a36-4f8c-b097-4f54124fdb44\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b9331d33-8a36-4f8c-b097-4f54124fdb44\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Identity Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Read and Assign User Assigned Identity\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ManagedIdentity/userAssignedIdentities/*/read\",\r\n \"Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-14T19:52:04.3924594Z\",\r\n \"updatedOn\": \"2017-12-14T22:16:00.1483256Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"f1a07417-d97a-45cb-824c-7a7467783830\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Identity Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Create, Read, Update, and Delete User Assigned Identity\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ManagedIdentity/userAssignedIdentities/read\",\r\n \"Microsoft.ManagedIdentity/userAssignedIdentities/write\",\r\n \"Microsoft.ManagedIdentity/userAssignedIdentities/delete\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-14T19:53:42.8804692Z\",\r\n \"updatedOn\": \"2019-06-20T21:51:27.0850433Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e40ec5ca-96e0-45a2-b4ff-59039f2c2b59\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Management Group Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Management Group Contributor Role\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Management/managementGroups/delete\",\r\n \"Microsoft.Management/managementGroups/read\",\r\n \"Microsoft.Management/managementGroups/subscriptions/delete\",\r\n \"Microsoft.Management/managementGroups/subscriptions/write\",\r\n \"Microsoft.Management/managementGroups/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-06-22T00:28:29.0523964Z\",\r\n \"updatedOn\": \"2018-07-10T20:51:26.6132189Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Management Group Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Management Group Reader Role\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Management/managementGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-06-22T00:31:03.4295347Z\",\r\n \"updatedOn\": \"2018-07-10T20:49:42.563034Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ac63b705-f282-497d-ac71-919bf39d939d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ac63b705-f282-497d-ac71-919bf39d939d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Monitoring Metrics Publisher\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Enables publishing metrics against Azure resources\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Insights/Register/Action\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Insights/Metrics/Write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-08-14T00:36:16.5610279Z\",\r\n \"updatedOn\": \"2018-08-14T00:37:18.1465065Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/3913510d-42f4-4e42-8a64-420c390055eb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"3913510d-42f4-4e42-8a64-420c390055eb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Monitoring Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read all monitoring data.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/search/action\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-09-21T19:19:52.4939376Z\",\r\n \"updatedOn\": \"2018-01-30T18:08:27.262625Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/43d0d8ad-25c7-4714-9337-8ba259a9fe05\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"43d0d8ad-25c7-4714-9337-8ba259a9fe05\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Network Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage networks, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-02T00:18:27.3542698Z\",\r\n \"updatedOn\": \"2016-05-31T23:14:00.3326359Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4d97b98b-1d4f-4787-a291-c67834d212e7\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Monitoring Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read all monitoring data and update monitoring settings.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.AlertsManagement/alerts/*\",\r\n \"Microsoft.AlertsManagement/alertsSummary/*\",\r\n \"Microsoft.Insights/actiongroups/*\",\r\n \"Microsoft.Insights/activityLogAlerts/*\",\r\n \"Microsoft.Insights/AlertRules/*\",\r\n \"Microsoft.Insights/components/*\",\r\n \"Microsoft.Insights/DiagnosticSettings/*\",\r\n \"Microsoft.Insights/eventtypes/*\",\r\n \"Microsoft.Insights/LogDefinitions/*\",\r\n \"Microsoft.Insights/metricalerts/*\",\r\n \"Microsoft.Insights/MetricDefinitions/*\",\r\n \"Microsoft.Insights/Metrics/*\",\r\n \"Microsoft.Insights/Register/Action\",\r\n \"Microsoft.Insights/scheduledqueryrules/*\",\r\n \"Microsoft.Insights/webtests/*\",\r\n \"Microsoft.Insights/workbooks/*\",\r\n \"Microsoft.OperationalInsights/workspaces/intelligencepacks/*\",\r\n \"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\r\n \"Microsoft.OperationalInsights/workspaces/search/action\",\r\n \"Microsoft.OperationalInsights/workspaces/sharedKeys/action\",\r\n \"Microsoft.OperationalInsights/workspaces/storageinsightconfigs/*\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.WorkloadMonitor/monitors/*\",\r\n \"Microsoft.WorkloadMonitor/notificationSettings/*\",\r\n \"Microsoft.AlertsManagement/smartDetectorAlertRules/*\",\r\n \"Microsoft.AlertsManagement/actionRules/*\",\r\n \"Microsoft.AlertsManagement/smartGroups/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2016-09-21T19:21:08.4345976Z\",\r\n \"updatedOn\": \"2020-02-27T14:51:55.2392109Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/749f88d5-cbae-40b8-bcfc-e573ddc772fa\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"749f88d5-cbae-40b8-bcfc-e573ddc772fa\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"New Relic APM Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage New Relic Application Performance Management accounts and applications, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"NewRelic.APM/accounts/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:42:16.2033878Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5d28c62d-5b37-4476-8438-e587778df237\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5d28c62d-5b37-4476-8438-e587778df237\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage everything, including access to resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:32.2101122Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8e3af657-a8ff-443c-a75c-2fe8c4bcb635\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you view everything, but not make any changes.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:35.7424745Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"acdd72a7-3385-48ef-bd42-f606fba81ae7\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Redis Cache Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Redis caches, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Cache/redis/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:48.2353169Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e0f68234-74aa-48ed-b826-c38b57376e17\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e0f68234-74aa-48ed-b826-c38b57376e17\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Reader and Data Access\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you view everything but will not let you delete or create a storage account or contained resource. It will also allow read/write access to all data contained in a storage account via access to storage account keys.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/listKeys/action\",\r\n \"Microsoft.Storage/storageAccounts/ListAccountSas/action\",\r\n \"Microsoft.Storage/storageAccounts/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-03-27T23:20:46.1498906Z\",\r\n \"updatedOn\": \"2019-04-04T23:41:26.1056261Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c12c1c16-33a1-487b-954d-41c89c60f349\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c12c1c16-33a1-487b-954d-41c89c60f349\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Resource Policy Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Users with rights to create/modify resource policy, create support ticket and read resources/hierarchy.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Authorization/policyassignments/*\",\r\n \"Microsoft.Authorization/policydefinitions/*\",\r\n \"Microsoft.Authorization/policysetdefinitions/*\",\r\n \"Microsoft.PolicyInsights/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-08-25T19:08:01.3861639Z\",\r\n \"updatedOn\": \"2019-11-20T20:26:12.8811365Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"36243c78-bf99-498c-9df9-86d9f8d28608\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Scheduler Job Collections Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Scheduler job collections, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Scheduler/jobcollections/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:42:24.8360756Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/188a0f2f-5c9e-469b-ae67-2aa5ce574b94\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"188a0f2f-5c9e-469b-ae67-2aa5ce574b94\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Search Service Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Search services, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Search/searchServices/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T20:42:21.8687229Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7ca78c08-252a-4471-8644-bb5ff32d4ba0\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7ca78c08-252a-4471-8644-bb5ff32d4ba0\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Security Admin\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Security Admin Role\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Authorization/policyAssignments/*\",\r\n \"Microsoft.Authorization/policyDefinitions/*\",\r\n \"Microsoft.Authorization/policySetDefinitions/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Management/managementGroups/read\",\r\n \"Microsoft.operationalInsights/workspaces/*/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Security/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-03T07:51:23.0917487Z\",\r\n \"updatedOn\": \"2019-03-12T21:12:48.635016Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fb1c8493-542b-48eb-b624-b4c8fea62acd\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fb1c8493-542b-48eb-b624-b4c8fea62acd\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Security Manager (Legacy)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"This is a legacy role. Please use Security Administrator instead\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ClassicCompute/*/read\",\r\n \"Microsoft.ClassicCompute/virtualMachines/*/write\",\r\n \"Microsoft.ClassicNetwork/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Security/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-22T17:45:15.8986455Z\",\r\n \"updatedOn\": \"2018-03-08T18:18:48.618362Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e3d13bf0-dd5a-482e-ba6b-9b8433878d10\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e3d13bf0-dd5a-482e-ba6b-9b8433878d10\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Security Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Security Reader Role\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.operationalInsights/workspaces/*/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Security/*/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Management/managementGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-03T07:48:49.0516559Z\",\r\n \"updatedOn\": \"2018-06-28T17:27:23.106561Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/39bc4728-0917-49c7-9d2c-d95423bc2eb4\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"39bc4728-0917-49c7-9d2c-d95423bc2eb4\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Spatial Anchors Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage spatial anchors in your account, but not delete them\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-21T17:57:41.1420864Z\",\r\n \"updatedOn\": \"2019-02-13T06:13:39.8686435Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8bbe83f1-e2a6-4df7-8cb4-4e04d4e5c827\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Site Recovery Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Site Recovery service except vault creation and role assignment\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\r\n \"Microsoft.RecoveryServices/locations/allocateStamp/action\",\r\n \"Microsoft.RecoveryServices/Vaults/certificates/write\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/*\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationAlertSettings/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationPolicies/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/*\",\r\n \"Microsoft.RecoveryServices/Vaults/storageConfig/*\",\r\n \"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationOperationStatus/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-19T13:46:17.4592776Z\",\r\n \"updatedOn\": \"2019-11-07T06:13:49.0760858Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/6670b86e-a3f7-4917-ac9b-5d6ab1be4567\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"6670b86e-a3f7-4917-ac9b-5d6ab1be4567\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Site Recovery Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you failover and failback but not perform other Site Recovery management operations\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\r\n \"Microsoft.RecoveryServices/locations/allocateStamp/action\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationJobs/*\",\r\n \"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/*\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\r\n \"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\r\n \"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-19T13:47:50.1341148Z\",\r\n \"updatedOn\": \"2019-08-28T12:00:57.4472826Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": \"\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/494ae006-db33-4328-bf46-533a6560a3ca\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"494ae006-db33-4328-bf46-533a6560a3ca\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Spatial Anchors Account Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you locate and read properties of spatial anchors in your account\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-21T17:57:42.9271004Z\",\r\n \"updatedOn\": \"2019-02-13T06:16:15.3170663Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5d51204f-eb77-4b1c-b86a-2ec626c49413\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5d51204f-eb77-4b1c-b86a-2ec626c49413\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Site Recovery Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you view Site Recovery status but not perform other management operations\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.RecoveryServices/locations/allocatedStamp/read\",\r\n \"Microsoft.RecoveryServices/Vaults/extendedInformation/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringAlerts/read\",\r\n \"Microsoft.RecoveryServices/Vaults/monitoringConfigurations/notificationConfiguration/read\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/refreshContainers/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/registeredIdentities/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationAlertSettings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationEvents/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationJobs/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationPolicies/read\",\r\n \"Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read\",\r\n \"Microsoft.RecoveryServices/Vaults/storageConfig/read\",\r\n \"Microsoft.RecoveryServices/Vaults/tokenInfo/read\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.RecoveryServices/Vaults/vaultTokens/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-05-19T13:35:40.0093634Z\",\r\n \"updatedOn\": \"2017-05-26T19:54:51.393325Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/dbaa88c4-0c30-4179-9fb3-46319faa6149\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"dbaa88c4-0c30-4179-9fb3-46319faa6149\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Spatial Anchors Account Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage spatial anchors in your account, including deleting them\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/create/action\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/delete\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/discovery/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/properties/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/query/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/submitdiag/read\",\r\n \"Microsoft.MixedReality/SpatialAnchorsAccounts/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-21T17:57:43.5489832Z\",\r\n \"updatedOn\": \"2019-02-13T06:15:31.8572222Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/70bbe301-9835-447d-afdd-19eb3167307c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"70bbe301-9835-447d-afdd-19eb3167307c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SQL Managed Instance Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage SQL Managed Instances and required network configuration, but can’t give access to others.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Network/networkSecurityGroups/*\",\r\n \"Microsoft.Network/routeTables/*\",\r\n \"Microsoft.Sql/locations/*/read\",\r\n \"Microsoft.Sql/managedInstances/*\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/*\",\r\n \"Microsoft.Network/virtualNetworks/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/metrics/read\",\r\n \"Microsoft.Insights/metricDefinitions/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-10T22:57:14.2937983Z\",\r\n \"updatedOn\": \"2019-04-25T17:59:01.7432149Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4939a1f6-9ae0-4e48-a1e0-f2cbe897382d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SQL DB Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage SQL databases, but not access to them. Also, you can't manage their security-related policies or their parent SQL servers.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Sql/locations/*/read\",\r\n \"Microsoft.Sql/servers/databases/*\",\r\n \"Microsoft.Sql/servers/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Insights/metrics/read\",\r\n \"Microsoft.Insights/metricDefinitions/read\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/databases/auditingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/auditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/auditRecords/read\",\r\n \"Microsoft.Sql/servers/databases/connectionPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/securityMetrics/*\",\r\n \"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\r\n \"Microsoft.Sql/servers/vulnerabilityAssessments/*\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-28T22:44:35.864967Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"9b7fa17d-e63e-47b0-bb0a-15c516ac86ec\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SQL Security Manager\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage the security-related policies of SQL servers and databases, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/databases/transparentDataEncryption/*\",\r\n \"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/auditingPolicies/*\",\r\n \"Microsoft.Sql/servers/auditingSettings/*\",\r\n \"Microsoft.Sql/servers/extendedAuditingSettings/read\",\r\n \"Microsoft.Sql/servers/databases/auditingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/auditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/auditRecords/read\",\r\n \"Microsoft.Sql/servers/databases/connectionPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/extendedAuditingSettings/read\",\r\n \"Microsoft.Sql/servers/databases/read\",\r\n \"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/schemas/read\",\r\n \"Microsoft.Sql/servers/databases/schemas/tables/columns/read\",\r\n \"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/schemas/tables/read\",\r\n \"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/securityMetrics/*\",\r\n \"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/transparentDataEncryption/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\r\n \"Microsoft.Sql/servers/firewallRules/*\",\r\n \"Microsoft.Sql/servers/read\",\r\n \"Microsoft.Sql/servers/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/servers/vulnerabilityAssessments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-16T18:44:40.4607572Z\",\r\n \"updatedOn\": \"2019-08-08T22:58:22.2532171Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": \"yaiyun\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/056cd41c-7e88-42e1-933e-88ba6a50c9c3\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"056cd41c-7e88-42e1-933e-88ba6a50c9c3\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Account Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage storage accounts, including accessing storage account keys which provide full access to storage account data.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/diagnosticSettings/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Storage/storageAccounts/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-02T00:18:27.3542698Z\",\r\n \"updatedOn\": \"2019-05-29T20:56:33.9582501Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"17d1049b-9a84-46fb-8f53-869881c3d3ab\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SQL Server Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage SQL servers and databases, but not access to them, and not their security -related policies.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Sql/locations/*/read\",\r\n \"Microsoft.Sql/servers/*\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Insights/metrics/read\",\r\n \"Microsoft.Insights/metricDefinitions/read\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.Sql/managedInstances/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/managedInstances/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/managedInstances/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/managedInstances/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/auditingPolicies/*\",\r\n \"Microsoft.Sql/servers/auditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/auditingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/auditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/auditRecords/read\",\r\n \"Microsoft.Sql/servers/databases/connectionPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/currentSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/dataMaskingPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/extendedAuditingSettings/*\",\r\n \"Microsoft.Sql/servers/databases/recommendedSensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/servers/databases/securityMetrics/*\",\r\n \"Microsoft.Sql/servers/databases/sensitivityLabels/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessments/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentScans/*\",\r\n \"Microsoft.Sql/servers/databases/vulnerabilityAssessmentSettings/*\",\r\n \"Microsoft.Sql/servers/extendedAuditingSettings/*\",\r\n \"Microsoft.Sql/servers/securityAlertPolicies/*\",\r\n \"Microsoft.Sql/servers/vulnerabilityAssessments/*\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-28T22:44:36.5466043Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"6d8ee4ec-f05a-4a1d-8b00-a9b17e38b437\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Account Key Operator Service Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Storage Account Key Operators are allowed to list and regenerate keys on Storage Accounts\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/listkeys/action\",\r\n \"Microsoft.Storage/storageAccounts/regeneratekey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-04-13T18:26:11.577057Z\",\r\n \"updatedOn\": \"2017-04-13T20:57:14.5990198Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/81a9662b-bebf-436f-a333-f67b29880f12\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"81a9662b-bebf-436f-a333-f67b29880f12\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Blob Data Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read, write and delete access to Azure Storage blob containers and data\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/write\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-21T00:01:24.7972312Z\",\r\n \"updatedOn\": \"2019-07-16T17:39:31.7303676Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ba92f5b4-2d11-453d-a403-e96b0029c9fe\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Blob Data Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for full access to Azure Storage blob containers and data, including assigning POSIX access control.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/*\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/*\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-12-04T07:02:58.2775257Z\",\r\n \"updatedOn\": \"2019-07-16T21:30:33.7002563Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b7e6dc6d-f1e8-4753-8033-0f276bb0955b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Blob Data Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read access to Azure Storage blob containers and data\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/read\",\r\n \"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-21T00:01:24.7972312Z\",\r\n \"updatedOn\": \"2019-07-15T22:01:25.5409721Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"2a2b9908-6ea1-4ae2-8e65-a410df84e7d1\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Queue Data Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read, write, and delete access to Azure Storage queues and queue messages\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/delete\",\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/read\",\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete\",\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/write\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-21T00:01:24.7972312Z\",\r\n \"updatedOn\": \"2019-03-05T21:58:02.7367128Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/974c5e8b-45b9-4653-ba55-5f855dd0fb88\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"974c5e8b-45b9-4653-ba55-5f855dd0fb88\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Queue Data Message Processor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for peek, receive, and delete access to Azure Storage queue messages\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\",\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-01-28T22:27:04.8947111Z\",\r\n \"updatedOn\": \"2019-03-05T22:05:46.1259125Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8a0f0c08-91a1-4084-bc3d-661d67233fed\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8a0f0c08-91a1-4084-bc3d-661d67233fed\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Queue Data Message Sender\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for sending of Azure Storage queue messages\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-01-28T22:28:34.7459724Z\",\r\n \"updatedOn\": \"2019-03-05T22:11:49.6383892Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c6a89b2d-59bc-44d0-9896-0f6e12d7b80a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Queue Data Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read access to Azure Storage queues and queue messages\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/queueServices/queues/messages/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-12-21T00:01:24.7972312Z\",\r\n \"updatedOn\": \"2019-03-05T22:17:32.1779262Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/19e7f393-937e-4f77-808e-94535e297925\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"19e7f393-937e-4f77-808e-94535e297925\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Support Request Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you create and manage Support requests\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2017-06-22T22:25:37.8053068Z\",\r\n \"updatedOn\": \"2017-06-23T01:06:24.2399631Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"cfd33db0-3dd1-45e3-aa9d-cdbdf3b6f24e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Traffic Manager Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Traffic Manager profiles, but does not let you control who has access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/trafficManagerProfiles/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-10-15T23:33:25.9730842Z\",\r\n \"updatedOn\": \"2016-05-31T23:13:44.1458854Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a4b10055-b0c7-44c2-b00f-c7b5b3550cf7\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Virtual Machine Administrator Login\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"View Virtual Machines in the portal and login as administrator\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Network/publicIPAddresses/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/loadBalancers/read\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Compute/virtualMachines/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Compute/virtualMachines/login/action\",\r\n \"Microsoft.Compute/virtualMachines/loginAsAdmin/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-02-09T18:36:13.3315744Z\",\r\n \"updatedOn\": \"2018-05-09T22:17:57.0514548Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/1c0163c0-47e6-4577-8991-ea5c82e286e4\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"1c0163c0-47e6-4577-8991-ea5c82e286e4\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"User Access Administrator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage user access to Azure resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Authorization/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:12.6807454Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"18d7d88d-d35e-4fb5-a5c3-7773c20a72d9\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Virtual Machine User Login\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"View Virtual Machines in the portal and login as a regular user.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Network/publicIPAddresses/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/loadBalancers/read\",\r\n \"Microsoft.Network/networkInterfaces/read\",\r\n \"Microsoft.Compute/virtualMachines/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Compute/virtualMachines/login/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2018-02-09T18:36:13.3315744Z\",\r\n \"updatedOn\": \"2018-05-09T22:18:52.2780979Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/fb879df8-f326-4884-b1cf-06f3ad86be52\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"fb879df8-f326-4884-b1cf-06f3ad86be52\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Virtual Machine Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage virtual machines, but not access to them, and not the virtual network or storage account they're connected to.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Compute/availabilitySets/*\",\r\n \"Microsoft.Compute/locations/*\",\r\n \"Microsoft.Compute/virtualMachines/*\",\r\n \"Microsoft.Compute/virtualMachineScaleSets/*\",\r\n \"Microsoft.Compute/disks/write\",\r\n \"Microsoft.Compute/disks/read\",\r\n \"Microsoft.Compute/disks/delete\",\r\n \"Microsoft.DevTestLab/schedules/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Network/applicationGateways/backendAddressPools/join/action\",\r\n \"Microsoft.Network/loadBalancers/backendAddressPools/join/action\",\r\n \"Microsoft.Network/loadBalancers/inboundNatPools/join/action\",\r\n \"Microsoft.Network/loadBalancers/inboundNatRules/join/action\",\r\n \"Microsoft.Network/loadBalancers/probes/join/action\",\r\n \"Microsoft.Network/loadBalancers/read\",\r\n \"Microsoft.Network/locations/*\",\r\n \"Microsoft.Network/networkInterfaces/*\",\r\n \"Microsoft.Network/networkSecurityGroups/join/action\",\r\n \"Microsoft.Network/networkSecurityGroups/read\",\r\n \"Microsoft.Network/publicIPAddresses/join/action\",\r\n \"Microsoft.Network/publicIPAddresses/read\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\",\r\n \"Microsoft.RecoveryServices/locations/*\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/*/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/read\",\r\n \"Microsoft.RecoveryServices/Vaults/backupPolicies/write\",\r\n \"Microsoft.RecoveryServices/Vaults/read\",\r\n \"Microsoft.RecoveryServices/Vaults/usages/read\",\r\n \"Microsoft.RecoveryServices/Vaults/write\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.SqlVirtualMachine/*\",\r\n \"Microsoft.Storage/storageAccounts/listKeys/action\",\r\n \"Microsoft.Storage/storageAccounts/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-06-02T00:18:27.3542698Z\",\r\n \"updatedOn\": \"2020-02-03T19:38:21.2170228Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"9980e02c-c2be-4d73-94e8-173b1dc7cf3c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Web Plan Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage the web plans for websites, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Web/serverFarms/*\",\r\n \"Microsoft.Web/hostingEnvironments/Join/Action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-02-02T21:55:09.8806423Z\",\r\n \"updatedOn\": \"2019-03-26T18:17:34.5018645Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"2cc479cb-7b4d-49a8-b449-8c00fd0f0a4b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Website Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage websites (not web plans), but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Insights/components/*\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Web/certificates/*\",\r\n \"Microsoft.Web/listSitesAssignedToHostName/read\",\r\n \"Microsoft.Web/serverFarms/join/action\",\r\n \"Microsoft.Web/serverFarms/read\",\r\n \"Microsoft.Web/sites/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2015-05-12T23:10:23.6193952Z\",\r\n \"updatedOn\": \"2019-02-05T21:24:46.9407288Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"de139f84-1756-47ae-9be6-808fbbe84772\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Service Bus Data Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for full access to Azure Service Bus resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ServiceBus/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.ServiceBus/*\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-16T21:33:36.7445745Z\",\r\n \"updatedOn\": \"2019-08-21T22:47:11.3982905Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/090c5cfd-751d-490a-894a-3ce6f1109419\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"090c5cfd-751d-490a-894a-3ce6f1109419\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Event Hubs Data Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for full access to Azure Event Hubs resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EventHub/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.EventHub/*\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-16T21:34:29.8656362Z\",\r\n \"updatedOn\": \"2019-08-21T22:58:57.7584645Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/f526a384-b230-433a-b45c-95f59c4a2dec\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"f526a384-b230-433a-b45c-95f59c4a2dec\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Attestation Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read write or delete the attestation provider instance\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Attestation/attestationProviders/attestation/read\",\r\n \"Microsoft.Attestation/attestationProviders/attestation/write\",\r\n \"Microsoft.Attestation/attestationProviders/attestation/delete\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-19T00:24:09.3354177Z\",\r\n \"updatedOn\": \"2019-05-10T17:59:06.3448436Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"bbf86eb8-f7b4-4cce-96e4-18cddf81d86e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"HDInsight Cluster Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you read and modify HDInsight cluster configurations.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.HDInsight/*/read\",\r\n \"Microsoft.HDInsight/clusters/getGatewaySettings/action\",\r\n \"Microsoft.HDInsight/clusters/updateGatewaySettings/action\",\r\n \"Microsoft.HDInsight/clusters/configurations/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/operations/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-20T00:03:01.7110732Z\",\r\n \"updatedOn\": \"2019-04-28T02:34:17.4679314Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/61ed4efc-fab3-44fd-b111-e24485cc132a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"61ed4efc-fab3-44fd-b111-e24485cc132a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Cosmos DB Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage Azure Cosmos DB accounts, but not access data in them. Prevents access to account keys and connection strings.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.DocumentDb/databaseAccounts/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.ResourceHealth/availabilityStatuses/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action\"\r\n ],\r\n \"notActions\": [\r\n \"Microsoft.DocumentDB/databaseAccounts/readonlyKeys/*\",\r\n \"Microsoft.DocumentDB/databaseAccounts/regenerateKey/*\",\r\n \"Microsoft.DocumentDB/databaseAccounts/listKeys/*\",\r\n \"Microsoft.DocumentDB/databaseAccounts/listConnectionStrings/*\"\r\n ],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-26T17:01:17.0169383Z\",\r\n \"updatedOn\": \"2019-11-21T01:34:13.3746345Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/230815da-be43-4aae-9cb4-875f7bd000aa\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"230815da-be43-4aae-9cb4-875f7bd000aa\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Hybrid Server Resource Administrator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read, write, delete, and re-onboard Hybrid servers to the Hybrid Resource Provider.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.HybridCompute/machines/*\",\r\n \"Microsoft.HybridCompute/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-29T21:39:32.3132923Z\",\r\n \"updatedOn\": \"2019-05-06T20:08:25.3180258Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/48b40c6e-82e0-4eb3-90d5-19e40f49b624\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"48b40c6e-82e0-4eb3-90d5-19e40f49b624\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Hybrid Server Onboarding\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can onboard new Hybrid servers to the Hybrid Resource Provider.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.HybridCompute/machines/read\",\r\n \"Microsoft.HybridCompute/machines/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-04-29T22:36:28.1873756Z\",\r\n \"updatedOn\": \"2019-05-06T20:09:17.9364269Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5d1e5ee4-7c68-4a71-ac8b-0739630a3dfb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Event Hubs Data Receiver\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows receive access to Azure Event Hubs resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EventHub/*/eventhubs/consumergroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.EventHub/*/receive/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-05-10T06:25:21.1056666Z\",\r\n \"updatedOn\": \"2019-08-21T23:00:32.6225396Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a638d3c7-ab3a-418d-83e6-5f17a39d4fde\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a638d3c7-ab3a-418d-83e6-5f17a39d4fde\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Event Hubs Data Sender\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows send access to Azure Event Hubs resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.EventHub/*/eventhubs/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.EventHub/*/send/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-05-10T06:26:12.4673714Z\",\r\n \"updatedOn\": \"2019-08-21T23:02:26.6155679Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/2b629674-e913-4c01-ae53-ef4638d8f975\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"2b629674-e913-4c01-ae53-ef4638d8f975\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Service Bus Data Receiver\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for receive access to Azure Service Bus resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ServiceBus/*/queues/read\",\r\n \"Microsoft.ServiceBus/*/topics/read\",\r\n \"Microsoft.ServiceBus/*/topics/subscriptions/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.ServiceBus/*/receive/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-05-10T06:43:01.6343849Z\",\r\n \"updatedOn\": \"2019-08-21T22:55:24.3423558Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4f6d3b9b-027b-4f4c-9142-0e5a2a2247e0\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Service Bus Data Sender\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for send access to Azure Service Bus resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ServiceBus/*/queues/read\",\r\n \"Microsoft.ServiceBus/*/topics/read\",\r\n \"Microsoft.ServiceBus/*/topics/subscriptions/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.ServiceBus/*/send/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-05-10T06:43:46.7046934Z\",\r\n \"updatedOn\": \"2019-08-21T22:57:12.2555683Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"69a216fc-b8fb-44d8-bc22-1f3c2cd27a39\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage File Data SMB Share Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read access to Azure File Share over SMB\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-07-01T20:19:31.8620471Z\",\r\n \"updatedOn\": \"2019-08-07T01:00:41.9223409Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/aba4ae5f-2193-4029-9191-0cb91df5e314\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"aba4ae5f-2193-4029-9191-0cb91df5e314\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage File Data SMB Share Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read, write, and delete access in Azure Storage file shares over SMB\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-07-01T20:54:35.483431Z\",\r\n \"updatedOn\": \"2019-08-07T01:05:24.4309872Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"0c867c2a-1d8c-454a-a3db-ab2ea1bdc8bb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Private DNS Zone Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage private DNS zone resources, but not the virtual networks they are linked to.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Network/privateDnsZones/*\",\r\n \"Microsoft.Network/privateDnsOperationResults/*\",\r\n \"Microsoft.Network/privateDnsOperationStatuses/*\",\r\n \"Microsoft.Network/virtualNetworks/read\",\r\n \"Microsoft.Network/virtualNetworks/join/action\",\r\n \"Microsoft.Authorization/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-07-10T19:31:15.5645518Z\",\r\n \"updatedOn\": \"2019-07-11T21:12:01.7260648Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b12aa53e-6015-4669-85d0-8515ebb3ae7f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b12aa53e-6015-4669-85d0-8515ebb3ae7f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage Blob Delegator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for generation of a user delegation key which can be used to sign SAS tokens\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-07-23T00:51:16.3376761Z\",\r\n \"updatedOn\": \"2019-07-23T01:14:31.8778475Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/db58b8e5-c6ad-4a2a-8342-4190687cbf4a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"db58b8e5-c6ad-4a2a-8342-4190687cbf4a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Desktop Virtualization User\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows user to use the applications in an application group.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.DesktopVirtualization/applicationGroups/useApplications/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-07T00:29:03.8727621Z\",\r\n \"updatedOn\": \"2019-08-07T00:29:03.8727621Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Storage File Data SMB Share Elevated Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for read, write, delete and modify NTFS permission access in Azure Storage file shares over SMB\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/read\",\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write\",\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/delete\",\r\n \"Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-07T01:35:36.9935457Z\",\r\n \"updatedOn\": \"2019-08-07T01:35:36.9935457Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a7264617-510b-434b-a828-9731dc254ea7\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a7264617-510b-434b-a828-9731dc254ea7\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Blueprint Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can manage blueprint definitions, but not assign them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Blueprint/blueprints/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-14T21:55:16.9683949Z\",\r\n \"updatedOn\": \"2019-08-17T00:10:55.7494677Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/41077137-e803-4205-871c-5a86e6a753b4\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"41077137-e803-4205-871c-5a86e6a753b4\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Blueprint Operator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can assign existing published blueprints, but cannot create new blueprints. NOTE: this only works if the assignment is done with a user-assigned managed identity.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Blueprint/blueprintAssignments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-14T21:56:48.7897875Z\",\r\n \"updatedOn\": \"2019-08-17T00:06:02.6509737Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/437d2ced-4a38-4302-8479-ed2bcb43d090\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"437d2ced-4a38-4302-8479-ed2bcb43d090\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Sentinel Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Azure Sentinel Contributor\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.SecurityInsights/*\",\r\n \"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\r\n \"Microsoft.OperationalInsights/workspaces/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/savedSearches/*\",\r\n \"Microsoft.OperationsManagement/solutions/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/dataSources/read\",\r\n \"Microsoft.Insights/workbooks/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-28T16:39:03.8725173Z\",\r\n \"updatedOn\": \"2020-03-11T15:20:51.6768533Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ab8e14d6-4a74-4a29-9ba8-549422addade\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ab8e14d6-4a74-4a29-9ba8-549422addade\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Sentinel Responder\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Azure Sentinel Responder\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.SecurityInsights/*/read\",\r\n \"Microsoft.SecurityInsights/cases/*\",\r\n \"Microsoft.SecurityInsights/incidents/*\",\r\n \"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\r\n \"Microsoft.OperationalInsights/workspaces/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/dataSources/read\",\r\n \"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\r\n \"Microsoft.OperationsManagement/solutions/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/dataSources/read\",\r\n \"Microsoft.Insights/workbooks/read\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-28T16:54:07.6467264Z\",\r\n \"updatedOn\": \"2020-03-11T15:32:07.2560269Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/3e150937-b8fe-4cfb-8069-0eaf05ecd056\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"3e150937-b8fe-4cfb-8069-0eaf05ecd056\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Sentinel Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Azure Sentinel Reader\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.SecurityInsights/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/analytics/query/action\",\r\n \"Microsoft.OperationalInsights/workspaces/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/LinkedServices/read\",\r\n \"Microsoft.OperationalInsights/workspaces/savedSearches/read\",\r\n \"Microsoft.OperationsManagement/solutions/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/read\",\r\n \"Microsoft.OperationalInsights/workspaces/query/*/read\",\r\n \"Microsoft.OperationalInsights/workspaces/dataSources/read\",\r\n \"Microsoft.Insights/workbooks/read\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-28T16:58:50.1132117Z\",\r\n \"updatedOn\": \"2020-03-11T15:38:26.8768901Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8d289c81-5878-46d4-8554-54e1e3d8b5cb\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8d289c81-5878-46d4-8554-54e1e3d8b5cb\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Workbook Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read workbooks.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"microsoft.insights/workbooks/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-28T20:56:17.680814Z\",\r\n \"updatedOn\": \"2019-08-28T21:43:05.0202124Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b279062a-9be3-42a0-92ae-8b3cf002ec4d\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b279062a-9be3-42a0-92ae-8b3cf002ec4d\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Workbook Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can save shared workbooks.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Insights/workbooks/write\",\r\n \"Microsoft.Insights/workbooks/delete\",\r\n \"Microsoft.Insights/workbooks/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-08-28T20:59:42.4820277Z\",\r\n \"updatedOn\": \"2020-01-22T00:05:20.938721Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/e8ddcd69-c73f-4f9f-9844-4100522f16ad\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"e8ddcd69-c73f-4f9f-9844-4100522f16ad\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Policy Insights Data Writer (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows read access to resource policies and write access to resource component policy events.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/policyassignments/read\",\r\n \"Microsoft.Authorization/policydefinitions/read\",\r\n \"Microsoft.Authorization/policysetdefinitions/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.PolicyInsights/checkDataPolicyCompliance/action\",\r\n \"Microsoft.PolicyInsights/policyEvents/logDataEvents/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-09-19T19:35:20.9504127Z\",\r\n \"updatedOn\": \"2019-09-19T19:37:02.5331596Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/66bb4e9e-b016-4a94-8249-4c0511c2be84\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"66bb4e9e-b016-4a94-8249-4c0511c2be84\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SignalR AccessKey Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Read SignalR Service Access Keys\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.SignalRService/*/read\",\r\n \"Microsoft.SignalRService/SignalR/listkeys/action\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-09-20T09:33:19.6236874Z\",\r\n \"updatedOn\": \"2019-09-20T09:33:19.6236874Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/04165923-9d83-45d5-8227-78b77b0a687e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"04165923-9d83-45d5-8227-78b77b0a687e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"SignalR Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Create, Read, Update, and Delete SignalR service resources\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.SignalRService/*\",\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-09-20T09:58:09.0009662Z\",\r\n \"updatedOn\": \"2019-09-20T09:58:09.0009662Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"8cf5e20a-e4b2-4e9d-b3a1-5ceb692c2761\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Connected Machine Onboarding\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can onboard Azure Connected Machines.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.HybridCompute/machines/read\",\r\n \"Microsoft.HybridCompute/machines/write\",\r\n \"Microsoft.GuestConfiguration/guestConfigurationAssignments/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-10-23T20:15:07.137287Z\",\r\n \"updatedOn\": \"2019-11-03T18:26:59.2060282Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"b64e21ea-ac4e-4cdf-9dc9-5b892992bee7\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Connected Machine Resource Administrator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Can read, write, delete and re-onboard Azure Connected Machines.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.HybridCompute/machines/read\",\r\n \"Microsoft.HybridCompute/machines/write\",\r\n \"Microsoft.HybridCompute/machines/delete\",\r\n \"Microsoft.HybridCompute/machines/reconnect/action\",\r\n \"Microsoft.HybridCompute/*/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-10-23T20:24:59.1474607Z\",\r\n \"updatedOn\": \"2019-10-24T18:57:01.0320416Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/cd570a14-e51a-42ad-bac8-bafd67325302\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"cd570a14-e51a-42ad-bac8-bafd67325302\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Services Registration assignment Delete Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Managed Services Registration Assignment Delete Role allows the managing tenant users to delete the registration assignment assigned to their tenant.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ManagedServices/registrationAssignments/read\",\r\n \"Microsoft.ManagedServices/registrationAssignments/delete\",\r\n \"Microsoft.ManagedServices/operationStatuses/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-10-23T22:33:33.1183469Z\",\r\n \"updatedOn\": \"2019-10-24T21:49:09.3875276Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/91c1777a-f3dc-4fae-b103-61d183457e46\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"91c1777a-f3dc-4fae-b103-61d183457e46\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"App Configuration Data Owner\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows full access to App Configuration data.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.AppConfiguration/configurationStores/*/read\",\r\n \"Microsoft.AppConfiguration/configurationStores/*/write\",\r\n \"Microsoft.AppConfiguration/configurationStores/*/delete\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-10-25T18:41:40.1185063Z\",\r\n \"updatedOn\": \"2019-10-25T18:41:40.1185063Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"5ae67dd6-50cb-40e7-96ff-dc2bfa4b606b\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"App Configuration Data Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows read access to App Configuration data.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.AppConfiguration/configurationStores/*/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-10-25T18:45:33.7975332Z\",\r\n \"updatedOn\": \"2019-10-25T18:45:33.7975332Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/516239f1-63e1-4d78-a4de-a74fb236a071\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"516239f1-63e1-4d78-a4de-a74fb236a071\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Kubernetes Cluster - Azure Arc Onboarding\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Role definition to authorize any user/service to create connectedClusters resource\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Resources/deployments/write\",\r\n \"Microsoft.Resources/subscriptions/operationresults/read\",\r\n \"Microsoft.Resources/subscriptions/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Kubernetes/connectedClusters/Write\",\r\n \"Microsoft.Kubernetes/connectedClusters/read\",\r\n \"Microsoft.Support/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-11-18T17:00:02.2087147Z\",\r\n \"updatedOn\": \"2020-02-10T22:40:48.3317559Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/34e09817-6cbe-4d01-b1a2-e0eac5743d41\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"34e09817-6cbe-4d01-b1a2-e0eac5743d41\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Experimentation Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Experimentation Contributor\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/delete\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-12-13T00:08:08.6679591Z\",\r\n \"updatedOn\": \"2020-02-12T18:44:32.8386216Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a22b-edd6ce5c915c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7f646f1b-fa08-80eb-a22b-edd6ce5c915c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"QnA Maker Reader\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": null,\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-12-17T18:26:12.3329439Z\",\r\n \"updatedOn\": \"2019-12-17T18:26:12.3329439Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/466ccd10-b268-4a11-b098-b4849f024126\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"466ccd10-b268-4a11-b098-b4849f024126\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"QnA Maker Editor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": null,\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/download/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/read\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/generateanswer/action\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/create/write\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/write\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/alterations/write\",\r\n \"Microsoft.CognitiveServices/accounts/QnAMaker/knowledgebases/train/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-12-17T18:27:30.6434556Z\",\r\n \"updatedOn\": \"2019-12-17T18:27:30.6434556Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/f4cc2bf9-21be-47a1-bdf1-5c5804381025\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"f4cc2bf9-21be-47a1-bdf1-5c5804381025\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Experimentation Administrator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Experimentation Administrator\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/managementGroups/admin/action\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/admin/action\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/delete\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/admin/action\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/read\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/write\",\r\n \"Microsoft.Experimentation/experimentWorkspaces/experimentationGroups/sections/delete\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2019-12-18T22:46:33.1116612Z\",\r\n \"updatedOn\": \"2020-02-12T18:44:03.087283Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/7f646f1b-fa08-80eb-a33b-edd6ce5c915c\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"7f646f1b-fa08-80eb-a33b-edd6ce5c915c\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Remote Rendering Administrator\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Provides user with conversion, manage session, rendering and diagnostics capabilities for Azure Remote Rendering\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/convert/action\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/convert/read\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/convert/delete\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-01-23T18:15:31.3450348Z\",\r\n \"updatedOn\": \"2020-01-23T18:15:31.3450348Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/3df8b902-2a6f-47c7-8cc5-360e9b272a7e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"3df8b902-2a6f-47c7-8cc5-360e9b272a7e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Remote Rendering Client\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Provides user with manage session, rendering and diagnostics capabilities for Azure Remote Rendering.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/read\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/action\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/managesessions/delete\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/render/read\",\r\n \"Microsoft.MixedReality/RemoteRenderingAccounts/diagnostic/read\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-01-23T18:32:52.7069824Z\",\r\n \"updatedOn\": \"2020-01-23T18:32:52.7069824Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/d39065c4-c120-43c9-ab0a-63eed9795f0a\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"d39065c4-c120-43c9-ab0a-63eed9795f0a\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Managed Application Contributor Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows for creating managed application resources.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"*/read\",\r\n \"Microsoft.Solutions/applications/*\",\r\n \"Microsoft.Solutions/register/action\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/*\",\r\n \"Microsoft.Resources/deployments/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-08T03:39:11.8933879Z\",\r\n \"updatedOn\": \"2020-02-08T03:39:11.8933879Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/641177b8-a67a-45b9-a033-47bc880bb21e\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"641177b8-a67a-45b9-a033-47bc880bb21e\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Security Assessment Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you push assessments to Security Center\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Security/assessments/write\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-13T08:23:47.7656161Z\",\r\n \"updatedOn\": \"2020-02-13T08:23:47.7656161Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/612c2aa1-cb24-443b-ac28-3ab7272de6f5\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"612c2aa1-cb24-443b-ac28-3ab7272de6f5\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Tag Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage tags on entities, without providing access to the entities themselves.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/read\",\r\n \"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\r\n \"Microsoft.Resources/subscriptions/resources/read\",\r\n \"Microsoft.Resources/deployments/*\",\r\n \"Microsoft.Insights/alertRules/*\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Resources/tags/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-18T23:19:19.2977644Z\",\r\n \"updatedOn\": \"2020-02-19T00:04:58.9214962Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/4a9ae827-6dc8-4573-8ac7-8239d42aa03f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"4a9ae827-6dc8-4573-8ac7-8239d42aa03f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Integration Service Environment Developer\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Allows developers to create and update workflows, integration accounts and API connections in integration service environments.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Logic/integrationServiceEnvironments/read\",\r\n \"Microsoft.Logic/integrationServiceEnvironments/join/action\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-20T21:09:00.5627875Z\",\r\n \"updatedOn\": \"2020-02-20T21:36:24.619073Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"c7aa55d3-1abb-444a-a5ca-5e51e485d6ec\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Integration Service Environment Contributor\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Lets you manage integration service environments, but not access to them.\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Authorization/*/read\",\r\n \"Microsoft.Support/*\",\r\n \"Microsoft.Logic/integrationServiceEnvironments/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-20T21:10:44.4008319Z\",\r\n \"updatedOn\": \"2020-02-20T21:41:56.7983599Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/a41e2c5b-bd99-4a07-88f4-9bf657a760b8\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"a41e2c5b-bd99-4a07-88f4-9bf657a760b8\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Marketplace Admin\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Administrator of marketplace resource provider\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.Marketplace/privateStores/write\",\r\n \"Microsoft.Marketplace/privateStores/action\",\r\n \"Microsoft.Marketplace/privateStores/delete\",\r\n \"Microsoft.Marketplace/privateStores/offers/write\",\r\n \"Microsoft.Marketplace/privateStores/offers/action\",\r\n \"Microsoft.Marketplace/privateStores/offers/delete\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-26T14:19:50.9681015Z\",\r\n \"updatedOn\": \"2020-02-26T14:19:50.9681015Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/dd920d6d-f481-47f1-b461-f338c46b2d9f\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"dd920d6d-f481-47f1-b461-f338c46b2d9f\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Kubernetes Service Contributor Role\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Grants access to read and write Azure Kubernetes Service clusters\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [\r\n \"Microsoft.ContainerService/managedClusters/read\",\r\n \"Microsoft.ContainerService/managedClusters/write\",\r\n \"Microsoft.Resources/deployments/*\"\r\n ],\r\n \"notActions\": [],\r\n \"dataActions\": [],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-02-27T19:27:15.073997Z\",\r\n \"updatedOn\": \"2020-02-28T02:34:14.5162305Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"ed7f3fbd-7b88-4dd4-9017-9adb7ce333f8\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Digital Twins Reader (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Read-only role for Digital Twins data-plane properties\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.DigitalTwins/digitaltwins/read\",\r\n \"Microsoft.DigitalTwins/models/read\",\r\n \"Microsoft.DigitalTwins/query/action\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-03-10T23:48:14.7057381Z\",\r\n \"updatedOn\": \"2020-03-10T23:48:14.7057381Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/d57506d4-4c8d-48b1-8587-93c323f6a5a3\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"d57506d4-4c8d-48b1-8587-93c323f6a5a3\"\r\n },\r\n {\r\n \"properties\": {\r\n \"roleName\": \"Azure Digital Twins Owner (Preview)\",\r\n \"type\": \"BuiltInRole\",\r\n \"description\": \"Full access role for Digital Twins data-plane\",\r\n \"assignableScopes\": [\r\n \"/\"\r\n ],\r\n \"permissions\": [\r\n {\r\n \"actions\": [],\r\n \"notActions\": [],\r\n \"dataActions\": [\r\n \"Microsoft.DigitalTwins/eventroutes/*\",\r\n \"Microsoft.DigitalTwins/digitaltwins/*\",\r\n \"Microsoft.DigitalTwins/digitaltwins/commands/*\",\r\n \"Microsoft.DigitalTwins/digitaltwins/relationships/*\",\r\n \"Microsoft.DigitalTwins/models/*\",\r\n \"Microsoft.DigitalTwins/query/*\"\r\n ],\r\n \"notDataActions\": []\r\n }\r\n ],\r\n \"createdOn\": \"2020-03-10T23:49:33.782193Z\",\r\n \"updatedOn\": \"2020-03-10T23:49:33.782193Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": null\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/bcd981a7-7f74-457b-83e1-cceb9e632ffe\",\r\n \"type\": \"Microsoft.Authorization/roleDefinitions\",\r\n \"name\": \"bcd981a7-7f74-457b-83e1-cceb9e632ffe\"\r\n }\r\n ]\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "//subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/providers/Microsoft.Authorization/roleAssignments/7d0e2524-2f62-4ec8-bb73-e3c4cd26b05a?api-version=2018-09-01-preview", + "EncodedRequestUri": "Ly9zdWJzY3JpcHRpb25zLzQ2ODQxYzBlLTY5YzgtNGIxNy1hZjQ2LTY2MjZlY2IxNWZjMi9yZXNvdXJjZUdyb3Vwcy9ocGMwMzEzeDYzNmQyMTExL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHMvY21kbGV0c2EvcHJvdmlkZXJzL01pY3Jvc29mdC5BdXRob3JpemF0aW9uL3JvbGVBc3NpZ25tZW50cy83ZDBlMjUyNC0yZjYyLTRlYzgtYmI3My1lM2M0Y2QyNmIwNWE/YXBpLXZlcnNpb249MjAxOC0wOS0wMS1wcmV2aWV3", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"roleDefinitionId\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab\",\r\n \"principalId\": \"831d4223-7a3c-4121-a445-1e423591e57b\",\r\n \"canDelegate\": false\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "6e9c3256-6f35-4da4-89b9-c9a89c5601f4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Authorization.AuthorizationManagementClient/2.11.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "281" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "0b27df78-4ec4-4e0c-8a77-0964ca163894" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "Set-Cookie": [ + "x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1199" + ], + "x-ms-correlation-request-id": [ + "e1421be5-d96c-4f0c-af25-b60fdc042f66" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T141824Z:e1421be5-d96c-4f0c-af25-b60fdc042f66" + ], + "Date": [ + "Fri, 13 Mar 2020 14:18:23 GMT" + ], + "Content-Length": [ + "891" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"properties\": {\r\n \"roleDefinitionId\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab\",\r\n \"principalId\": \"831d4223-7a3c-4121-a445-1e423591e57b\",\r\n \"principalType\": \"ServicePrincipal\",\r\n \"scope\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa\",\r\n \"createdOn\": \"2020-03-13T14:18:23.2820297Z\",\r\n \"updatedOn\": \"2020-03-13T14:18:23.2820297Z\",\r\n \"createdBy\": null,\r\n \"updatedBy\": \"20c5b867-147a-4973-b21c-bbf6e4d3da3b\"\r\n },\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/providers/Microsoft.Authorization/roleAssignments/7d0e2524-2f62-4ec8-bb73-e3c4cd26b05a\",\r\n \"type\": \"Microsoft.Authorization/roleAssignments\",\r\n \"name\": \"7d0e2524-2f62-4ec8-bb73-e3c4cd26b05a\"\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucj9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "315a2d2a-04c2-4384-ac9b-a22ffc80876d" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75A173593A4\"" + ], + "x-ms-request-id": [ + "e01fa1dd-2706-4f0a-af81-96621e452f56" + ], + "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": [ + "cd9ef561-8742-4a33-8491-dd5ab7fcdf75" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142324Z:cd9ef561-8742-4a33-8491-dd5ab7fcdf75" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:23:23 GMT" + ], + "Content-Length": [ + "367" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\",\r\n \"name\": \"cmdletcontnr\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourcegroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure?api-version=2019-11-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlZ3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlQ2FjaGUvY2FjaGVzL0NhY2hlLWhwYzAzMTN4NjM2ZDIxMTEvc3RvcmFnZVRhcmdldHMvbXNhenVyZT9hcGktdmVyc2lvbj0yMDE5LTExLTAx", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"targetType\": \"clfs\",\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "RequestHeaders": { + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.StorageCache.StorageCacheManagementClient/1.0.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "390" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "Azure-AsyncOperation": [ + "https://management.azure.com/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/providers/Microsoft.StorageCache/locations/eastus/ascOperations/b34d4f8d-822a-482b-82bb-a218afadadc5?api-version=2019-11-01" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains" + ], + "x-ms-served-by": [ + "d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667,d7051dfa-e1e4-45f5-be1e-097f5f1a8eb1_132186511409211667" + ], + "x-ms-request-id": [ + "b34d4f8d-822a-482b-82bb-a218afadadc5" + ], + "Server": [ + "Microsoft-HTTPAPI/2.0", + "Microsoft-HTTPAPI/2.0" + ], + "x-ms-ratelimit-remaining-subscription-writes": [ + "1198" + ], + "x-ms-correlation-request-id": [ + "938d7fc9-dd05-4fa3-bf42-2a1c2153d04d" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142325Z:938d7fc9-dd05-4fa3-bf42-2a1c2153d04d" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:23:24 GMT" + ], + "Content-Length": [ + "743" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"name\": \"msazure\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.StorageCache/caches/Cache-hpc0313x636d2111/storageTargets/msazure\",\r\n \"type\": \"Microsoft.StorageCache/caches/storageTargets\",\r\n \"location\": \"eastus\",\r\n \"properties\": {\r\n \"targetType\": \"clfs\",\r\n \"provisioningState\": \"Creating\",\r\n \"junctions\": [\r\n {\r\n \"namespacePath\": \"/junction\",\r\n \"nfsExport\": \"/\",\r\n \"targetPath\": \"/\"\r\n }\r\n ],\r\n \"clfs\": {\r\n \"target\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr\"\r\n }\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cz9hcGktdmVyc2lvbj0yMDE5LTA2LTAx", + "RequestMethod": "GET", + "RequestBody": "", + "RequestHeaders": { + "x-ms-client-request-id": [ + "9cddf7ab-012a-4ab9-8306-7afedc0c53a0" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "x-ms-request-id": [ + "350b18c9-8a91-4494-83b7-dbd40b8af480" + ], + "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": [ + "22f0f28d-fd1e-4d54-8f03-d82c5bacb9b8" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142826Z:22f0f28d-fd1e-4d54-8f03-d82c5bacb9b8" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:25 GMT" + ], + "Content-Length": [ + "1144" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"sku\": {\r\n \"name\": \"Standard_LRS\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"kind\": \"StorageV2\",\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa\",\r\n \"name\": \"cmdletsa\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\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 \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-03-13T14:17:59.0324555Z\"\r\n },\r\n \"blob\": {\r\n \"enabled\": true,\r\n \"lastEnabledTime\": \"2020-03-13T14:17:59.0324555Z\"\r\n }\r\n },\r\n \"keySource\": \"Microsoft.Storage\"\r\n },\r\n \"accessTier\": \"Hot\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2020-03-13T14:17:58.9542784Z\",\r\n \"primaryEndpoints\": {\r\n \"dfs\": \"https://cmdletsa.dfs.core.windows.net/\",\r\n \"web\": \"https://cmdletsa.z13.web.core.windows.net/\",\r\n \"blob\": \"https://cmdletsa.blob.core.windows.net/\",\r\n \"queue\": \"https://cmdletsa.queue.core.windows.net/\",\r\n \"table\": \"https://cmdletsa.table.core.windows.net/\",\r\n \"file\": \"https://cmdletsa.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"eastus\",\r\n \"statusOfPrimary\": \"available\"\r\n }\r\n }\r\n ]\r\n}", + "StatusCode": 200 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr0?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjA/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f6230fd6-4f24-491c-8f9d-07e69e999b54" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACB01565A\"" + ], + "x-ms-request-id": [ + "fdafc3b5-1ad9-4f04-944c-a1533fb3b758" + ], + "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": [ + "2241727a-5d57-4adb-a041-8bd8b8effb8e" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142826Z:2241727a-5d57-4adb-a041-8bd8b8effb8e" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:26 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr0\",\r\n \"name\": \"cmdletcontnr0\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr1?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjE/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "d99c46a9-c49d-4b22-a48a-47ce3a281a23" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACB2E61EC\"" + ], + "x-ms-request-id": [ + "7be79da1-fd7a-4f51-8d5a-f46d81635025" + ], + "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": [ + "3af9d957-97d7-4441-b0fc-c020bf5d1df9" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142826Z:3af9d957-97d7-4441-b0fc-c020bf5d1df9" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:26 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr1\",\r\n \"name\": \"cmdletcontnr1\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr2?api-version=2019-04-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjI/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "4fbe0149-9532-43d2-af12-e6f98e71d812" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACB594A37\"" + ], + "x-ms-request-id": [ + "fceb573b-523b-4d70-9ada-c064d1ea05fb" + ], + "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": [ + "9d068f96-8f42-4a00-b654-a2a19c7f2939" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142826Z:9d068f96-8f42-4a00-b654-a2a19c7f2939" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:26 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr2\",\r\n \"name\": \"cmdletcontnr2\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr3?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjM/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "0fc8be4b-84e0-4709-b9bd-491af0589afc" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACB8B5FC4\"" + ], + "x-ms-request-id": [ + "2fc8b9e7-c849-4e0d-8956-752f6ea1851c" + ], + "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": [ + "0ddbbc9a-dac0-4095-b385-8341fb804c35" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142827Z:0ddbbc9a-dac0-4095-b385-8341fb804c35" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:27 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr3\",\r\n \"name\": \"cmdletcontnr3\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjQ/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "9e1072e8-075b-4f8e-a90b-412ea9be5934" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACBB8E09A\"" + ], + "x-ms-request-id": [ + "b535e204-f3d5-400c-a2fb-4a0b56d8a51d" + ], + "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": [ + "5cb057a4-6303-492d-bb17-aedd13b22b31" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142827Z:5cb057a4-6303-492d-bb17-aedd13b22b31" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:27 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr4\",\r\n \"name\": \"cmdletcontnr4\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr5?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjU/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "ec00433d-9b65-4e2d-89c5-4a30a5a16f31" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACBE3C8E9\"" + ], + "x-ms-request-id": [ + "75e9355a-ee4d-4348-a9b7-3cd2b66d55d9" + ], + "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": [ + "197a6a8d-0fa4-44c6-9d82-7868b31d279b" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142827Z:197a6a8d-0fa4-44c6-9d82-7868b31d279b" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:27 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr5\",\r\n \"name\": \"cmdletcontnr5\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr6?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjY/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f2c1938b-5d54-4219-9c15-2457732f8f68" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACC0F4D8C\"" + ], + "x-ms-request-id": [ + "a89b6764-3ef5-4bd7-88a2-960e4f0fd9c3" + ], + "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": [ + "e5e36567-26f7-4da8-a89a-21803f9b8446" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142828Z:e5e36567-26f7-4da8-a89a-21803f9b8446" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:27 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr6\",\r\n \"name\": \"cmdletcontnr6\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr7?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjc/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "e93b15cb-8860-4d69-8e51-f4585ccb4c00" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACC3EA37A\"" + ], + "x-ms-request-id": [ + "6efb0bb9-bd95-4c68-aede-f2e2e67be6c7" + ], + "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": [ + "a13aae56-8ce6-4e9c-9b01-106c2d707688" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142828Z:a13aae56-8ce6-4e9c-9b01-106c2d707688" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:28 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr7\",\r\n \"name\": \"cmdletcontnr7\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr8?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjg/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "f6410410-ae22-4d94-981e-a5561b7fede6" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACC6D35EE\"" + ], + "x-ms-request-id": [ + "5c82f58e-4800-4aa8-a9a1-f5e4d284b8bc" + ], + "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": [ + "57c27702-4a3f-43ee-a3b9-7e97c66fdd51" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142828Z:57c27702-4a3f-43ee-a3b9-7e97c66fdd51" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:28 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr8\",\r\n \"name\": \"cmdletcontnr8\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + }, + { + "RequestUri": "/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr9?api-version=2019-06-01", + "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvNDY4NDFjMGUtNjljOC00YjE3LWFmNDYtNjYyNmVjYjE1ZmMyL3Jlc291cmNlR3JvdXBzL2hwYzAzMTN4NjM2ZDIxMTEvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jbWRsZXRzYS9ibG9iU2VydmljZXMvZGVmYXVsdC9jb250YWluZXJzL2NtZGxldGNvbnRucjk/YXBpLXZlcnNpb249MjAxOS0wNi0wMQ==", + "RequestMethod": "PUT", + "RequestBody": "{\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\"\r\n }\r\n}", + "RequestHeaders": { + "x-ms-client-request-id": [ + "12199058-555c-4cd9-af1f-1ec3420e2bc7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.28325.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.Storage.StorageManagementClient/13.2.0.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "56" + ] + }, + "ResponseHeaders": { + "Cache-Control": [ + "no-cache" + ], + "Pragma": [ + "no-cache" + ], + "ETag": [ + "\"0x8D7C75ACCA05D16\"" + ], + "x-ms-request-id": [ + "df73fc5b-8e39-4f84-aa43-6570276738db" + ], + "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": [ + "1190" + ], + "x-ms-correlation-request-id": [ + "9f9564d8-de4a-45e0-b10e-c55fe85295ba" + ], + "x-ms-routing-request-id": [ + "EASTUS:20200313T142829Z:9f9564d8-de4a-45e0-b10e-c55fe85295ba" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Date": [ + "Fri, 13 Mar 2020 14:28:28 GMT" + ], + "Content-Length": [ + "369" + ], + "Content-Type": [ + "application/json" + ], + "Expires": [ + "-1" + ] + }, + "ResponseBody": "{\r\n \"id\": \"/subscriptions/46841c0e-69c8-4b17-af46-6626ecb15fc2/resourceGroups/hpc0313x636d2111/providers/Microsoft.Storage/storageAccounts/cmdletsa/blobServices/default/containers/cmdletcontnr9\",\r\n \"name\": \"cmdletcontnr9\",\r\n \"type\": \"Microsoft.Storage/storageAccounts/blobServices/containers\",\r\n \"properties\": {\r\n \"publicAccess\": \"Blob\",\r\n \"hasImmutabilityPolicy\": false,\r\n \"hasLegalHold\": false\r\n }\r\n}", + "StatusCode": 201 + } + ], + "Names": { + "AddStorageAccountAccessRules": [ + "7d0e2524-2f62-4ec8-bb73-e3c4cd26b05a" + ] + }, + "Variables": { + "SubscriptionId": "46841c0e-69c8-4b17-af46-6626ecb15fc2" + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/Utilities/Constants.cs b/src/StorageCache/HPCCache.Test/Utilities/Constants.cs new file mode 100644 index 000000000000..1cd33af22d7e --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Utilities/Constants.cs @@ -0,0 +1,69 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Utilities +{ + /// + /// Contains constants for tests. + /// + public static class Constants + { + /// + /// Default region for resource group. + /// + public const string DefaultRegion = "eastus"; + + /// + /// Default API version of storage cache client. + /// + public const string DefaultAPIVersion = "2019-11-01"; + + /// + /// Default prefix for resource group name. + /// + public const string DefaultResourcePrefix = "hpc"; + + /// + /// Default size for cache. + /// + public const int DefaultCacheSize = 3072; + + /// + /// Default SKU for cache. + /// + public const string DefaultCacheSku = "Standard_2G"; + + /// + /// Default PrincipalId for Storage Cache Resource Provider. + /// + public const string StorageCacheResourceProviderPrincipalId = "831d4223-7a3c-4121-a445-1e423591e57b"; + + // If you want to use existing cache then uncomment below parameters and substitue proper values. + + /// + /// Resouce group name. + /// + // public static readonly string ResourceGroupName = "test-rg"; + + /// + /// Cache name. + /// + // public static readonly string CacheName = "test-cache"; + + /// + /// Storage target name. + /// + // public static readonly string StorageTargetName = "msazure"; + } +} diff --git a/src/StorageCache/HPCCache.Test/Utilities/HpcCacheTestEnvironmentUtilities.cs b/src/StorageCache/HPCCache.Test/Utilities/HpcCacheTestEnvironmentUtilities.cs new file mode 100644 index 000000000000..50433cccedce --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Utilities/HpcCacheTestEnvironmentUtilities.cs @@ -0,0 +1,217 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Utilities +{ + using System; + using System.Collections.Generic; + using System.Reflection; + using Microsoft.Azure.Test.HttpRecorder; + using Microsoft.Rest.ClientRuntime.Azure.TestFramework; + + /// + /// Test environment utilities. + /// + public static class HpcCacheTestEnvironmentUtilities + { + /// + /// Connection string that determines how to connect to Azure.. + /// + public const string EnvironmentVariableName = "TEST_CSM_ORGID_AUTHENTICATION"; + + /// + /// Initialize new environment. + /// + public static readonly TestEnvironment Environment = + new TestEnvironment(System.Environment.GetEnvironmentVariable(EnvironmentVariableName)); + + /// + /// Gets location. + /// + public static string Location + { + get + { + return GetValueFromEnvironment("DefaultRegion"); + } + } + + /// + /// Gets resource prefix. + /// + public static string ResourcePrefix + { + get + { + return GetValueFromEnvironment("DefaultResourcePrefix"); + } + } + + /// + /// Gets cache size. + /// + public static string CacheSize + { + get + { + return GetValueFromEnvironment("DefaultCacheSize"); + } + } + + /// + /// Gets cache SKU. + /// + public static string CacheSku + { + get + { + return GetValueFromEnvironment("DefaultCacheSku"); + } + } + + /// + /// Gets resource group name. + /// + public static string ResourceGroupName + { + get + { + try + { + return GetValueFromEnvironment("ResourceGroupName"); + } + catch (KeyNotFoundException) + { + return null; + } + } + } + + /// + /// Gets cache name. + /// + public static string CacheName + { + get + { + try + { + return GetValueFromEnvironment("CacheName"); + } + catch (KeyNotFoundException) + { + return null; + } + } + } + + /// + /// Gets cache name. + /// + public static string StorageTargetName + { + get + { + try + { + return GetValueFromEnvironment("StorageTargetName"); + } + catch (KeyNotFoundException) + { + return null; + } + } + } + + /// + /// Get subscription id. + /// + /// Subscription id. + public static string SubscriptionId() + { + return GetOrAddVariable( + "SubscriptionId", + () => + { + return Environment.SubscriptionId; + }); + } + + /// + /// Gets a variable from HTTP recording (when test is in playback mode) or writes a variable to HTTP recording + /// (when test is in recording mode). + /// + /// Key that the variable value is stored under in HTTP recording file. + /// Function that generates the variable value if necessary. + /// The variable value. + private static string GetOrAddVariable(string key, Func generateValueFunc) + { + if (HttpMockServer.Mode == HttpRecorderMode.Record) + { + string value = generateValueFunc(); + HttpMockServer.Variables[key] = value; + return value; + } + else + { + return HttpMockServer.Variables[key]; + } + } + + /// + /// Get value from test environment. + /// + /// Environment variable key. + /// Environment variable. + private static string GetValueFromEnvironment(string key) + { + return GetOrAddVariable( + key, + () => + { + bool doUseDefaults; + Environment.ConnectionString.KeyValuePairs.TryGetValue("useDefaults", out string useDefaults); + if (!string.IsNullOrEmpty(useDefaults)) + { + doUseDefaults = bool.Parse(useDefaults); + } + else + { + doUseDefaults = false; + } + + Environment.ConnectionString.KeyValuePairs.TryGetValue(key, out string value); + + if (string.IsNullOrEmpty(value) && doUseDefaults) + { + if (typeof(Constants).GetField(key) != null) + { + FieldInfo field = typeof(Constants).GetField(key); + + value = field.GetValue(null).ToString(); + } + } + + if (string.IsNullOrEmpty(value)) + { + throw new KeyNotFoundException( + string.Format( + "Value for key '{0}' was not found in environment variable '{1}'.", key, EnvironmentVariableName)); + } + + return value; + }); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache.Test/Utilities/StorageCacheTestUtilities.cs b/src/StorageCache/HPCCache.Test/Utilities/StorageCacheTestUtilities.cs new file mode 100644 index 000000000000..ad70b840249f --- /dev/null +++ b/src/StorageCache/HPCCache.Test/Utilities/StorageCacheTestUtilities.cs @@ -0,0 +1,184 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache.Test.Utilities +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.Test.HttpRecorder; + using Microsoft.Rest.ClientRuntime.Azure.TestFramework; + using Xunit.Abstractions; + + /// + /// Helper class. + /// + public static class StorageCacheTestUtilities + { + /// + /// Generate a random prefix that can be ingested by Azure. + /// + /// The generated string. + public static string GeneratePrefix() + { + StringBuilder sb = new StringBuilder(DateTime.Now.ToString("MMdd")); + var firstFour = Guid.NewGuid().ToString().Substring(0, 4); + sb.Append(string.Format("x{0}", firstFour)); + return sb.ToString(); + } + + /// + /// The GenerateName. + /// + /// The prefix. + /// The methodName. + /// The . + public static string GenerateName( + string prefix = null, + [System.Runtime.CompilerServices.CallerMemberName] + string methodName = "GenerateName_failed") + { + prefix += GeneratePrefix(); + try + { + return HttpMockServer.GetAssetName(methodName, prefix); + } + catch (KeyNotFoundException e) + { + throw new KeyNotFoundException(string.Format("Generated name not found for calling method: {0}", methodName), e); + } + } + + /// + /// Throw expception if the given condition is satisfied. + /// + /// Condition to verify. + /// Exception message to raise. + public static void ThrowIfTrue(bool condition, string message) + { + if (condition) + { + throw new Exception(message); + } + } + + /// + /// Retry on CloudErrorException with particular message. + /// + /// Method return type. + /// Method to execute. + /// Max retries. + /// Delay between each retries in seconds. + /// Exception message to verify. + /// testOutputHelper. + /// Whatever action parameter returns. + public static TRet Retry( + Func action, + int maxRequestTries, + int delayBetweenTries, + string exceptionMessage, + ITestOutputHelper testOutputHelper = null) + { + var remainingTries = maxRequestTries; + var exceptions = new List(); + + do + { + --remainingTries; + try + { + return action(); + } + catch (CloudErrorException e) + { + if (e.Body.Error.Message.Contains(exceptionMessage)) + { + if (remainingTries > 0) + { + if (testOutputHelper != null) + { + testOutputHelper.WriteLine(e.Body.Error.Message); + testOutputHelper.WriteLine($"Sleeping for {delayBetweenTries} time before retrying."); + } + + TestUtilities.Wait(new TimeSpan(0, 0, delayBetweenTries)); + } + + exceptions.Add(e); + } + else + { + throw; + } + } + } + while (remainingTries > 0); + throw AggregatedExceptions(exceptions); + } + + /// + /// An exception handler which returns an unique or aggregated exception. + /// + /// List of an exceptions. + /// an aggregate or unique exception. + private static Exception AggregatedExceptions(List exceptions) + { + var uniqueExceptions = exceptions.Distinct(new ExceptionEqualityComparer()); + + // If all the requests failed with the same exception, + // just return one exception to represent them all. + if (uniqueExceptions.Count() == 1) + { + return uniqueExceptions.First(); + } + + // If all the requests failed but for different reasons, return an AggregateException + // with all the root-cause exceptions. + return new AggregateException("There is a problem with the service.", uniqueExceptions); + } + + /// + /// Used to aggregate exceptions that occur on request retries. + /// + private class ExceptionEqualityComparer : IEqualityComparer + { + public bool Equals(Exception e1, Exception e2) + { + if (e2 == null && e1 == null) + { + return true; + } + else if (e1 == null | e2 == null) + { + return false; + } + else if (e1.GetType().Name.Equals(e2.GetType().Name) && e1.Message.Equals(e2.Message)) + { + return true; + } + else + { + return false; + } + } + + public int GetHashCode(Exception e) + { + return (e.GetType().Name + e.Message).GetHashCode(); + } + } + } +} diff --git a/src/StorageCache/HPCCache/Az.HPCCache.psd1 b/src/StorageCache/HPCCache/Az.HPCCache.psd1 new file mode 100644 index 000000000000..d0e7603071b7 --- /dev/null +++ b/src/StorageCache/HPCCache/Az.HPCCache.psd1 @@ -0,0 +1,138 @@ +# +# Module manifest for module 'Az.HPCCache' +# +# Generated by: Microsoft Corporation +# +# Generated on: 01/30/2020 +# + +@{ + +# Script module or binary module file associated with this manifest. +# RootModule = '' + +# Version number of this module. +ModuleVersion = '0.1.0' + +# Supported PSEditions +CompatiblePSEditions = 'Core', 'Desktop' + +# ID used to uniquely identify this module +GUID = '6470f56b-378e-48f4-b60f-954c01bf1822' + +# Author of this module +Author = 'Microsoft Corporation' + +# Company or vendor of this module +CompanyName = 'Microsoft Corporation' + +# Copyright statement for this module +Copyright = 'Microsoft Corporation. All rights reserved.' + +# Description of the functionality provided by this module +Description = 'Microsoft Azure PowerShell - Azure HPC Cache service cmdlets for Azure Resource Manager in Windows PowerShell and PowerShell Core.' + +# Minimum version of the PowerShell engine required by this module +PowerShellVersion = '5.1' + +# Name of the PowerShell host required by this module +# PowerShellHostName = '' + +# Minimum version of the PowerShell host required by this module +# PowerShellHostVersion = '' + +# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +DotNetFrameworkVersion = '4.7.2' + +# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only. +# CLRVersion = '' + +# Processor architecture (None, X86, Amd64) required by this module +# ProcessorArchitecture = '' + +# Modules that must be imported into the global environment prior to importing this module +RequiredModules = @(@{ModuleName = 'Az.Accounts'; ModuleVersion = '1.7.0'; }) + +# Assemblies that must be loaded prior to importing this module +RequiredAssemblies = 'Microsoft.Azure.Management.StorageCache.dll' + +# Script files (.ps1) that are run in the caller's environment prior to importing this module. + #ScriptsToProcess = @() + +# Type files (.ps1xml) to be loaded when importing this module +# TypesToProcess = @() + +# Format files (.ps1xml) to be loaded when importing this module +#FormatsToProcess = @() + +# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess +NestedModules = @('Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll') + +# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export. +#FunctionsToExport = @() + +# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export. +CmdletsToExport = 'Get-AzHpcCacheSku' , 'Get-AzHpcCacheUsageModel', + 'Get-AzHpcCache', 'New-AzHpcCache', + 'Remove-AzHpcCache', 'Set-AzHpcCache', + 'Start-AzHpcCache', 'Flush-AzHpcCache', + 'Stop-AzHpcCache', 'Upgrade-AzHpcCache', + 'Remove-AzHpcCacheStorageTarget', 'New-AzHpcCacheStorageTarget', + 'Get-AzHpcCacheStorageTarget', 'Set-AzHpcCacheStorageTarget' + +# Variables to export from this module +# VariablesToExport = @() + +# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export. +# AliasesToExport = @() + +# DSC resources to export from this module +# DscResourcesToExport = @() + +# List of all modules packaged with this module +# ModuleList = @() + +# List of all files packaged with this module +# FileList = @() + +# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell. +PrivateData = @{ + + PSData = @{ + + # Tags applied to this module. These help with module discovery in online galleries. + Tags = 'Azure','ResourceManager','ARM','HPC','HPCCache', 'StorageCache' + + # A URL to the license for this module. + LicenseUri = 'https://aka.ms/azps-license' + + # A URL to the main website for this project. + ProjectUri = 'https://github.com/Azure/azure-powershell' + + # A URL to an icon representing this module. + # IconUri = '' + + # ReleaseNotes of this module + ReleaseNotes = '* Update references in .psd1 to use relative path' + + # Prerelease string of this module + Prerelease = 'preview' + + # Flag to indicate whether the module requires explicit user acceptance for install/update/save + # RequireLicenseAcceptance = $false + + # External dependent modules of this module + # ExternalModuleDependencies = @() + + } # End of PSData hashtable + + } # End of PrivateData hashtable + +# HelpInfo URI of this module +# HelpInfoURI = '' + +# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix. +# DefaultCommandPrefix = '' + +} + diff --git a/src/StorageCache/HPCCache/ChangeLog.md b/src/StorageCache/HPCCache/ChangeLog.md new file mode 100644 index 000000000000..6019a080032c --- /dev/null +++ b/src/StorageCache/HPCCache/ChangeLog.md @@ -0,0 +1,24 @@ + +## Upcoming Release +* Preview of `Az.HPCCache` module + +## Version + diff --git a/src/StorageCache/HPCCache/Commands/FlushAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/FlushAzHpcCache.cs new file mode 100644 index 000000000000..d7ae218e0672 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/FlushAzHpcCache.cs @@ -0,0 +1,132 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Flush HPC Cache. + /// + [Cmdlet("Flush", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", DefaultParameterSetName = FieldsParameterSet, SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class FlushAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to flush cache.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets resource id of the cache. + /// + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource id of the Cache", ParameterSetName = ResourceIdParameterSet)] + [ValidateNotNullOrEmpty] + public string ResourceId { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to flush.")] + [ValidateNotNullOrEmpty] + public PSHPCCache InputObject { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets switch parameter passthru. + /// + [Parameter(Mandatory = false, HelpMessage = "Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + if (this.ParameterSetName == ResourceIdParameterSet) + { + var resourceIdentifier = new ResourceIdentifier(this.ResourceId); + this.ResourceGroupName = resourceIdentifier.ResourceGroupName; + this.Name = resourceIdentifier.ResourceName; + } + else if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.InputObject.ResourceGroupName; + this.Name = this.InputObject.CacheName; + } + + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmFlushHpcCache, this.Name), + string.Format(Resources.FlushHpcCache, this.Name), + this.Name, + () => + { + this.FlushHpcCache(); + }); + } + + /// + /// Flush HPC Cache. + /// + public void FlushHpcCache() + { + if (string.IsNullOrWhiteSpace(this.ResourceGroupName)) + { + throw new PSArgumentNullException("ResourceGroupName"); + } + + if (string.IsNullOrWhiteSpace(this.Name)) + { + throw new PSArgumentNullException("CacheName"); + } + + try + { + this.HpcCacheClient.Caches.Flush(this.ResourceGroupName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/GetAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/GetAzHpcCache.cs new file mode 100644 index 000000000000..87e97c28d7a0 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/GetAzHpcCache.cs @@ -0,0 +1,83 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Get Cache / RG specific cache(s) / subscription wide caches. + /// + [Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache")] + [OutputType(typeof(PSHPCCache))] + public class GetAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets resource Group Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = false, HelpMessage = "Name of resource group under which you want to list cache(s).")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets cache Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = false, HelpMessage = "Name of specific cache.")] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + public override void ExecuteCmdlet() + { + if (!string.IsNullOrEmpty(this.ResourceGroupName)) + { + if (!string.IsNullOrEmpty(this.Name)) + { + try + { + var singleCache = this.HpcCacheClient.Caches.Get(this.ResourceGroupName, this.Name); + this.WriteObject(new PSHPCCache(singleCache), true); + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + else + { + var resourgeGroupCaches = this.HpcCacheClient.Caches.ListByResourceGroup(this.ResourceGroupName); + foreach (var cache in resourgeGroupCaches.Value) + { + this.WriteObject(new PSHPCCache(cache), true); + } + } + } + else + { + var allCaches = this.HpcCacheClient.Caches.List(); + foreach (var cache in allCaches.Value) + { + this.WriteObject(new PSHPCCache(cache), true); + } + } + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/GetAzHpcCacheSku.cs b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheSku.cs new file mode 100644 index 000000000000..18258cfe569d --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheSku.cs @@ -0,0 +1,39 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache +{ + using System; + using System.Management.Automation; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + + /// + /// Get SKUs related to HPC Cache that are available in subscription. + /// + [Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheSku")] + [OutputType(typeof(PSSku))] + public class GetAzHpcCacheSku : HpcCacheBaseCmdlet + { + /// + public override void ExecuteCmdlet() + { + var resourceSkus = this.HpcCacheClient.Skus.List().Value; + foreach (var sku in resourceSkus) + { + this.WriteObject(new PSSku(sku)); + } + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/GetAzHpcCacheStorageTarget.cs b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheStorageTarget.cs new file mode 100644 index 000000000000..b5dd2e1282c7 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheStorageTarget.cs @@ -0,0 +1,113 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.Common.Strategies; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Get StorageTargets on Cache. + /// + [Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheStorageTarget", DefaultParameterSetName = FieldsParameterSet)] + [OutputType(typeof(PSHpcStorageTarget))] + public class GetAzHpcCacheStorageTarget : HpcCacheBaseCmdlet + { + /// + /// Gets or sets resource Group Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group cache is in.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets cache Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [ValidateNotNullOrEmpty] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + public string CacheName { get; set; } + + /// + /// Gets or sets resource id of the cache. + /// + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource id of the Cache", ParameterSetName = ResourceIdParameterSet)] + [ValidateNotNullOrEmpty] + public string CacheId { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to start.")] + [ValidateNotNullOrEmpty] + public PSHPCCache CacheObject { get; set; } + + /// + /// Gets or sets storage target name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = false, HelpMessage = "Name of storage target.", ParameterSetName = FieldsParameterSet)] + [Alias(StoragTargetNameAlias)] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + public override void ExecuteCmdlet() + { + if (this.ParameterSetName == ResourceIdParameterSet) + { + var resourceIdentifier = new ResourceIdentifier(this.CacheId); + this.ResourceGroupName = resourceIdentifier.ResourceGroupName; + this.CacheName = resourceIdentifier.ResourceName; + } + else if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.CacheObject.ResourceGroupName; + this.CacheName = this.CacheObject.CacheName; + } + + if (!string.IsNullOrEmpty(this.ResourceGroupName)) + { + if (!string.IsNullOrEmpty(this.CacheName)) + { + if (!string.IsNullOrEmpty(this.Name)) + { + try + { + var singleST = this.HpcCacheClient.StorageTargets.Get(this.ResourceGroupName, this.CacheName, this.Name); + this.WriteObject(new PSHpcStorageTarget(singleST), true); + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + else + { + var storageTargets = this.HpcCacheClient.StorageTargets.ListByCache(this.ResourceGroupName, this.CacheName); + foreach (var target in storageTargets.Value) + { + this.WriteObject(new PSHpcStorageTarget(target), true); + } + } + } + } + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/GetAzHpcCacheUsageModels.cs b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheUsageModels.cs new file mode 100644 index 000000000000..2cf780cdbdd1 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/GetAzHpcCacheUsageModels.cs @@ -0,0 +1,38 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + + /// + /// Get usage models related to HPC Cache NFS Storage Target. + /// + [Cmdlet("Get", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheUsageModel")] + public class GetAzHpcCacheUsageModels : HpcCacheBaseCmdlet + { + /// + /// Returns Usage Models. + /// + public override void ExecuteCmdlet() + { + var usageModelList = this.HpcCacheClient.UsageModels.List().Value; + foreach (var usageModel in usageModelList) + { + this.WriteObject(new PSHpcCacheUsageModels(usageModel)); + } + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/NewAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/NewAzHpcCache.cs new file mode 100644 index 000000000000..6feb2673fdd0 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/NewAzHpcCache.cs @@ -0,0 +1,125 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System; + using System.Collections; + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Creates a HPC Cache. + /// + [Cmdlet("New", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", SupportsShouldProcess = true)] + [OutputType(typeof(PSHPCCache))] + public class NewAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets resource group name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to create cache.")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets cache name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.")] + [Alias(CacheNameAlias)] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets Sku. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Sku.")] + [ValidateNotNullOrEmpty] + public string Sku { get; set; } + + /// + /// Gets or sets subnetUri. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "SubnetURI.")] + [ValidateNotNullOrEmpty] + public string SubnetUri { get; set; } + + /// + /// Gets or sets cache size. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "CacheSize.")] + [ValidateNotNullOrEmpty] + public int CacheSize { get; set; } + + /// + /// Gets or sets location. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Location.")] + [ValidateNotNullOrEmpty] + public string Location { get; set; } + + /// + /// Gets or sets the tags to associate with HPC Cache. + /// + [Parameter(Mandatory = false, HelpMessage = "The tags to associate with HPC Cache.")] + public Hashtable Tag { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + public SwitchParameter AsJob { get; set; } + + /// + /// Execution cmdlet. + /// + public override void ExecuteCmdlet() + { + try + { + var cacheExists = this.HpcCacheClient.Caches.Get(this.ResourceGroupName, this.Name); + throw new CloudException(string.Format("Cache name {0} already exists", this.Name)); + } + catch (CloudErrorException ex) + { + if (ex.Body.Error.Code != "ResourceNotFound") + { + throw; + } + } + + Utility.ValidateResourceGroup(this.ResourceGroupName); + var cacheSku = new CacheSku() { Name = this.Sku }; + var tag = this.Tag.ToDictionaryTags(); + var cacheParameters = new Cache() { CacheSizeGB = this.CacheSize, Location = this.Location, Sku = cacheSku, Subnet = this.SubnetUri, Tags = tag }; + if (this.ShouldProcess(this.Name, string.Format(Resources.CreateCache, this.ResourceGroupName, this.Name))) + { + try + { + var cache = this.HpcCacheClient.Caches.CreateOrUpdate(this.ResourceGroupName, this.Name, cacheParameters); + this.WriteObject(new PSHPCCache(cache), enumerateCollection: true); + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/NewAzHpcStorageTarget.cs b/src/StorageCache/HPCCache/Commands/NewAzHpcStorageTarget.cs new file mode 100644 index 000000000000..389a718fcc55 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/NewAzHpcStorageTarget.cs @@ -0,0 +1,224 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Management.Automation; + using System.Net; + using Microsoft.Azure.Commands.Common.Strategies; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + using Microsoft.WindowsAzure.Commands.Utilities.Common; + + /// + /// NewAzHpcStorageTarget. + /// + [Cmdlet("New", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheStorageTarget", SupportsShouldProcess = true)] + [OutputType(typeof(PSHpcStorageTarget))] + public class NewAzHpcStorageTarget : HpcCacheBaseCmdlet + { + private const string NfsStorageTargetParameterSet = "NfsParameterSet"; + private const string ClfsStorageTargetParameterSet = "ClfsParameterSet"; + private StorageTarget storageTarget; + + /// + /// Gets or sets resource Group Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to create storage target for given cache.")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets resource CacheName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.")] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string CacheName { get; set; } + + /// + /// Gets or sets resource storage target name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of storage target.")] + [Alias(StoragTargetNameAlias)] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets CLFS storage target. + /// + [Parameter(Mandatory = false, ParameterSetName = ClfsStorageTargetParameterSet, HelpMessage = "Create CLFS storage target.")] + [ValidateNotNullOrEmpty] + public SwitchParameter CLFS { get; set; } + + /// + /// Gets or sets NFS storage target. + /// + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "Create NFS storage target.")] + [ValidateNotNullOrEmpty] + public SwitchParameter NFS { get; set; } + + /// + /// Gets or sets CLFS storage target StorageContainerID. + /// + [Parameter(Mandatory = false, ParameterSetName = ClfsStorageTargetParameterSet, HelpMessage = "StorageContainerID.")] + [ValidateNotNullOrEmpty] + public string StorageContainerID { get; set; } + + /// + /// Gets or sets NFS storage target hostname. + /// + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "NFS host name.")] + [ValidateNotNullOrEmpty] + public string HostName { get; set; } + + /// + /// Gets or sets NFS storage target usage model. + /// + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "NFS usage model.")] + [ValidateNotNullOrEmpty] + public string UsageModel { get; set; } + + /// + /// Gets or sets junction. + /// + [Parameter(Mandatory = false, ParameterSetName = ClfsStorageTargetParameterSet, HelpMessage = "Junction.")] + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "Junction.")] + [ValidateNotNullOrEmpty] + public Hashtable[] Junction { get; set; } + + /// + /// Gets or sets AsJob. + /// + [Parameter(Mandatory = false, HelpMessage = "AsJob.")] + public SwitchParameter AsJob { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache.")] + public SwitchParameter Force { get; set; } + + /// + public override void ExecuteCmdlet() + { + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmCreateStorageTarget, this.Name), + string.Format(Resources.CreateStorageTarget, this.Name), + this.Name, + () => + { + this.storageTarget = this.CLFS.IsPresent ? this.CreateClfsStorageTargetParameters() : this.CreateNfsStorageTargetParameters(); + if (this.IsParameterBound(c => c.Junction)) + { + this.storageTarget.Junctions = new List(); + foreach (var junction in this.Junction) + { + var nameSpaceJunction = HashtableToDictionary(junction); + this.storageTarget.Junctions.Add( + new NamespaceJunction( + nameSpaceJunction.GetOrNull("namespacePath"), + nameSpaceJunction.GetOrNull("targetPath"), + nameSpaceJunction.GetOrNull("nfsExport"))); + } + } + + this.DoesStorageTargetExists(); + var results = new List() { this.CreateStorageTargetModel() }; + this.WriteObject(results, enumerateCollection: true); + }); + } + + private PSHpcStorageTarget CreateStorageTargetModel() + { + return new PSHpcStorageTarget( + this.HpcCacheClient.StorageTargets.CreateOrUpdate( + this.ResourceGroupName, + this.CacheName, + this.Name, + this.storageTarget)); + } + + private bool DoesStorageTargetExists() + { + try + { + var resource = this.HpcCacheClient.StorageTargets.Get( + this.ResourceGroupName, + this.CacheName, + this.Name); + + throw new Exception(string.Format(Resources.UpgradeHpcCache, this.Name, this.CacheName)); + } + catch (CloudErrorException e) + { + if (e.Body.Error.Code == "NotFound") + { + return false; + } + + throw; + } + } + + /// + /// Create CLFS storage target parameters. + /// + /// CLFS storage target parameters. + private StorageTarget CreateClfsStorageTargetParameters() + { + ClfsTarget clfsTarget = new ClfsTarget() + { + Target = this.StorageContainerID, + }; + + StorageTarget storageTargetParameters = new StorageTarget + { + TargetType = "clfs", + Clfs = clfsTarget, + }; + + return storageTargetParameters; + } + + /// + /// Create NFS storage target parameters. + /// + /// NFS storage target parameters. + private StorageTarget CreateNfsStorageTargetParameters() + { + Nfs3Target nfs3Target = new Nfs3Target() + { + Target = this.HostName, + UsageModel = this.UsageModel, + }; + + StorageTarget storageTargetParameters = new StorageTarget + { + TargetType = "nfs3", + Nfs3 = nfs3Target, + }; + + return storageTargetParameters; + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/RemoveAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/RemoveAzHpcCache.cs new file mode 100644 index 000000000000..7e1053811194 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/RemoveAzHpcCache.cs @@ -0,0 +1,93 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Remove HPC Cache. + /// + [Cmdlet("Remove", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class RemoveAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to remove cache.")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets CacheName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.")] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets Delete Force - always set to false. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to remove the cache.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets Switch parameter if you do not want to wait till success. + /// + [Parameter(Mandatory = false, HelpMessage = "Returns an object representing the item with which you are working.By default, this cmdlet does not generate any output.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + public SwitchParameter AsJob { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmDeleteHpcCache, this.Name), + string.Format(Resources.DeleteHpcCache, this.Name), + this.Name, + () => + { + try + { + this.HpcCacheClient.Caches.Delete(this.ResourceGroupName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + }); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/RemoveAzHpcCacheStorageTarget.cs b/src/StorageCache/HPCCache/Commands/RemoveAzHpcCacheStorageTarget.cs new file mode 100644 index 000000000000..67f1d0909ff0 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/RemoveAzHpcCacheStorageTarget.cs @@ -0,0 +1,100 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Remove Storage Target. + /// + [Cmdlet("Remove", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheStorageTarget", SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class RemoveAzHpcCacheStorageTarget : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to remove storage target from cache.")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets CacheName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.")] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string CacheName { get; set; } + + /// + /// Gets or sets StorageTargetName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of storage target.")] + [Alias(StoragTargetNameAlias)] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets Delete Force - always set to false. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to remove the storage target.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets Switch parameter if you do not want to wait till success. + /// + [Parameter(Mandatory = false, HelpMessage = "Returns an object representing the item with which you are working.By default, this cmdlet does not generate any output.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + public SwitchParameter AsJob { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmDeleteHpcCacheStorageTarget, this.Name), + string.Format(Resources.DeleteHpcCacheStorageTarget, this.Name), + this.CacheName, + () => + { + try + { + this.HpcCacheClient.StorageTargets.Delete(this.ResourceGroupName, this.CacheName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + }); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/SetAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/SetAzHpcCache.cs new file mode 100644 index 000000000000..dd56d0c155ff --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/SetAzHpcCache.cs @@ -0,0 +1,116 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Collections; + using System.Collections.Generic; + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + using Newtonsoft.Json; + + /// + /// SetHPCCache commandlet. + /// + [Cmdlet("Set", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", DefaultParameterSetName = FieldsParameterSet, SupportsShouldProcess = true)] + [OutputType(typeof(PSHPCCache))] + public class SetAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets resource Group Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to update cache.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets resource CacheName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [Alias(CacheNameAlias)] + [ValidateNotNullOrEmpty] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + public string Name { get; set; } + + /// + /// Gets or sets the tags to associate with HPC Cache. + /// + [Parameter(Mandatory = false, HelpMessage = "The tags to associate with HPC Cache.", ParameterSetName = FieldsParameterSet)] + public Hashtable Tag { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to update.")] + [ValidateNotNullOrEmpty] + public PSHPCCache InputObject { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + public SwitchParameter AsJob { get; set; } + + /// + /// Execution cmdlet. + /// + public override void ExecuteCmdlet() + { + IDictionary tagPairs = null; + + if (this.Tag != null) + { + tagPairs = this.Tag.ToDictionaryTags(); + } + + if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.InputObject.ResourceGroupName; + this.Name = this.InputObject.CacheName; + var tags = this.InputObject.Tags; + var json = JsonConvert.SerializeObject(tags); + var dictionaryOfTags = JsonConvert.DeserializeObject>(json); + tagPairs = dictionaryOfTags; + } + + if (this.ShouldProcess(this.Name, string.Format(Resources.SetCache, this.Name, this.ResourceGroupName))) + { + try + { + var cacheExists = this.HpcCacheClient.Caches.Get(this.ResourceGroupName, this.Name); + if (cacheExists != null) + { + var location = cacheExists.Location; + var cacheSize = cacheExists.CacheSizeGB; + var sku = cacheExists.Sku; + var subnet = cacheExists.Subnet; + var tag = tagPairs; + var cacheParameters = new Cache() { CacheSizeGB = cacheSize, Location = location, Sku = sku, Subnet = subnet, Tags = tag }; + var cache = this.HpcCacheClient.Caches.Update(this.ResourceGroupName, this.Name, cacheParameters); + this.WriteObject(new PSHPCCache(cache), enumerateCollection: true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/SetAzHpcStorageTarget.cs b/src/StorageCache/HPCCache/Commands/SetAzHpcStorageTarget.cs new file mode 100644 index 000000000000..94cbd10f0bd4 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/SetAzHpcStorageTarget.cs @@ -0,0 +1,236 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Management.Automation; + using System.Net; + using Microsoft.Azure.Commands.Common.Strategies; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest; + using Microsoft.Rest.Azure; + using Microsoft.WindowsAzure.Commands.Utilities.Common; + using Newtonsoft.Json; + + /// + /// SetAzHpcStorageTarget. + /// + [Cmdlet("Set", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCacheStorageTarget", SupportsShouldProcess = true)] + [OutputType(typeof(PSHpcStorageTarget))] + public class SetAzHpcStorageTarget : HpcCacheBaseCmdlet + { + private const string NfsStorageTargetParameterSet = "NfsParameterSet"; + private const string ClfsStorageTargetParameterSet = "ClfsParameterSet"; + private StorageTarget storageTarget; + + /// + /// Gets or sets resource Group Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to update storage target.")] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets resource CacheName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.")] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string CacheName { get; set; } + + /// + /// Gets or sets resource storage target name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of storage target.")] + [Alias(StoragTargetNameAlias)] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets CLFS storage target. + /// + [Parameter(Mandatory = false, ParameterSetName = ClfsStorageTargetParameterSet, HelpMessage = "Update CLFS storage target.")] + [ValidateNotNullOrEmpty] + public SwitchParameter CLFS { get; set; } + + /// + /// Gets or sets NFS storage target. + /// + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "Update NFS storage target.")] + [ValidateNotNullOrEmpty] + public SwitchParameter NFS { get; set; } + + /// + /// Gets or sets junctions. Note: only junctions can be updated as of now. + /// + [Parameter(Mandatory = false, ParameterSetName = ClfsStorageTargetParameterSet, HelpMessage = "Junction.")] + [Parameter(Mandatory = false, ParameterSetName = NfsStorageTargetParameterSet, HelpMessage = "Junction.")] + [ValidateNotNullOrEmpty] + public Hashtable[] Junction { get; set; } + + /// + /// Gets or sets AsJob. + /// + [Parameter(Mandatory = false, HelpMessage = "AsJob.")] + public SwitchParameter AsJob { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache.")] + public SwitchParameter Force { get; set; } + + /// + public override void ExecuteCmdlet() + { + if (string.IsNullOrWhiteSpace(this.ResourceGroupName)) + { + throw new PSArgumentNullException("ResourceGroupName"); + } + + if (string.IsNullOrWhiteSpace(this.CacheName)) + { + throw new PSArgumentNullException("CacheName"); + } + + if (string.IsNullOrWhiteSpace(this.Name)) + { + throw new PSArgumentNullException("StorageTargetName"); + } + + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmUpdateStorageTarget, this.Name), + string.Format(Resources.UpdateStorageTarget, this.Name), + this.Name, + () => + { + var storageT = this.DoesStorageTargetExists(); + + if (storageT == null) + { + throw new CloudException(string.Format("Storage target {0} does not exists.", this.Name)); + } + + this.storageTarget = this.CLFS.IsPresent ? this.CreateClfsStorageTargetParameters(storageT) : this.CreateNfsStorageTargetParameters(storageT); + if (this.IsParameterBound(c => c.Junction)) + { + this.storageTarget.Junctions = new List(); + foreach (var junction in this.Junction) + { + var nameSpaceJunction = HashtableToDictionary(junction); + this.storageTarget.Junctions.Add( + new NamespaceJunction( + nameSpaceJunction.GetOrNull("namespacePath"), + nameSpaceJunction.GetOrNull("targetPath"), + nameSpaceJunction.GetOrNull("nfsExport"))); + } + } + + var results = new List() { this.CreateStorageTargetModel() }; + this.WriteObject(results, enumerateCollection: true); + }); + } + + + private PSHpcStorageTarget CreateStorageTargetModel() + { + try + { + StorageTarget storageTarget = this.HpcCacheClient.StorageTargets.CreateOrUpdate( + this.ResourceGroupName, + this.CacheName, + this.Name, + this.storageTarget); + } + catch (CloudErrorException ex) + { + // Fix for update storage target, until Swagger is updated with correct response code. + if (ex.Response.StatusCode == HttpStatusCode.Accepted) + { + try + { + this.storageTarget = Rest.Serialization.SafeJsonConvert.DeserializeObject(ex.Response.Content, this.HpcCacheClient.DeserializationSettings); + } + catch (JsonException jsonEx) + { + throw new SerializationException("Unable to deserialize the response.", ex.Response.Content, jsonEx); + } + } + else + { + throw; + } + } + + return new PSHpcStorageTarget(this.storageTarget); + } + + private StorageTarget DoesStorageTargetExists() + { + return this.HpcCacheClient.StorageTargets.Get( + this.ResourceGroupName, + this.CacheName, + this.Name); + } + + /// + /// Update CLFS storage target parameters. + /// + /// CLFS storage target parameters. + private StorageTarget CreateClfsStorageTargetParameters(StorageTarget storageT) + { + ClfsTarget clfsTarget = new ClfsTarget() + { + Target = storageT.Clfs.Target, + }; + + StorageTarget storageTargetParameters = new StorageTarget + { + TargetType = "clfs", + Clfs = clfsTarget, + }; + + return storageTargetParameters; + } + + /// + /// Update CLFS storage target parameters. + /// + /// CLFS storage target parameters. + private StorageTarget CreateNfsStorageTargetParameters(StorageTarget storageT) + { + Nfs3Target nfs3Target = new Nfs3Target() + { + Target = storageT.Nfs3.Target, + UsageModel = storageT.Nfs3.UsageModel, + }; + + StorageTarget storageTargetParameters = new StorageTarget + { + TargetType = "nfs3", + Nfs3 = nfs3Target, + }; + + return storageTargetParameters; + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/StartAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/StartAzHpcCache.cs new file mode 100644 index 000000000000..c27588f5f36d --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/StartAzHpcCache.cs @@ -0,0 +1,138 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Remove HPC Cache. + /// + [Cmdlet("Start", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", DefaultParameterSetName = FieldsParameterSet, SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class StartAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to start cache.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets resource id of the cache. + /// + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource id of the Cache", ParameterSetName = ResourceIdParameterSet)] + [ValidateNotNullOrEmpty] + public string ResourceId { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to start.")] + [ValidateNotNullOrEmpty] + public PSHPCCache InputObject { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to start the cache.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets switch parameter passthru. + /// + [Parameter(Mandatory = false, HelpMessage = "This Cmdlet does not return an object by default. If this switch is specified, it returns true if successful.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + public SwitchParameter AsJob { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + if (this.ParameterSetName == ResourceIdParameterSet) + { + var resourceIdentifier = new ResourceIdentifier(this.ResourceId); + this.ResourceGroupName = resourceIdentifier.ResourceGroupName; + this.Name = resourceIdentifier.ResourceName; + } + else if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.InputObject.ResourceGroupName; + this.Name = this.InputObject.CacheName; + } + + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmStartHpcCache, this.Name), + string.Format(Resources.StartHpcCache, this.Name), + this.Name, + () => + { + this.StartHpcCache(); + }); + } + + /// + /// Start HPC Cache. + /// + public void StartHpcCache() + { + if (string.IsNullOrWhiteSpace(this.ResourceGroupName)) + { + throw new PSArgumentNullException("ResourceGroupName"); + } + + if (string.IsNullOrWhiteSpace(this.Name)) + { + throw new PSArgumentNullException("CacheName"); + } + + try + { + this.HpcCacheClient.Caches.Start(this.ResourceGroupName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } +} diff --git a/src/StorageCache/HPCCache/Commands/StopAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/StopAzHpcCache.cs new file mode 100644 index 000000000000..8db138b44098 --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/StopAzHpcCache.cs @@ -0,0 +1,133 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Globalization; + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Stop HPC Cache. + /// + [Cmdlet("Stop", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", DefaultParameterSetName = FieldsParameterSet, SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class StopAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to stop cache.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets resource id of the cache. + /// + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource id of the Cache", ParameterSetName = ResourceIdParameterSet)] + [ValidateNotNullOrEmpty] + public string ResourceId { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to stop.")] + [ValidateNotNullOrEmpty] + public PSHPCCache InputObject { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to stop the cache.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets switch parameter passthru. + /// + [Parameter(Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "This Cmdlet does not return an object by default. If this switch is specified, it returns true if successful.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + if (this.ParameterSetName == ResourceIdParameterSet) + { + var resourceIdentifier = new ResourceIdentifier(this.ResourceId); + this.ResourceGroupName = resourceIdentifier.ResourceGroupName; + this.Name = resourceIdentifier.ResourceName; + } + else if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.InputObject.ResourceGroupName; + this.Name = this.InputObject.CacheName; + } + + this.ConfirmAction( + this.Force.IsPresent, + string.Format(CultureInfo.InvariantCulture, Resources.ConfirmStopHpcCache, this.Name), + string.Format(CultureInfo.InvariantCulture, Resources.StopHpcCache, this.Name), + this.Name, + () => + { + this.StopHpcCache(); + }); + } + + /// + /// Stop HPC cache. + /// + private void StopHpcCache() + { + if (string.IsNullOrWhiteSpace(this.ResourceGroupName)) + { + throw new PSArgumentNullException("ResourceGroupName"); + } + + if (string.IsNullOrWhiteSpace(this.Name)) + { + throw new PSArgumentNullException("CacheName"); + } + + try + { + this.HpcCacheClient.Caches.Stop(this.ResourceGroupName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Commands/UpgradeAzHpcCache.cs b/src/StorageCache/HPCCache/Commands/UpgradeAzHpcCache.cs new file mode 100644 index 000000000000..3eceaecaeb8e --- /dev/null +++ b/src/StorageCache/HPCCache/Commands/UpgradeAzHpcCache.cs @@ -0,0 +1,139 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Management.Automation; + using Microsoft.Azure.Commands.HPCCache.Properties; + using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using Microsoft.Azure.Management.StorageCache; + using Microsoft.Azure.Management.StorageCache.Models; + using Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models; + using Microsoft.Rest.Azure; + + /// + /// Upgrade HPC Cache. + /// + [Cmdlet("Upgrade", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "HpcCache", DefaultParameterSetName = FieldsParameterSet, SupportsShouldProcess = true)] + [OutputType(typeof(bool))] + public class UpgradeAzHpcCache : HpcCacheBaseCmdlet + { + /// + /// Gets or sets ResourceGroupName. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of resource group under which you want to upgrade cache.", ParameterSetName = FieldsParameterSet)] + [ResourceGroupCompleter] + [ValidateNotNullOrEmpty] + public string ResourceGroupName { get; set; } + + /// + /// Gets or sets Name. + /// + [Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true, HelpMessage = "Name of cache.", ParameterSetName = FieldsParameterSet)] + [Alias(CacheNameAlias)] + [ResourceNameCompleter("Microsoft.StorageCache/caches", nameof(ResourceGroupName))] + [ValidateNotNullOrEmpty] + public string Name { get; set; } + + /// + /// Gets or sets resource id of the cache. + /// + [Parameter(Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The resource id of the Cache", ParameterSetName = ResourceIdParameterSet)] + [ValidateNotNullOrEmpty] + public string ResourceId { get; set; } + + /// + /// Gets or sets cache object. + /// + [Parameter(ParameterSetName = ObjectParameterSet, Mandatory = true, ValueFromPipeline = true, HelpMessage = "The cache object to upgrade.")] + [ValidateNotNullOrEmpty] + public PSHPCCache InputObject { get; set; } + + /// + /// Gets or sets switch parameter force. + /// + [Parameter(Mandatory = false, HelpMessage = "Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to upgrade the cache.")] + public SwitchParameter Force { get; set; } + + /// + /// Gets or sets switch parameter passthru. + /// + [Parameter(Mandatory = false, HelpMessage = "Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.")] + public SwitchParameter PassThru { get; set; } + + /// + /// Gets or sets Job to run job in background. + /// + [Parameter(Mandatory = false, HelpMessage = "Run cmdlet in the background")] + + public SwitchParameter AsJob { get; set; } + + /// + /// Execution Cmdlet. + /// + public override void ExecuteCmdlet() + { + if (this.ParameterSetName == ResourceIdParameterSet) + { + var resourceIdentifier = new ResourceIdentifier(this.ResourceId); + this.ResourceGroupName = resourceIdentifier.ResourceGroupName; + this.Name = resourceIdentifier.ResourceName; + } + else if (this.ParameterSetName == ObjectParameterSet) + { + this.ResourceGroupName = this.InputObject.ResourceGroupName; + this.Name = this.InputObject.CacheName; + } + + this.ConfirmAction( + this.Force.IsPresent, + string.Format(Resources.ConfirmUpgradeHpcCache, this.Name), + string.Format(Resources.UpgradeHpcCache, this.Name), + this.Name, + () => + { + this.UpgradeHpcCache(); + }); + } + + /// + /// Upgrade HPC Cache. + /// + public void UpgradeHpcCache() + { + if (string.IsNullOrWhiteSpace(this.ResourceGroupName)) + { + throw new PSArgumentNullException("ResourceGroupName"); + } + + if (string.IsNullOrWhiteSpace(this.Name)) + { + throw new PSArgumentNullException("CacheName"); + } + + try + { + this.HpcCacheClient.Caches.UpgradeFirmware(this.ResourceGroupName, this.Name); + if (this.PassThru) + { + this.WriteObject(true); + } + } + catch (CloudErrorException ex) + { + throw new CloudException(string.Format("Exception: {0}", ex.Body.Error.Message)); + } + } + } +} diff --git a/src/StorageCache/HPCCache/HPCCache.csproj b/src/StorageCache/HPCCache/HPCCache.csproj new file mode 100644 index 000000000000..db710dbff532 --- /dev/null +++ b/src/StorageCache/HPCCache/HPCCache.csproj @@ -0,0 +1,32 @@ + + + + HPCCache + + + + + + + + + + $(LegacyAssemblyPrefix)$(PsModuleName) + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/HpcCacheBaseCmdlet.cs b/src/StorageCache/HPCCache/Models/HpcCacheBaseCmdlet.cs new file mode 100644 index 000000000000..dbfa7d8020f8 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/HpcCacheBaseCmdlet.cs @@ -0,0 +1,76 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System.Collections; + using System.Collections.Generic; + using System.Linq; + using Microsoft.Azure.Commands.ResourceManager.Common; + using Microsoft.Azure.Management.StorageCache; + + /// + /// Base Cmdlet class for HPC cache cmdlets. + /// + public abstract class HpcCacheBaseCmdlet : AzureRMCmdlet + { + protected const string CacheNameAlias = "CacheName"; + protected const string StoragTargetNameAlias = "StorageTargetName"; + + protected const string ResourceIdParameterSet = "ByResourceIdParameterSet"; + protected const string ObjectParameterSet = "ByObjectParameterSet"; + protected const string ParentObjectParameterSet = "ByParentObjectParameterSet"; + protected const string FieldsParameterSet = "ByFieldsParameterSet"; + + private HpcCacheManagementClientWrapper hpcCacheClientWrapper; + + /// + /// Gets or Sets HPC Cache client. + /// + public IStorageCacheManagementClient HpcCacheClient + { + get + { + if (this.hpcCacheClientWrapper == null) + { + this.hpcCacheClientWrapper = new HpcCacheManagementClientWrapper(this.DefaultProfile.DefaultContext); + } + + this.hpcCacheClientWrapper.VerboseLogger = this.WriteVerboseWithTimestamp; + this.hpcCacheClientWrapper.ErrorLogger = this.WriteErrorWithTimestamp; + this.hpcCacheClientWrapper.HpcCacheManagementClient.ApiVersion = "2019-11-01"; + return this.hpcCacheClientWrapper.HpcCacheManagementClient; + } + + set + { + this.hpcCacheClientWrapper = new HpcCacheManagementClientWrapper(value); + } + } + + /// + /// HashtableToDictionary. + /// + /// Key. + /// Value. + /// Hashtable. + /// Dictionary. + public static Dictionary HashtableToDictionary(Hashtable table) + { + return table + .Cast() + .ToDictionary(kvp => (TK)kvp.Key, kvp => (TV)kvp.Value); + } + } +} diff --git a/src/StorageCache/HPCCache/Models/HpcCacheManagementClient.cs b/src/StorageCache/HPCCache/Models/HpcCacheManagementClient.cs new file mode 100644 index 000000000000..57815d2f5608 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/HpcCacheManagementClient.cs @@ -0,0 +1,95 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System; + using Microsoft.Azure.Commands.Common.Authentication; + using Microsoft.Azure.Commands.Common.Authentication.Abstractions; + using Microsoft.Azure.Management.StorageCache; + + /// + /// Hpc cache management client wrapper. + /// + public partial class HpcCacheManagementClientWrapper + { + /// + /// Initializes a new instance of the class. + /// + /// Azure context. + public HpcCacheManagementClientWrapper(IAzureContext context) + : this(AzureSession.Instance.ClientFactory.CreateArmClient(context, AzureEnvironment.Endpoint.ResourceManager)) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// Resource management client. + public HpcCacheManagementClientWrapper(IStorageCacheManagementClient resourceManagementClient) + { + this.HpcCacheManagementClient = resourceManagementClient; + } + + /// + /// Gets or sets hpc Cache management client. + /// + public IStorageCacheManagementClient HpcCacheManagementClient { get; set; } + + /// + /// Gets or sets verbose logging. + /// + public Action VerboseLogger { get; set; } + + /// + /// Gets or sets error logging. + /// + public Action ErrorLogger { get; set; } + + /// + /// Gets or sets warning Logger. + /// + public Action WarningLogger { get; set; } + + /// + /// Writes verbose. + /// + /// Verbose format. + /// Arguments to write verbose. + private void WriteVerbose(string verboseFormat, params object[] args) + { + this.VerboseLogger?.Invoke(string.Format(verboseFormat, args)); + } + + /// + /// Write warning. + /// + /// Warning format. + /// Arguments to write warning. + private void WriteWarning(string warningFormat, params object[] args) + { + this.WarningLogger?.Invoke(string.Format(warningFormat, args)); + } + + /// + /// Write error. + /// + /// Error format. + /// Arguments to write error. + private void WriteError(string errorFormat, params object[] args) + { + this.ErrorLogger?.Invoke(string.Format(errorFormat, args)); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcCache.cs b/src/StorageCache/HPCCache/Models/PSHpcCache.cs new file mode 100644 index 000000000000..c9cb8dfc31c1 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcCache.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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System.Collections.Generic; + using Microsoft.Azure.Management.Internal.Resources.Utilities.Models; + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// Wrapper that wraps the response from .NET SDK. + /// + public class PSHPCCache + { + /// + /// Initializes a new instance of the class. + /// + /// cache object. + public PSHPCCache(StorageCacheModels.Cache cache) + { + this.ResourceGroupName = new ResourceIdentifier(cache.Id).ResourceGroupName; + this.CacheName = cache.Name; + this.Id = cache.Id; + this.Location = cache.Location; + this.Sku = new PSHpcCacheSku(cache.Sku); + this.CacheSize = cache.CacheSizeGB; + this.Health = new PSHpcCacheHealth(cache.Health); + this.MountAddresses = cache.MountAddresses; + this.ProvisioningState = cache.ProvisioningState; + this.Subnet = cache.Subnet; + this.UpgradeStatus = new PSHpcCacheUpgradeStatus(cache.UpgradeStatus); + this.Tags = cache.Tags; + } + + /// + /// Gets or Sets ResourceGroupName. + /// + public string ResourceGroupName { get; set; } + + /// + /// Gets or Sets CacheName. + /// + public string CacheName { get; set; } + + /// + /// Gets or Sets Cache ID. + /// + public string Id { get; set; } + + /// + /// Gets or Sets Location. + /// + public string Location { get; set; } + + /// + /// Gets or Sets Sku. + /// + public PSHpcCacheSku Sku { get; set; } + + /// + /// Gets or Sets Health. + /// + public PSHpcCacheHealth Health { get; set; } + + /// + /// Gets or Sets MountAddresses. + /// + public IList MountAddresses { get; set; } + + /// + /// Gets or Sets Cache ProvisioningState. + /// + public string ProvisioningState { get; set; } + + /// + /// Gets or Sets Subnet. + /// + public string Subnet { get; set; } + + /// + /// Gets or Sets UpgradeStatus. + /// + public PSHpcCacheUpgradeStatus UpgradeStatus { get; set; } + + /// + /// Gets or Sets CacheSize. + /// + public int? CacheSize { get; set; } + + /// + /// Gets or Sets Tags. + /// + public object Tags { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcCacheHealth.cs b/src/StorageCache/HPCCache/Models/PSHpcCacheHealth.cs new file mode 100644 index 000000000000..ba8b87b0dbd2 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcCacheHealth.cs @@ -0,0 +1,47 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System; + using System.Collections.Generic; + using System.Text; + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// PSHpcCacheHealth. + /// + public class PSHpcCacheHealth + { + /// + /// Gets cache health state. + /// + public string State; + + /// + /// Gets cache health status description. + /// + public string StatusDescription; + + /// + /// Initializes a new instance of the class. + /// + /// cache health object. + public PSHpcCacheHealth(StorageCacheModels.CacheHealth health) + { + this.State = health.State; + this.StatusDescription = health.StatusDescription; + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcCacheSku.cs b/src/StorageCache/HPCCache/Models/PSHpcCacheSku.cs new file mode 100644 index 000000000000..2e11fdd42306 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcCacheSku.cs @@ -0,0 +1,41 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// cache sku ps wrapper. + /// + public class PSHpcCacheSku + { + /// + /// Initializes a new instance of the class. + /// + /// cache sku object. + public PSHpcCacheSku(StorageCacheModels.CacheSku sku) + { + if (sku != null) + { + this.Name = sku.Name; + } + } + + /// + /// Gets or Sets Sku name. + /// + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcCacheUpgradeStatus.cs b/src/StorageCache/HPCCache/Models/PSHpcCacheUpgradeStatus.cs new file mode 100644 index 000000000000..bab1b00062e4 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcCacheUpgradeStatus.cs @@ -0,0 +1,69 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System; + using System.Collections.Generic; + using System.Text; + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// Cache upgrade status. + /// + public class PSHpcCacheUpgradeStatus + { + /// + /// Initializes a new instance of the class. + /// + /// Cache upgrade status object. + public PSHpcCacheUpgradeStatus(StorageCacheModels.CacheUpgradeStatus upgradeStatus) + { + this.CurrentFirmwareVersion = upgradeStatus.CurrentFirmwareVersion; + this.FirmwareUpdateStatus = upgradeStatus.FirmwareUpdateStatus; + this.FirmwareUpdateDeadline = upgradeStatus.FirmwareUpdateDeadline; + this.LastFirmwareUpdate = upgradeStatus.LastFirmwareUpdate; + this.PendingFirmwareVersion = upgradeStatus.PendingFirmwareVersion; + } + + /// + /// Gets version string of the firmware currently installed on this Cache. + /// + public string CurrentFirmwareVersion { get; private set; } + + /// + /// Gets or sets true if there is a firmware update ready to install on this Cache. The firmware + /// will automatically be installed after firmwareUpdateDeadline if not triggered + /// earlier via the upgrade operation. Possible values include: 'available', 'unavailable'. + /// + public string FirmwareUpdateStatus { get; set; } + + /// + /// Gets or sets time at which the pending firmware update will automatically be installed + /// on the Cache. + /// + public DateTime? FirmwareUpdateDeadline { get; set; } + + /// + /// Gets or Sets time of the last successful firmware update. + /// + public DateTime? LastFirmwareUpdate { get; set; } + + /// + /// Gets or Sets when firmwareUpdateAvailable is true, this field holds the version string + /// for the update. + /// + public string PendingFirmwareVersion { get; set; } + } +} diff --git a/src/StorageCache/HPCCache/Models/PSHpcCacheUsageModels.cs b/src/StorageCache/HPCCache/Models/PSHpcCacheUsageModels.cs new file mode 100644 index 000000000000..5dc1f4d61eb7 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcCacheUsageModels.cs @@ -0,0 +1,53 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using Microsoft.Azure.Management.StorageCache.Models; + + /// + /// PSUsageModels wrapper. + /// + public class PSHpcCacheUsageModels + { + /// + /// Initializes a new instance of the class. + /// PSHpcCacheUsageModels. + /// + /// usagemodel. + public PSHpcCacheUsageModels(UsageModel usagemodel) + { + if (usagemodel != null) + { + this.Name = usagemodel.ModelName; + this.TargetType = usagemodel.TargetType; + this.Display = usagemodel.Display.Description; + } + } + + /// + /// Gets or sets Name. + /// + public string Name { get; set; } + + /// + /// Gets or sets TargetType. + /// + public string TargetType { get; set; } + + /// + /// Gets or sets Display. + /// + public string Display { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcClfsTarget.cs b/src/StorageCache/HPCCache/Models/PSHpcClfsTarget.cs new file mode 100644 index 000000000000..71dd86975148 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcClfsTarget.cs @@ -0,0 +1,38 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// PSHpcClfsTarget. + /// + public class PSHpcClfsTarget + { + /// + /// Initializes a new instance of the class. + /// + /// clfsTarget. + public PSHpcClfsTarget(StorageCacheModels.ClfsTarget clfsTarget) + { + this.Target = clfsTarget.Target; + } + + /// + /// Gets or Sets Clfs Target. + /// + public string Target { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcNfs3Target.cs b/src/StorageCache/HPCCache/Models/PSHpcNfs3Target.cs new file mode 100644 index 000000000000..2d2312154669 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcNfs3Target.cs @@ -0,0 +1,44 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// PSHpcNfs3Target. + /// + public class PSHpcNfs3Target + { + /// + /// Initializes a new instance of the class. + /// + /// nfs3Target. + public PSHpcNfs3Target(StorageCacheModels.Nfs3Target nfs3Target) + { + this.Target = nfs3Target.Target; + this.UsageModel = nfs3Target.UsageModel; + } + + /// + /// Gets or Sets NFS3 Target. + /// + public string Target { get; set; } + + /// + /// Gets or Sets storageTarget UsageModel. + /// + public string UsageModel { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSHpcStorageTarget.cs b/src/StorageCache/HPCCache/Models/PSHpcStorageTarget.cs new file mode 100644 index 000000000000..5bfb6b66efd1 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSHpcStorageTarget.cs @@ -0,0 +1,98 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + using System; + using System.Collections.Generic; + using System.Linq; + using Microsoft.Azure.Management.StorageCache.Models; + using StorageCacheModels = Microsoft.Azure.Management.StorageCache.Models; + + /// + /// Wrapper that wraps the response from .NET SDK. + /// + public class PSHpcStorageTarget + { + private StorageTarget storageTarget; + + /// + /// Initializes a new instance of the class. + /// + public PSHpcStorageTarget() + { + this.storageTarget = new StorageCacheModels.StorageTarget(); + } + + /// + /// Initializes a new instance of the class. + /// + /// storage target object. + public PSHpcStorageTarget(StorageCacheModels.StorageTarget storageTargetObj) + { + this.storageTarget = storageTargetObj ?? throw new ArgumentNullException("storageTargetObj"); + this.Name = storageTargetObj.Name; + this.Id = storageTargetObj.Id; + this.TargetType = storageTargetObj.TargetType; + if (storageTargetObj.Nfs3 != null) + { + this.Nfs3 = new PSHpcNfs3Target(storageTargetObj.Nfs3); + } + + if (storageTargetObj.Clfs != null) + { + this.Clfs = new PSHpcClfsTarget(storageTargetObj.Clfs); + } + + this.ProvisioningState = storageTargetObj.ProvisioningState; + this.Junctions = new List(); + this.Junctions = storageTargetObj.Junctions.Select(j => new PSNamespaceJunction(j.NamespacePath, j.NfsExport, j.TargetPath)).ToList(); + } + + /// + /// Gets or Sets Storage target name. + /// + public string Name { get; set; } + + /// + /// Gets or Sets Storage target ID. + /// + public string Id { get; set; } + + /// + /// Gets or Sets TargetType. + /// + public string TargetType { get; set; } + + /// + /// Gets or Sets Storage target ProvisioningState. + /// + public string ProvisioningState { get; set; } + + /// + /// Gets or sets storage target junctions. + /// + public IList Junctions { get; set; } + + /// + /// Gets or Sets Storage target Nfs3. + /// + public PSHpcNfs3Target Nfs3 { get; set; } + + /// + /// Gets or Sets Storage target Clfs. + /// + public PSHpcClfsTarget Clfs { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSNamespaceJunction.cs b/src/StorageCache/HPCCache/Models/PSNamespaceJunction.cs new file mode 100644 index 000000000000..4c8cba43c0da --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSNamespaceJunction.cs @@ -0,0 +1,50 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models +{ + /// + /// PSNamespaceJunction. + /// + public class PSNamespaceJunction + { + /// + /// Initializes a new instance of the class. + /// + /// nameSpacePath. + /// targetPath. + /// nfsExport. + public PSNamespaceJunction(string nameSpacePath, string targetPath, string nfsExport) + { + this.NameSpacePath = nameSpacePath; + this.TargetPath = targetPath; + this.NfsExport = nfsExport; + } + + /// + /// Gets or sets namespace path on a Cache for a Storage Target. + /// + public string NameSpacePath { get; set; } + + /// + /// Gets or sets path in Storage Target to which namespacePath points. + /// + public string TargetPath { get; set; } + + /// + /// Gets or sets NFS export where targetPath exists. + /// + public string NfsExport { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/PSSku.cs b/src/StorageCache/HPCCache/Models/PSSku.cs new file mode 100644 index 000000000000..bbb573c3d31a --- /dev/null +++ b/src/StorageCache/HPCCache/Models/PSSku.cs @@ -0,0 +1,66 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- +namespace Microsoft.Azure.Commands.HPCCache +{ + using System.Collections.Generic; + using Microsoft.Azure.Management.StorageCache.Models; + + /// + /// PSSKU. + /// + public class PSSku + { + /// + /// Initializes a new instance of the class. + /// PS Sku. + /// + /// sku. + public PSSku(ResourceSku sku) + { + if (sku != null) + { + this.Name = sku.Name; + this.Locations = sku.Locations; + this.ResourceType = sku.ResourceType; + this.Restrictions = sku.Restrictions; + this.Capabilities = sku.Capabilities; + } + } + + /// + /// Gets or sets get or sets value. + /// + public string Name { get; set; } + + /// + /// Gets or sets get or sets Location. + /// + public IList Locations { get; set; } + + /// + /// Gets or sets get or sets ResourceType. + /// + public string ResourceType { get; set; } + + /// + /// Gets or sets get or sets Restrictions. + /// + public IList Restrictions { get; set; } + + /// + /// Gets or sets get or sets Capabilities. + /// + public IList Capabilities { get; set; } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Models/Utility.cs b/src/StorageCache/HPCCache/Models/Utility.cs new file mode 100644 index 000000000000..87d0e1433b77 --- /dev/null +++ b/src/StorageCache/HPCCache/Models/Utility.cs @@ -0,0 +1,50 @@ +// ---------------------------------------------------------------------------------- +// +// 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. +// ---------------------------------------------------------------------------------- + +namespace Microsoft.Azure.Commands.HPCCache +{ + using System; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Utility Class. + /// + public static class Utility + { + /// + /// Validate Resource Group. + /// + /// string resourceGroupName. + public static void ValidateResourceGroup(string resourceGroupName) + { + if (resourceGroupName != null && resourceGroupName.Contains("/")) + { + throw new ArgumentException("Invalid Resource Group Name"); + } + } + + /// + /// Convert tags to dictionary. + /// + /// Hashtable table. + /// dictionary of tags. + public static IDictionary ToDictionaryTags(this Hashtable table) + { + return table?.Cast() + .ToDictionary(kvp => (string)kvp.Key, kvp => (string)kvp.Value); + } + } +} \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Properties/AssemblyInfo.cs b/src/StorageCache/HPCCache/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..0ac082f3fb6f --- /dev/null +++ b/src/StorageCache/HPCCache/Properties/AssemblyInfo.cs @@ -0,0 +1,28 @@ +// ---------------------------------------------------------------------------------- +// +// Copyright Microsoft Corporation +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// ---------------------------------------------------------------------------------- + +using System; +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Microsoft Azure Powershell - Hpc Cache")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft Azure Powershell")] +[assembly: AssemblyCopyright("Copyright © Microsoft")] + +[assembly: ComVisible(false)] +[assembly: CLSCompliant(false)] +[assembly: Guid("77c1e905-4cc3-4a3d-bf4e-b42ad50bb2ba")] +[assembly: AssemblyVersion("1.0.0")] +[assembly: AssemblyFileVersion("1.0.0")] \ No newline at end of file diff --git a/src/StorageCache/HPCCache/Properties/Resources.Designer.cs b/src/StorageCache/HPCCache/Properties/Resources.Designer.cs new file mode 100644 index 000000000000..c64ef6aba0f2 --- /dev/null +++ b/src/StorageCache/HPCCache/Properties/Resources.Designer.cs @@ -0,0 +1,252 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Microsoft.Azure.Commands.HPCCache.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.Commands.HPCCache.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to create HPC cache storage target '{0}'?. + /// + internal static string ConfirmCreateStorageTarget { + get { + return ResourceManager.GetString("ConfirmCreateStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove HPC cache '{0}'? . + /// + internal static string ConfirmDeleteHpcCache { + get { + return ResourceManager.GetString("ConfirmDeleteHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to remove Storage Target '{0}'?. + /// + internal static string ConfirmDeleteHpcCacheStorageTarget { + get { + return ResourceManager.GetString("ConfirmDeleteHpcCacheStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to flush HPC cache '{0}'?. + /// + internal static string ConfirmFlushHpcCache { + get { + return ResourceManager.GetString("ConfirmFlushHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to start HPC cache '{0}'?. + /// + internal static string ConfirmStartHpcCache { + get { + return ResourceManager.GetString("ConfirmStartHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to stop HPC cache '{0}'?. + /// + internal static string ConfirmStopHpcCache { + get { + return ResourceManager.GetString("ConfirmStopHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to update HPC cache storage target '{0}'?. + /// + internal static string ConfirmUpdateStorageTarget { + get { + return ResourceManager.GetString("ConfirmUpdateStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Are you sure you want to upgrade software for the HPC cache {0}'?. + /// + internal static string ConfirmUpgradeHpcCache { + get { + return ResourceManager.GetString("ConfirmUpgradeHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating a new Cache in resource group '{0}' with name '{1}'.. + /// + internal static string CreateCache { + get { + return ResourceManager.GetString("CreateCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating HPC cache '{0}' .... + /// + internal static string CreateHpcCache { + get { + return ResourceManager.GetString("CreateHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Creating HPC cache storage target '{0}' .... + /// + internal static string CreateStorageTarget { + get { + return ResourceManager.GetString("CreateStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting HPC cache '{0}' .... + /// + internal static string DeleteHpcCache { + get { + return ResourceManager.GetString("DeleteHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Deleting Storage Target '{0}' .... + /// + internal static string DeleteHpcCacheStorageTarget { + get { + return ResourceManager.GetString("DeleteHpcCacheStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Flushing HPC cache '{0}' .... + /// + internal static string FlushHpcCache { + get { + return ResourceManager.GetString("FlushHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The Resource '{0}' under resource group '{1}' was not found.. + /// + internal static string ResourceNotFound { + get { + return ResourceManager.GetString("ResourceNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updating cache: '{0}' in resource group '{1}'.. + /// + internal static string SetCache { + get { + return ResourceManager.GetString("SetCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Starting HPC cache '{0}' .... + /// + internal static string StartHpcCache { + get { + return ResourceManager.GetString("StartHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stopping HPC cache '{0}' .... + /// + internal static string StopHpcCache { + get { + return ResourceManager.GetString("StopHpcCache", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The storage target '{0}' already exists for HPC cache '{0}'.. + /// + internal static string StorageTargetAlreadyExist { + get { + return ResourceManager.GetString("StorageTargetAlreadyExist", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updating HPC cache storage target '{0}' .... + /// + internal static string UpdateStorageTarget { + get { + return ResourceManager.GetString("UpdateStorageTarget", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Upgrading software for HPC cache '{0}' .... + /// + internal static string UpgradeHpcCache { + get { + return ResourceManager.GetString("UpgradeHpcCache", resourceCulture); + } + } + } +} diff --git a/src/StorageCache/HPCCache/Properties/Resources.resx b/src/StorageCache/HPCCache/Properties/Resources.resx new file mode 100644 index 000000000000..165da598f94a --- /dev/null +++ b/src/StorageCache/HPCCache/Properties/Resources.resx @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Are you sure you want to create HPC cache storage target '{0}'? + + + Are you sure you want to remove HPC cache '{0}'? + + + Are you sure you want to remove Storage Target '{0}'? + + + Are you sure you want to flush HPC cache '{0}'? + + + Are you sure you want to start HPC cache '{0}'? + + + Are you sure you want to stop HPC cache '{0}'? + + + Are you sure you want to update HPC cache storage target '{0}'? + + + Are you sure you want to upgrade software for the HPC cache {0}'? + + + Creating a new Cache in resource group '{0}' with name '{1}'. + + + Creating HPC cache '{0}' ... + + + Creating HPC cache storage target '{0}' ... + + + Deleting HPC cache '{0}' ... + + + Deleting Storage Target '{0}' ... + + + Flushing HPC cache '{0}' ... + + + The Resource '{0}' under resource group '{1}' was not found. + + + Updating cache: '{0}' in resource group '{1}'. + + + Starting HPC cache '{0}' ... + + + Stopping HPC cache '{0}' ... + + + The storage target '{0}' already exists for HPC cache '{0}'. + + + Updating HPC cache storage target '{0}' ... + + + Upgrading software for HPC cache '{0}' ... + + \ No newline at end of file diff --git a/src/StorageCache/HPCCache/StartupScripts/sample.ps1 b/src/StorageCache/HPCCache/StartupScripts/sample.ps1 new file mode 100644 index 000000000000..1a3d1052f460 --- /dev/null +++ b/src/StorageCache/HPCCache/StartupScripts/sample.ps1 @@ -0,0 +1 @@ +#Placeholder for future scripts: Please delete this file and uncomment Always within the block in the .csproj file. \ No newline at end of file diff --git a/src/StorageCache/HPCCache/help/Az.HPCCache.md b/src/StorageCache/HPCCache/help/Az.HPCCache.md new file mode 100644 index 000000000000..a2c358a9b2ca --- /dev/null +++ b/src/StorageCache/HPCCache/help/Az.HPCCache.md @@ -0,0 +1,55 @@ +--- +Module Name: Az.HPCCache +Module Guid: 6470f56b-378e-48f4-b60f-954c01bf1822 +Download Help Link: https://docs.microsoft.com/en-us/powershell/module/az.hpccache +Help Version: 1.0.0.0 +Locale: en-US +--- + +# Az.HPCCache Module +## Description +HPC Cache + +## Az.HPCCache Cmdlets +### [Flush-AzHpcCache](Flush-AzHpcCache.md) +Flush a cache. + +### [Get-AzHpcCache](Get-AzHpcCache.md) +Gets a cache(s). + +### [Get-AzHpcCacheSku](Get-AzHpcCacheSku.md) +Gets all SKUs available in subscription. + +### [Get-AzHpcCacheStorageTarget](Get-AzHpcCacheStorageTarget.md) +Get HPC cache storage target(s). + +### [Get-AzHpcCacheUsageModel](Get-AzHpcCacheUsageModel.md) +Gets all usageModels for NFS Storage Target. + +### [New-AzHpcCache](New-AzHpcCache.md) +Creates a HPC Cache. + +### [New-AzHpcCacheStorageTarget](New-AzHpcCacheStorageTarget.md) +Creates a Storage Target. + +### [Remove-AzHpcCache](Remove-AzHpcCache.md) +Removes a HPC Cache. + +### [Remove-AzHpcCacheStorageTarget](Remove-AzHpcCacheStorageTarget.md) +Removes a Storage Target. + +### [Set-AzHpcCache](Set-AzHpcCache.md) +Updates tags on a HPC Cache. + +### [Set-AzHpcCacheStorageTarget](Set-AzHpcCacheStorageTarget.md) +Updates a Storage Target. + +### [Start-AzHpcCache](Start-AzHpcCache.md) +Starts HPC cache. + +### [Stop-AzHpcCache](Stop-AzHpcCache.md) +Stops HPC cache. + +### [Upgrade-AzHpcCache](Upgrade-AzHpcCache.md) +Upgrades a HPC Cache. + diff --git a/src/StorageCache/HPCCache/help/Flush-AzHpcCache.md b/src/StorageCache/HPCCache/help/Flush-AzHpcCache.md new file mode 100644 index 000000000000..c642d2b2cf68 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Flush-AzHpcCache.md @@ -0,0 +1,194 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/flush-azhpccache +schema: 2.0.0 +--- + +# Flush-AzHpcCache + +## SYNOPSIS +Flush a cache. + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Flush-AzHpcCache -ResourceGroupName -Name [-Force] [-PassThru] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByResourceIdParameterSet +``` +Flush-AzHpcCache -ResourceId [-Force] [-PassThru] [-DefaultProfile ] [-WhatIf] + [-Confirm] [] +``` + +### ByObjectParameterSet +``` +Flush-AzHpcCache -InputObject [-Force] [-PassThru] [-DefaultProfile ] + [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Flush-AzHpcCache** cmdlet flushes an Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Flush-AzHpcCache -ResourceGroupName testRG -CacheName testCache +``` + +## 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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache. + +```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 +``` + +### -InputObject +The cache object to flush. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```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 +``` + +### -ResourceGroupName +Name of resource group under which you want to flush cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceId +The resource id of the Cache + +```yaml +Type: System.String +Parameter Sets: ByResourceIdParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Get-AzHpcCache.md b/src/StorageCache/HPCCache/help/Get-AzHpcCache.md new file mode 100644 index 000000000000..b618907b96e1 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Get-AzHpcCache.md @@ -0,0 +1,100 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/get-azhpccache +schema: 2.0.0 +--- + +# Get-AzHpcCache + +## SYNOPSIS +Gets a cache(s). + +## SYNTAX + +``` +Get-AzHpcCache [-ResourceGroupName ] [-Name ] [-DefaultProfile ] + [] +``` + +## DESCRIPTION +The **Get-AzHpcCache** cmdlet gets a single cache, cache(s) in a specific resource group, or subscription wide list of caches. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Get-AzHPCCache -ResourceGroupName rgtest -CacheName cachetest +``` + +### Example 2 +```powershell +PS C:\> Get-AzHPCCache -ResourceGroupName rgtest +``` + +### Example 3 +```powershell +PS C:\> Get-AzHPCCache +``` + +## 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 +``` + +### -Name +Name of specific cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: CacheName + +Required: False +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group under which you want to list cache(s). + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Get-AzHpcCacheSku.md b/src/StorageCache/HPCCache/help/Get-AzHpcCacheSku.md new file mode 100644 index 000000000000..bbc7c5a8884a --- /dev/null +++ b/src/StorageCache/HPCCache/help/Get-AzHpcCacheSku.md @@ -0,0 +1,59 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/get-azhpccachesku +schema: 2.0.0 +--- + +# Get-AzHpcCacheSku + +## SYNOPSIS +Gets all SKUs available in subscription. + +## SYNTAX + +``` +Get-AzHpcCacheSku [-DefaultProfile ] [] +``` + +## DESCRIPTION +The **Get-AzHpcCacheSku** cmdlet returns a list of SKUs available in subscription. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Get-AzHpcCacheSku +``` + +## 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 +``` + +### 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.HPCCache.PSSku + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Get-AzHpcCacheStorageTarget.md b/src/StorageCache/HPCCache/help/Get-AzHpcCacheStorageTarget.md new file mode 100644 index 000000000000..9a49bbe033db --- /dev/null +++ b/src/StorageCache/HPCCache/help/Get-AzHpcCacheStorageTarget.md @@ -0,0 +1,153 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/get-azhpccachestoragetarget +schema: 2.0.0 +--- + +# Get-AzHpcCacheStorageTarget + +## SYNOPSIS +Get HPC cache storage target(s). + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Get-AzHpcCacheStorageTarget -ResourceGroupName -CacheName [-Name ] + [-DefaultProfile ] [] +``` + +### ByResourceIdParameterSet +``` +Get-AzHpcCacheStorageTarget -CacheId [-DefaultProfile ] [] +``` + +### ByObjectParameterSet +``` +Get-AzHpcCacheStorageTarget -CacheObject [-DefaultProfile ] + [] +``` + +## DESCRIPTION +The **Get-AzHpcCacheStorageTarget** cmdlet gets storage target(s) that exist on cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Get-AzHpcCacheStorageTarget -ResourceGroupName rgTest -CacheName cacheTest +``` + +### Example 2 +```powershell +PS C:\> Get-AzHpcCacheStorageTarget -ResourceGroupName rgTest -CacheName cacheTest -StorageTargetName stTest +``` + +## PARAMETERS + +### -CacheId +The resource id of the Cache + +```yaml +Type: System.String +Parameter Sets: ByResourceIdParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -CacheName +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -CacheObject +The cache object to start. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -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 +``` + +### -Name +Name of storage target. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: StorageTargetName + +Required: False +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group cache is in. + + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHpcStorageTarget + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Get-AzHpcCacheUsageModel.md b/src/StorageCache/HPCCache/help/Get-AzHpcCacheUsageModel.md new file mode 100644 index 000000000000..91738cce3225 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Get-AzHpcCacheUsageModel.md @@ -0,0 +1,60 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/get-azhpccacheusagemodels +schema: 2.0.0 +--- + +# Get-AzHpcCacheUsageModel + +## SYNOPSIS +Gets all usageModels for NFS Storage Target. + +## SYNTAX + +``` +Get-AzHpcCacheUsageModel [-DefaultProfile ] [] +``` + +## DESCRIPTION +The **Get-AzHpcCacheUsageModel** cmdlet returns a list of usage models for NFS Storage Target. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Get-AzHpcCacheUsageModel +``` + +## 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 +``` + +### 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.PowerShell.Cmdlets.HPCCache.Models.PSHpcUsageModels + +### System.Object +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/New-AzHpcCache.md b/src/StorageCache/HPCCache/help/New-AzHpcCache.md new file mode 100644 index 000000000000..87802cce2856 --- /dev/null +++ b/src/StorageCache/HPCCache/help/New-AzHpcCache.md @@ -0,0 +1,213 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/new-azhpccache +schema: 2.0.0 +--- + +# New-AzHpcCache + +## SYNOPSIS +Creates a HPC Cache. + +## SYNTAX + +``` +New-AzHpcCache -ResourceGroupName -Name -Sku -SubnetUri -CacheSize + -Location [-Tag ] [-AsJob] [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +## DESCRIPTION +The **New-AzHpcCache** cmdlet creates a Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> New-AzHpcCache -ResourceGroupName testRG -CacheName testCache -Sku Standard_2G -SubnetUri /subscriptions//resourceGroups/testRG/providers/Microsoft.Network/virtualNetworks/testvnet/subnets/defauly-tip1-test2 -cacheSize 3072 -Location eastus -Tag @{"tag1" = "value1"; "tag2" = "value2"} +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -CacheSize +CacheSize. + +```yaml +Type: System.Int32 +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -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 +``` + +### -Location +Location. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group under which you want to create cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -Sku +Sku. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -SubnetUri +SubnetURI. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -Tag +The tags to associate with HPC Cache. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +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 + +### System.String + +### System.Int32 + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/New-AzHpcCacheStorageTarget.md b/src/StorageCache/HPCCache/help/New-AzHpcCacheStorageTarget.md new file mode 100644 index 000000000000..4e31d94a5fa2 --- /dev/null +++ b/src/StorageCache/HPCCache/help/New-AzHpcCacheStorageTarget.md @@ -0,0 +1,269 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/new-azhpccachestoragetarget +schema: 2.0.0 +--- + +# New-AzHpcCacheStorageTarget + +## SYNOPSIS +Creates a Storage Target. + +## SYNTAX + +### ClfsParameterSet +``` +New-AzHpcCacheStorageTarget -ResourceGroupName -CacheName -Name [-CLFS] + [-StorageContainerID ] [-Junction ] [-AsJob] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### NfsParameterSet +``` +New-AzHpcCacheStorageTarget -ResourceGroupName -CacheName -Name [-NFS] + [-HostName ] [-UsageModel ] [-Junction ] [-AsJob] [-Force] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **New-AzHpcCacheStorageTarget** cmdlet adds a Storage Target to Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> New-AzHpcCacheStorageTarget -ResourceGroupName testRG -CacheName testCache -StorageTargetName testST -CLFS -StorageContainerID "/subscriptions/testsub/resourceGroups/testRG/providers/Microsoft.Storage/storageAccounts/testdstorageaccount/blobServices/default/containers/testcontainer" -Junctions @(@{"namespacePath"="/msazure";"targetPath"="/";"nfsExport"="/"}) +``` + +### Example 2 +```powershell +PS C:\> New-AzHpcCacheStorageTarget -ResourceGroupName testRG -CacheName testCache -StorageTargetName testST -NFS -UsageModel "READ_HEAVY_INFREQ" -Junctions @(@{"namespacePath"="/msazure";"targetPath"="/";"nfsExport"="/"}) +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -CacheName +Name of cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -CLFS +Update CLFS Storage Target type. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: ClfsParameterSet +Aliases: + +Required: False +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. + +```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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache. + +```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 +``` + +### -HostName +NFS host name. + +```yaml +Type: System.String +Parameter Sets: NfsParameterSet +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Junction +Junction. + +```yaml +Type: System.Collections.Hashtable[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +Name of storage target. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: StorageTargetName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -NFS +Update NFS Storage Target type. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: NfsParameterSet +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +"Name of resource group under which you want to create storage target for given cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -StorageContainerID +StorageContainerID + +```yaml +Type: System.String +Parameter Sets: ClfsParameterSet +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -UsageModel +NFS usage model. + +```yaml +Type: System.String +Parameter Sets: NfsParameterSet +Aliases: + +Required: False +Position: Named +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 + +### System.String + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PsHpcStorageTarget + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Remove-AzHpcCache.md b/src/StorageCache/HPCCache/help/Remove-AzHpcCache.md new file mode 100644 index 000000000000..90a0fb6b9d54 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Remove-AzHpcCache.md @@ -0,0 +1,164 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/remove-azhpccache +schema: 2.0.0 +--- + +# Remove-AzHpcCache + +## SYNOPSIS +Removes a HPC Cache. + +## SYNTAX + +``` +Remove-AzHpcCache -ResourceGroupName -Name [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Remove-AzHpcCache** cmdlet removes a Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Remove-AzHpcCache -ResourceGroupName testRG -CacheName testCache +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to remove the cache. + +```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 +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```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 +``` + +### -ResourceGroupName +Name of resource group under which you want to remove cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Remove-AzHpcCacheStorageTarget.md b/src/StorageCache/HPCCache/help/Remove-AzHpcCacheStorageTarget.md new file mode 100644 index 000000000000..02f0e6d0ccf3 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Remove-AzHpcCacheStorageTarget.md @@ -0,0 +1,179 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/remove-azhpccachestoragetarget +schema: 2.0.0 +--- + +# Remove-AzHpcCacheStorageTarget + +## SYNOPSIS +Removes a Storage Target. + +## SYNTAX + +``` +Remove-AzHpcCacheStorageTarget -ResourceGroupName -CacheName -Name [-Force] + [-PassThru] [-AsJob] [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Remove-AzHpcCacheStorageTarget** cmdlet removes a Storage Target from Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Remove-AzHpcCacheStorageTarget -ResourceGroupName testRG -CacheName testCache -StorageTargetName testST +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -CacheName +Name of cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to remove the storage target. + +```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 +``` + +### -Name +Name of storage target. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: StorageTargetName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```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 +``` + +### -ResourceGroupName +Name of resource group under which you want to remove storage target from cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Set-AzHpcCache.md b/src/StorageCache/HPCCache/help/Set-AzHpcCache.md new file mode 100644 index 000000000000..111f884524a2 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Set-AzHpcCache.md @@ -0,0 +1,174 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/set-azhpccache +schema: 2.0.0 +--- + +# Set-AzHpcCache + +## SYNOPSIS +Updates tags on a HPC Cache. + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Set-AzHpcCache -ResourceGroupName -Name [-Tag ] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByObjectParameterSet +``` +Set-AzHpcCache -InputObject [-AsJob] [-DefaultProfile ] [-WhatIf] + [-Confirm] [] +``` + +## DESCRIPTION +The **Set-AzHpcCache** cmdlet updates an Azure HPC Cache tags. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Set-AzHpcCache -ResourceGroupName testRG -CacheName testCache -Tag @{"tag3" = "value1"; "tag4" = "value2"} +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -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 +The cache object to update. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group under which you want to update cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -Tag +The tags to associate with HPC Cache. + +```yaml +Type: System.Collections.Hashtable +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: False +Position: Named +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 + +### System.String + +### System.Int32 + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Set-AzHpcCacheStorageTarget.md b/src/StorageCache/HPCCache/help/Set-AzHpcCacheStorageTarget.md new file mode 100644 index 000000000000..ce857613cb51 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Set-AzHpcCacheStorageTarget.md @@ -0,0 +1,224 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/set-azhpccachestoragetarget +schema: 2.0.0 +--- + +# Set-AzHpcCacheStorageTarget + +## SYNOPSIS +Updates a Storage Target. + +## SYNTAX + +### ClfsParameterSet +``` +Set-AzHpcCacheStorageTarget -ResourceGroupName -CacheName -Name [-CLFS] + [-Junction ] [-AsJob] [-Force] [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +### NfsParameterSet +``` +Set-AzHpcCacheStorageTarget -ResourceGroupName -CacheName -Name [-NFS] + [-Junction ] [-AsJob] [-Force] [-DefaultProfile ] [-WhatIf] [-Confirm] + [] +``` + +## DESCRIPTION +The **Set-AzHpcCacheStorageTarget** cmdlet updates a Storage Target attached to Azure HPC cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Set-AzHpcCacheStorageTarget -ResourceGroupName testRG -CacheName testCache -StorageTargetName testST -CLFS -Junctions @(@{"namespacePath"="/msazure";"targetPath"="/";"nfsExport"="/"}) +``` + +### Example 2 +```powershell +PS C:\> Set-AzHpcCacheStorageTarget -ResourceGroupName testRG -CacheName testCache -StorageTargetName testST -NFS -Junctions @(@{"namespacePath"="/msazure";"targetPath"="/";"nfsExport"="/export"}) +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -CacheName +Name of cache. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -CLFS +Update CLFS Storage Target type. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: ClfsParameterSet +Aliases: + +Required: False +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. + +```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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to flush the cache. + +```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 +``` + +### -Junction +Junction. + +```yaml +Type: System.Collections.Hashtable[] +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -Name +Name of storage target. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: StorageTargetName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -NFS +Update NFS Storage Target type. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: NfsParameterSet +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: False +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group under which you want to update storage target. + +```yaml +Type: System.String +Parameter Sets: (All) +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +### Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PsHpcStorageTarget + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Start-AzHpcCache.md b/src/StorageCache/HPCCache/help/Start-AzHpcCache.md new file mode 100644 index 000000000000..f3ee172bc666 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Start-AzHpcCache.md @@ -0,0 +1,207 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/start-azhpccache +schema: 2.0.0 +--- + +# Start-AzHpcCache + +## SYNOPSIS +Starts HPC cache. + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Start-AzHpcCache -ResourceGroupName -Name [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByResourceIdParameterSet +``` +Start-AzHpcCache -ResourceId [-Force] [-PassThru] [-AsJob] [-DefaultProfile ] + [-WhatIf] [-Confirm] [] +``` + +### ByObjectParameterSet +``` +Start-AzHpcCache -InputObject [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Start-AzHpcCache** cmdlet starts a Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Start-AzHpcCache -ResourceGroupName testRG -CacheName testCache +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to start the cache. + +```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 +``` + +### -InputObject +The cache object to start. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```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 +``` + +### -ResourceGroupName +Name of resource group under which you want to start cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceId +The resource id of the Cache + +```yaml +Type: System.String +Parameter Sets: ByResourceIdParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Stop-AzHpcCache.md b/src/StorageCache/HPCCache/help/Stop-AzHpcCache.md new file mode 100644 index 000000000000..81c661396ac9 --- /dev/null +++ b/src/StorageCache/HPCCache/help/Stop-AzHpcCache.md @@ -0,0 +1,192 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/stop-azhpccache +schema: 2.0.0 +--- + +# Stop-AzHpcCache + +## SYNOPSIS +Stops HPC cache. + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Stop-AzHpcCache -ResourceGroupName -Name [-Force] [-PassThru] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByResourceIdParameterSet +``` +Stop-AzHpcCache -ResourceId [-Force] [-PassThru] [-DefaultProfile ] [-WhatIf] + [-Confirm] [] +``` + +### ByObjectParameterSet +``` +Stop-AzHpcCache -InputObject [-Force] [-PassThru] [-DefaultProfile ] + [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Stop-AzHpcCache** cmdlet stops a Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Stop-AzHpcCache -ResourceGroupName testRG -CacheName testCache +``` + +## 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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to stop the cache. + +```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 +``` + +### -InputObject +The cache object to stop. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```yaml +Type: System.Management.Automation.SwitchParameter +Parameter Sets: (All) +Aliases: + +Required: False +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceGroupName +Name of resource group under which you want to stop cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceId +The resource id of the Cache + +```yaml +Type: System.String +Parameter Sets: ByResourceIdParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCCache/help/Upgrade-AzHpcCache.md b/src/StorageCache/HPCCache/help/Upgrade-AzHpcCache.md new file mode 100644 index 000000000000..528832fbf37d --- /dev/null +++ b/src/StorageCache/HPCCache/help/Upgrade-AzHpcCache.md @@ -0,0 +1,207 @@ +--- +external help file: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.dll-Help.xml +Module Name: Az.HPCCache +online version: https://docs.microsoft.com/en-us/powershell/module/az.hpccache/upgrade-azhpccache +schema: 2.0.0 +--- + +# Upgrade-AzHpcCache + +## SYNOPSIS +Upgrades a HPC Cache. + +## SYNTAX + +### ByFieldsParameterSet (Default) +``` +Upgrade-AzHpcCache -ResourceGroupName -Name [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByResourceIdParameterSet +``` +Upgrade-AzHpcCache -ResourceId [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +### ByObjectParameterSet +``` +Upgrade-AzHpcCache -InputObject [-Force] [-PassThru] [-AsJob] + [-DefaultProfile ] [-WhatIf] [-Confirm] [] +``` + +## DESCRIPTION +The **Upgrade-AzHpcCache** cmdlet upgrades a Azure HPC Cache. + +## EXAMPLES + +### Example 1 +```powershell +PS C:\> Upgrade-AzHpcCache -ResourceGroupName testRG -CacheName testCache +``` + +## PARAMETERS + +### -AsJob +Run cmdlet in the background + +```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 +``` + +### -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 +``` + +### -Force +Indicates that the cmdlet does not prompt you for confirmation. By default, this cmdlet prompts you to confirm that you want to upgrade the cache. + +```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 +``` + +### -InputObject +The cache object to upgrade. + +```yaml +Type: Microsoft.Azure.PowerShell.Cmdlets.HPCCache.Models.PSHPCCache +Parameter Sets: ByObjectParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByValue) +Accept wildcard characters: False +``` + +### -Name +Name of cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: CacheName + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -PassThru +Returns an object representing the item with which you are working. +By default, this cmdlet does not generate any output. + +```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 +``` + +### -ResourceGroupName +Name of resource group under which you want to upgrade cache. + +```yaml +Type: System.String +Parameter Sets: ByFieldsParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +Accept wildcard characters: False +``` + +### -ResourceId +The resource id of the Cache + +```yaml +Type: System.String +Parameter Sets: ByResourceIdParameterSet +Aliases: + +Required: True +Position: Named +Default value: None +Accept pipeline input: True (ByPropertyName) +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 + +### System.String + +## OUTPUTS + +## NOTES + +## RELATED LINKS diff --git a/src/StorageCache/HPCache.sln b/src/StorageCache/HPCache.sln new file mode 100644 index 000000000000..3f055b77f512 --- /dev/null +++ b/src/StorageCache/HPCache.sln @@ -0,0 +1,70 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29709.97 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HPCCache", "HPCCache\HPCCache.csproj", "{C972E3EF-4461-4758-BA31-93E0947B1253}" + ProjectSection(ProjectDependencies) = postProject + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E} = {142D7B0B-388A-4CEB-A228-7F6D423C5C2E} + {3E016018-D65D-4336-9F64-17DA97783AD0} = {3E016018-D65D-4336-9F64-17DA97783AD0} + {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE} = {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{95C16AED-FD57-42A0-86C3-2CF4300A4817}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HPCCache.Test", "HPCCache.Test\HPCCache.Test.csproj", "{4AE5705F-62CF-461D-B72E-DD9DCD9B3609}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Accounts", "..\Accounts\Accounts\Accounts.csproj", "{142D7B0B-388A-4CEB-A228-7F6D423C5C2E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Authentication", "..\Accounts\Authentication\Authentication.csproj", "{FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Authentication.ResourceManager", "..\Accounts\Authentication.ResourceManager\Authentication.ResourceManager.csproj", "{3E016018-D65D-4336-9F64-17DA97783AD0}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScenarioTest.ResourceManager", "..\..\tools\ScenarioTest.ResourceManager\ScenarioTest.ResourceManager.csproj", "{F83FBA8D-732D-437C-A0E2-02E45B01E123}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestFx", "..\..\tools\TestFx\TestFx.csproj", "{BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C972E3EF-4461-4758-BA31-93E0947B1253}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C972E3EF-4461-4758-BA31-93E0947B1253}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C972E3EF-4461-4758-BA31-93E0947B1253}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C972E3EF-4461-4758-BA31-93E0947B1253}.Release|Any CPU.Build.0 = Release|Any CPU + {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4AE5705F-62CF-461D-B72E-DD9DCD9B3609}.Release|Any CPU.Build.0 = Release|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {142D7B0B-388A-4CEB-A228-7F6D423C5C2E}.Release|Any CPU.Build.0 = Release|Any CPU + {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FF81DC73-B8EC-4082-8841-4FBF2B16E7CE}.Release|Any CPU.Build.0 = Release|Any CPU + {3E016018-D65D-4336-9F64-17DA97783AD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E016018-D65D-4336-9F64-17DA97783AD0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E016018-D65D-4336-9F64-17DA97783AD0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E016018-D65D-4336-9F64-17DA97783AD0}.Release|Any CPU.Build.0 = Release|Any CPU + {F83FBA8D-732D-437C-A0E2-02E45B01E123}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F83FBA8D-732D-437C-A0E2-02E45B01E123}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F83FBA8D-732D-437C-A0E2-02E45B01E123}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F83FBA8D-732D-437C-A0E2-02E45B01E123}.Release|Any CPU.Build.0 = Release|Any CPU + {BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BC80A1D0-FFA4-43D9-AA74-799F5CB54B58}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {4AE5705F-62CF-461D-B72E-DD9DCD9B3609} = {95C16AED-FD57-42A0-86C3-2CF4300A4817} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C50F967F-CC90-485A-AEED-2886F3D3066E} + EndGlobalSection +EndGlobal diff --git a/src/StorageCache/documentation/current-breaking-changes.md b/src/StorageCache/documentation/current-breaking-changes.md new file mode 100644 index 000000000000..296d9c35a10a --- /dev/null +++ b/src/StorageCache/documentation/current-breaking-changes.md @@ -0,0 +1,41 @@ + + +## Current Breaking Changes diff --git a/src/StorageCache/documentation/upcoming-breaking-changes.md b/src/StorageCache/documentation/upcoming-breaking-changes.md new file mode 100644 index 000000000000..e01c405de7a3 --- /dev/null +++ b/src/StorageCache/documentation/upcoming-breaking-changes.md @@ -0,0 +1,28 @@ + + +# Upcoming Breaking Changes \ No newline at end of file