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