diff --git a/common/ManagementTestShared/Redesign/ManagementRecordedTestBase.cs b/common/ManagementTestShared/Redesign/ManagementRecordedTestBase.cs index 9c07ef1c9f1f..aa35719f4472 100644 --- a/common/ManagementTestShared/Redesign/ManagementRecordedTestBase.cs +++ b/common/ManagementTestShared/Redesign/ManagementRecordedTestBase.cs @@ -51,9 +51,9 @@ private AzureResourceManagerClient GetCleanupClient() return null; } - protected AzureResourceManagerClient GetArmClient() + protected AzureResourceManagerClient GetArmClient(AzureResourceManagerClientOptions clientOptions = default) { - var options = InstrumentClientOptions(new AzureResourceManagerClientOptions()); + var options = InstrumentClientOptions(clientOptions ?? new AzureResourceManagerClientOptions()); options.AddPolicy(CleanupPolicy, HttpPipelinePosition.PerCall); return CreateClient( @@ -107,7 +107,7 @@ protected void StopSessionRecording() { throw new InvalidOperationException("The test didn't instrument any clients but had recordings. Please call InstrumentClient for the client being recorded."); } - + SessionRecording?.Dispose(true); GlobalClient = null; } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersions.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersions.cs new file mode 100644 index 000000000000..c4873eafb3db --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersions.cs @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; +using System.Collections.Generic; +using Azure.ResourceManager.Resources; +using System.Reflection; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Threading; +using Azure.Core; +using Azure.ResourceManager.Resources.Models; + +namespace Azure.ResourceManager.Core +{ + /// + /// A class representing Azure resource manager client options. + /// + public class ApiVersions + { + private ProvidersOperations ProviderOperations; + private AzureResourceManagerClientOptions _clientOptions; + + /// + /// Initializes a new instance of the class. + /// + internal ApiVersions(AzureResourceManagerClientOptions clientOptions) + { + BuildApiTable(clientOptions); + _clientOptions = clientOptions; + ProviderOperations = null; + } + + /// + /// Make a provider resource client class. + /// + internal void SetProviderClient(TokenCredential credential, Uri baseUri, string subscription) + { + ProviderOperations = new ResourcesManagementClient( + baseUri, + subscription, + credential, + _clientOptions.Convert()).Providers; + } + + private Dictionary _loadedResourceToApiVersions = new Dictionary(); + private Dictionary _nonLoadedResourceToApiVersion = new Dictionary(); + + private void BuildApiTable(AzureResourceManagerClientOptions clientOptions) + { + var methods = GetExtensionMethods(); + foreach (var method in methods) + { + if (method.Name.EndsWith("RestApiVersions", StringComparison.Ordinal)) + { + var apiObject = method.Invoke(null, new object[] { clientOptions }); + var properties = apiObject.GetType().GetProperties(); + foreach (var prop in properties) + { + if (prop.GetValue(apiObject) is ApiVersionsBase propVal) + { + var key = propVal.ResourceType; + _loadedResourceToApiVersions.Add(key.ToString(), new PropertyWrapper(prop, apiObject)); + } + } + } + } + } + + private static IEnumerable GetExtensionMethods() + { + // See TODO ADO #5692 + var results = + from assembly in AppDomain.CurrentDomain.GetAssemblies() + where assembly.GetName().ToString().StartsWith("Azure.", StringComparison.Ordinal) || assembly.GetName().ToString().StartsWith("Proto.", StringComparison.Ordinal) + from type in assembly.GetTypes() + where type.IsSealed && !type.IsGenericType && !type.IsNested && type.Name.Equals("AzureResourceManagerClientOptionsExtensions", StringComparison.Ordinal) + from method in type.GetMethods(BindingFlags.Static | BindingFlags.Public) + where method.IsDefined(typeof(ExtensionAttribute), false) + where method.GetParameters()[0].ParameterType == typeof(AzureResourceManagerClientOptions) + select method; + return results; + } + + private string LoadApiVersion(ResourceType resourceType, CancellationToken cancellationToken) + { + Response results; + try + { + results = ProviderOperations.Get(resourceType.Namespace, null, cancellationToken); + } + catch (RequestFailedException ex) when (ex.Status == 404) + { + return null; + } + foreach (var type in results.Value.ResourceTypes) + { + if (type.ResourceType.Equals(resourceType.Type)) + { + _nonLoadedResourceToApiVersion.Add(resourceType.ToString(), type.ApiVersions[0]); + return type.ApiVersions[0]; + } + } + return null; + } + + private async Task LoadApiVersionAsync(ResourceType resourceType, CancellationToken cancellationToken) + { + Response results; + try + { + results = await ProviderOperations.GetAsync(resourceType.Namespace, null, cancellationToken).ConfigureAwait(false); + } + catch (RequestFailedException ex) when (ex.Status == 404) + { + return null; + } + foreach (var type in results.Value.ResourceTypes) + { + if (type.ResourceType.Equals(resourceType.Type)) + { + _nonLoadedResourceToApiVersion.Add(resourceType.ToString(), type.ApiVersions[0]); + return type.ApiVersions[0]; + } + } + return null; + } + + /// + /// Try to get api version for a give resource id, returns null if will use the latest API version for the given resources + /// + public string TryGetApiVersion(ResourceType resourceType, CancellationToken cancellationToken = default) + { + string val; + if (TryGetApiVersion(resourceType.ToString(), out val)) + { + return val; + } + return ProviderOperations == null ? null : LoadApiVersion(resourceType.ToString(), cancellationToken); + } + + /// + /// Try to get api version for a give resource id, returns null if will use the latest API version for the given resources + /// + public async Task TryGetApiVersionAsync(ResourceType resourceType, CancellationToken cancellationToken = default) + { + string val; + if (TryGetApiVersion(resourceType.ToString(), out val)) + { + return val; + } + return ProviderOperations == null ? null : await LoadApiVersionAsync(resourceType.ToString(), cancellationToken).ConfigureAwait(false); + } + + private bool TryGetApiVersion(string resourceType, out string val) + { + PropertyWrapper propertyWrapper; + if (_loadedResourceToApiVersions.TryGetValue(resourceType, out propertyWrapper)) + { + val = propertyWrapper.GetValue(); + return true; + } + + if (_nonLoadedResourceToApiVersion.TryGetValue(resourceType, out val)) + { + return true; + } + val = null; + return false; + } + + /// + /// Set the API version given a resource ID + /// + public void SetApiVersion(ResourceType resourceType, string apiVersion) + { + PropertyWrapper propertyWrapper; + if (_loadedResourceToApiVersions.TryGetValue(resourceType.ToString(), out propertyWrapper)) + { + propertyWrapper.SetValue(apiVersion); + } + else + { + _nonLoadedResourceToApiVersion[resourceType.ToString()] = apiVersion; + } + } + } +} diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersionsBase.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersionsBase.cs index 1682e5e1e602..1170ab80c876 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersionsBase.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/ApiVersionsBase.cs @@ -64,6 +64,12 @@ public static implicit operator string(ApiVersionsBase version) return version._value; } + /// + /// Implicit operator to convert ApiVersionsBase to string. + /// + /// API version value. + public virtual ResourceType ResourceType {get; } + /// /// Overrides == operator for comparing ApiVersionsBase object with string object. /// diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClient.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClient.cs index 8b47506d8497..845397384fc9 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClient.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClient.cs @@ -98,10 +98,10 @@ private AzureResourceManagerClient( _credentials = credential; _baseUri = baseUri; _clientOptions = options ?? new AzureResourceManagerClientOptions(); - DefaultSubscription = string.IsNullOrWhiteSpace(defaultSubscriptionId) ? GetDefaultSubscription() : GetSubscriptionOperations(defaultSubscriptionId).Get().Value; + _clientOptions.ApiVersions.SetProviderClient(credential, baseUri, DefaultSubscription.Id.Subscription); } /// diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClientOptions.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClientOptions.cs index cd6d634057d0..437bf451457c 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClientOptions.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/AzureResourceManagerClientOptions.cs @@ -7,6 +7,9 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; +using System.Reflection; +using System.Linq; +using System.Runtime.CompilerServices; namespace Azure.ResourceManager.Core { @@ -17,6 +20,11 @@ public sealed class AzureResourceManagerClientOptions : ClientOptions { private readonly ConcurrentDictionary _overrides = new ConcurrentDictionary(); + /// + /// Gets the ApiVersions object + /// + public ApiVersions ApiVersions { get; } + /// /// Initializes a new instance of the class. /// @@ -50,6 +58,7 @@ internal AzureResourceManagerClientOptions(LocationData defaultLocation, AzureRe Copy(other); DefaultLocation = defaultLocation; ApiVersionOverrides = new Dictionary(); + ApiVersions = new ApiVersions(this); } /// diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/GenericResourceOperations.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/GenericResourceOperations.cs index 733cab70e87f..f99ef82f538e 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/GenericResourceOperations.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/GenericResourceOperations.cs @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; @@ -14,8 +15,6 @@ namespace Azure.ResourceManager.Core /// public class GenericResourceOperations : ResourceOperationsBase, ITaggableResource, IDeletableResource { - private readonly string _apiVersion; - /// /// Initializes a new instance of the class. /// @@ -24,7 +23,6 @@ public class GenericResourceOperations : ResourceOperationsBase internal GenericResourceOperations(ResourceOperationsBase operations, ResourceIdentifier id) : base(operations, id) { - _apiVersion = "BAD VALUE"; } /// @@ -43,7 +41,7 @@ internal GenericResourceOperations(ResourceOperationsBase operations, ResourceId /// The status of the delete operation. public ArmResponse Delete(CancellationToken cancellationToken = default) { - return new ArmResponse(Operations.StartDeleteById(Id, _apiVersion, cancellationToken).WaitForCompletion(cancellationToken)); + return new ArmResponse(Operations.StartDeleteById(Id, GetApiVersion(cancellationToken), cancellationToken).WaitForCompletion(cancellationToken)); } /// @@ -53,7 +51,7 @@ public ArmResponse Delete(CancellationToken cancellationToken = defaul /// A that on completion returns the status of the delete operation. public async Task> DeleteAsync(CancellationToken cancellationToken = default) { - var operation = await Operations.StartDeleteByIdAsync(Id, _apiVersion, cancellationToken).ConfigureAwait(false); + var operation = await Operations.StartDeleteByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), cancellationToken).ConfigureAwait(false); var result = await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); return new ArmResponse(result); } @@ -69,7 +67,7 @@ public async Task> DeleteAsync(CancellationToken cancellat /// public ArmOperation StartDelete(CancellationToken cancellationToken = default) { - return new ArmVoidOperation(Operations.StartDeleteById(Id, _apiVersion, cancellationToken)); + return new ArmVoidOperation(Operations.StartDeleteById(Id, GetApiVersion(cancellationToken), cancellationToken)); } /// @@ -85,7 +83,7 @@ public ArmOperation StartDelete(CancellationToken cancellationToken = /// public async Task> StartDeleteAsync(CancellationToken cancellationToken = default) { - var operation = await Operations.StartDeleteByIdAsync(Id, _apiVersion, cancellationToken).ConfigureAwait(false); + var operation = await Operations.StartDeleteByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), cancellationToken).ConfigureAwait(false); return new ArmVoidOperation(operation); } @@ -93,11 +91,10 @@ public async Task> StartDeleteAsync(CancellationToken can public ArmResponse AddTag(string key, string value, CancellationToken cancellationToken = default) { GenericResource resource = GetResource(); - // Potential optimization on tags set, remove NOOP to bypass the call. resource.Data.Tags[key] = value; return new PhArmResponse( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -106,7 +103,7 @@ public async Task> AddTagAsync(string key, string v { GenericResource resource = await GetResourceAsync(cancellationToken).ConfigureAwait(false); resource.Data.Tags[key] = value; - var op = await Operations.StartUpdateByIdAsync(Id, _apiVersion, resource.Data, cancellationToken).ConfigureAwait(false); + var op = await Operations.StartUpdateByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), resource.Data, cancellationToken).ConfigureAwait(false); return new PhArmResponse( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); @@ -118,7 +115,7 @@ public ArmOperation StartAddTag(string key, string value, Cance GenericResource resource = GetResource(); resource.Data.Tags[key] = value; return new PhArmOperation( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -127,7 +124,7 @@ public async Task> StartAddTagAsync(string key, st { GenericResource resource = await GetResourceAsync(cancellationToken).ConfigureAwait(false); resource.Data.Tags[key] = value; - var op = await Operations.StartUpdateByIdAsync(Id, _apiVersion, resource.Data, cancellationToken).ConfigureAwait(false); + var op = await Operations.StartUpdateByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), resource.Data, cancellationToken).ConfigureAwait(false); return new PhArmOperation( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); @@ -137,7 +134,7 @@ await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), public override ArmResponse Get(CancellationToken cancellationToken = default) { return new PhArmResponse( - Operations.GetById(Id, _apiVersion, cancellationToken), + Operations.GetById(Id, GetApiVersion(cancellationToken), cancellationToken), v => new GenericResource(this, new GenericResourceData(v))); } @@ -145,7 +142,7 @@ public override ArmResponse Get(CancellationToken cancellationT public override async Task> GetAsync(CancellationToken cancellationToken = default) { return new PhArmResponse( - await Operations.GetByIdAsync(Id, _apiVersion, cancellationToken).ConfigureAwait(false), + await Operations.GetByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); } @@ -165,7 +162,7 @@ public ArmResponse SetTags(IDictionary tags, Ca GenericResource resource = GetResource(); resource.Data.Tags.ReplaceWith(tags); return new PhArmResponse( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -174,7 +171,7 @@ public async Task> SetTagsAsync(IDictionary( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); @@ -186,7 +183,7 @@ public ArmOperation StartSetTags(IDictionary ta GenericResource resource = GetResource(); resource.Data.Tags.ReplaceWith(tags); return new PhArmOperation( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -195,7 +192,7 @@ public async Task> StartSetTagsAsync(IDictionary( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); @@ -207,7 +204,7 @@ public ArmResponse RemoveTag(string key, CancellationToken canc GenericResource resource = GetResource(); resource.Data.Tags.Remove(key); return new PhArmResponse( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -216,7 +213,7 @@ public async Task> RemoveTagAsync(string key, Cance { GenericResource resource = await GetResourceAsync(cancellationToken).ConfigureAwait(false); resource.Data.Tags.Remove(key); - var op = await Operations.StartUpdateByIdAsync(Id, _apiVersion, resource.Data, cancellationToken).ConfigureAwait(false); + var op = await Operations.StartUpdateByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), resource.Data, cancellationToken).ConfigureAwait(false); return new PhArmResponse( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); @@ -228,7 +225,7 @@ public ArmOperation StartRemoveTag(string key, CancellationToke GenericResource resource = GetResource(); resource.Data.Tags.Remove(key); return new PhArmOperation( - Operations.StartUpdateById(Id, _apiVersion, resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), + Operations.StartUpdateById(Id, GetApiVersion(cancellationToken), resource.Data, cancellationToken).WaitForCompletionAsync(cancellationToken).EnsureCompleted(), v => new GenericResource(this, new GenericResourceData(v))); } @@ -237,10 +234,29 @@ public async Task> StartRemoveTagAsync(string key, { GenericResource resource = await GetResourceAsync(cancellationToken).ConfigureAwait(false); resource.Data.Tags.Remove(key); - var op = await Operations.StartUpdateByIdAsync(Id, _apiVersion, resource.Data, cancellationToken).ConfigureAwait(false); + var op = await Operations.StartUpdateByIdAsync(Id, await GetApiVersionAsync(cancellationToken).ConfigureAwait(false), resource.Data, cancellationToken).ConfigureAwait(false); return new PhArmOperation( await op.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false), v => new GenericResource(this, new GenericResourceData(v))); } + + private string GetApiVersion(CancellationToken cancellationToken) + { + string version = ClientOptions.ApiVersions.TryGetApiVersion(Id.Type, cancellationToken); + if (version is null) + { + throw new InvalidOperationException($"An invalid resouce id was given {Id}"); + } + return version; + } + private async Task GetApiVersionAsync(CancellationToken cancellationToken) + { + string version = await ClientOptions.ApiVersions.TryGetApiVersionAsync(Id.Type, cancellationToken).ConfigureAwait(false); + if (version is null) + { + throw new InvalidOperationException($"An invalid resouce id was given {Id}"); + } + return version; + } } } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/OperationsBase.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/OperationsBase.cs index d0f3198b58a6..51dadf390af0 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/OperationsBase.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/OperationsBase.cs @@ -47,17 +47,17 @@ protected OperationsBase(AzureResourceManagerClientOptions options, ResourceIden /// /// Gets the Azure Resource Manager client options. /// - public AzureResourceManagerClientOptions ClientOptions { get; } + public virtual AzureResourceManagerClientOptions ClientOptions { get; } /// /// Gets the Azure credential. /// - public TokenCredential Credential { get; } + public virtual TokenCredential Credential { get; } /// /// Gets the base URI of the service. /// - public Uri BaseUri { get; } + public virtual Uri BaseUri { get; } /// /// Gets the valid Azure resource type for the current operations. diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/PropertyWrapper.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/PropertyWrapper.cs new file mode 100644 index 000000000000..a4d805ed5495 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/PropertyWrapper.cs @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using System; +using System.Collections.Generic; +using Azure.ResourceManager.Resources; +using System.Reflection; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; + +namespace Azure.ResourceManager.Core +{ + internal class PropertyWrapper + { + private PropertyInfo _info; + + private object _propertyObject; + + internal PropertyWrapper(PropertyInfo info, object propertyObject) + { + _info = info; + _propertyObject = propertyObject; + } + + internal string GetValue() + { + return _info.GetValue(_propertyObject).ToString(); + } + + internal void SetValue(string apiVersion) + { + Type type = _info.PropertyType; + ConstructorInfo ctor = type.GetConstructor(BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { typeof(string) }, null); + _info.SetValue(_propertyObject, ctor.Invoke(new object[] { apiVersion })); + } + } +} diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/src/Resources/Resource.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/src/Resources/Resource.cs index 86a35ac05cf7..a8638d1c689b 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/src/Resources/Resource.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/src/Resources/Resource.cs @@ -14,7 +14,7 @@ public abstract class Resource : IEquatable, IEquatable, IComp /// /// Gets or sets the resource identifier. /// - public abstract ResourceIdentifier Id { get; protected set; } + public virtual ResourceIdentifier Id { get; protected set; } /// /// Gets the name. diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Scenario/GenericResourceTests.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Scenario/GenericResourceTests.cs new file mode 100644 index 000000000000..7da80a8261b1 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Scenario/GenericResourceTests.cs @@ -0,0 +1,109 @@ +using System.Runtime.Versioning; +using System; +using System.Collections.Generic; +using System.Linq; +using Azure.Identity; +using System.Threading.Tasks; +using Azure.Core.TestFramework; +using NUnit.Framework; + +namespace Azure.ResourceManager.Core.Tests +{ + [Parallelizable] + public class GenericResourceTests : ResourceManagerTestBase + { + private string _rgName; + + private readonly string _location = "southcentralus"; + + public GenericResourceTests(bool isAsync) + : base(isAsync) + { + } + + [OneTimeSetUp] + public void LocalOneTimeSetup() + { + _rgName = SessionRecording.GenerateAssetName("testRg-"); + var subscriptionOperations = GlobalClient.GetSubscriptionOperations(SessionEnvironment.SubscriptionId); + _ = subscriptionOperations.GetResourceGroupContainer().Construct(_location).StartCreateOrUpdateAsync(_rgName).ConfigureAwait(false).GetAwaiter().GetResult().Value; + StopSessionRecording(); + } + + [TestCase] + [RecordedTest] + public async Task GetGenericsConfirmException() + { + var asetid = $"/subscriptions/{TestEnvironment.SubscriptionId}/resourceGroups/{_rgName}/providers/Microsoft.Compute/availabilitySets/testavset"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + _ = GetArmClient(options); // setup providers client + var subOp = Client.GetSubscriptionOperations(TestEnvironment.SubscriptionId); + var genericResourceOperations = new GenericResourceOperations(subOp, asetid); + try + { + await genericResourceOperations.GetAsync(); + Assert.Fail("No RequestFailedException thrown"); + } + catch (RequestFailedException ex) + { + Assert.AreEqual(ex.Status, 404); + Assert.True(ex.Message.Contains("ResourceNotFound")); + } + } + + [TestCase] + [RecordedTest] + public async Task GetGenericsBadNameSpace() + { + var asetid = $"/subscriptions/{TestEnvironment.SubscriptionId}/resourceGroups/{_rgName}/providers/Microsoft.NotAValidNameSpace123/availabilitySets/testavset"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + _ = GetArmClient(options); // setup providers client + var subOp = Client.GetSubscriptionOperations(TestEnvironment.SubscriptionId); + var genericResourceOperations = new GenericResourceOperations(subOp, asetid); + try + { + await genericResourceOperations.GetAsync(); + Assert.Fail("No InvalidOperationException thrown"); + } + catch (InvalidOperationException ex) + { + Assert.IsTrue(ex.Message.Equals($"An invalid resouce id was given {asetid}")); + } + } + + [TestCase] + [RecordedTest] + public async Task GetGenericsBadApiVersion() + { + ResourceIdentifier rgid = $"/subscriptions/{TestEnvironment.SubscriptionId}/resourceGroups/{_rgName}"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + options.ApiVersions.SetApiVersion(rgid.Type, "1500-10-10"); + var client = GetArmClient(options); + var subOp = client.GetSubscriptionOperations(TestEnvironment.SubscriptionId); + var genericResourceOperations = new GenericResourceOperations(subOp, rgid); + try + { + await genericResourceOperations.GetAsync(); + Assert.Fail("No RequestFailedException thrown"); + } + catch (RequestFailedException ex) + { + Assert.IsTrue(ex.Message.Contains("InvalidApiVersionParameter")); + } + } + + [TestCase] + [RecordedTest] + public async Task GetGenericsGoodApiVersion() + { + ResourceIdentifier rgid = $"/subscriptions/{TestEnvironment.SubscriptionId}/resourceGroups/{_rgName}"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + var client = GetArmClient(options); + var subOp = client.GetSubscriptionOperations(TestEnvironment.SubscriptionId); + var genericResourceOperations = new GenericResourceOperations(subOp, rgid); + var rg = await genericResourceOperations.GetAsync(); + Assert.IsNotNull(rg.Value); + Assert.IsTrue(rg.Value.Data.Name.Equals(_rgName)); + } + } +} diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(False).json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(False).json new file mode 100644 index 000000000000..50392e40f87a --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(False).json @@ -0,0 +1,98 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "dcf3bc7c7c526c42606b4f8bbe125c8b", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:16 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "5af63ede-8c23-4213-a4bf-7b2606cf63de", + "x-ms-ratelimit-remaining-subscription-reads": "11999", + "x-ms-request-id": "5af63ede-8c23-4213-a4bf-7b2606cf63de", + "x-ms-routing-request-id": "WESTUS2:20210326T204816Z:5af63ede-8c23-4213-a4bf-7b2606cf63de" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourcegroups/testRg-898?api-version=2019-10-01", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "Content-Length": "41", + "Content-Type": "application/json", + "traceparent": "00-3ebbdff37aaf2f498dc79990b8df93e6-151bf3a217d65545-00", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "79a83b24b946fa1eda91a6de3f21361c", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": { + "location": "South Central US", + "tags": {} + }, + "StatusCode": 201, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "235", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "3e928edf-5d94-40d2-a0a9-d77f7b31b5d7", + "x-ms-ratelimit-remaining-subscription-writes": "1199", + "x-ms-request-id": "3e928edf-5d94-40d2-a0a9-d77f7b31b5d7", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:3e928edf-5d94-40d2-a0a9-d77f7b31b5d7" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-898", + "name": "testRg-898", + "type": "Microsoft.Resources/resourceGroups", + "location": "southcentralus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + ], + "Variables": { + "RandomSeed": "1692308145", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(True)Async.json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(True)Async.json new file mode 100644 index 000000000000..6ac81b136900 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GenericResourceTests(True)Async.json @@ -0,0 +1,98 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "d38fd7f7b6cb82c1eba6971ec8201dcf", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:15 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "48d85ddb-df3f-43f3-b91e-414f33f365a2", + "x-ms-ratelimit-remaining-subscription-reads": "11999", + "x-ms-request-id": "48d85ddb-df3f-43f3-b91e-414f33f365a2", + "x-ms-routing-request-id": "WESTUS2:20210326T204816Z:48d85ddb-df3f-43f3-b91e-414f33f365a2" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourcegroups/testRg-8970?api-version=2019-10-01", + "RequestMethod": "PUT", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "Content-Length": "41", + "Content-Type": "application/json", + "traceparent": "00-814691dca03d51479b9d41e01b53801e-4eb39788722e7a40-00", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "da0d467684b06e69e3916b74a7ad4a51", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": { + "location": "South Central US", + "tags": {} + }, + "StatusCode": 201, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "237", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:17 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "a14fc2d4-5099-4be6-8672-36b63cabdf47", + "x-ms-ratelimit-remaining-subscription-writes": "1199", + "x-ms-request-id": "a14fc2d4-5099-4be6-8672-36b63cabdf47", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:a14fc2d4-5099-4be6-8672-36b63cabdf47" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-8970", + "name": "testRg-8970", + "type": "Microsoft.Resources/resourceGroups", + "location": "southcentralus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + ], + "Variables": { + "RandomSeed": "1055099741", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion().json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion().json new file mode 100644 index 000000000000..98a6b1338787 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion().json @@ -0,0 +1,132 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "73dd40ef3a162c97ff1a8572cffe6c23", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "737c923b-7074-4290-9c59-6bc32a2719bf", + "x-ms-ratelimit-remaining-subscription-reads": "11994", + "x-ms-request-id": "737c923b-7074-4290-9c59-6bc32a2719bf", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:737c923b-7074-4290-9c59-6bc32a2719bf" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "79839a8b0a86501d4939e0b6b503eaa5", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "c6a5f4db-44c9-4722-bf94-a52dc31c28ce", + "x-ms-ratelimit-remaining-subscription-reads": "11997", + "x-ms-request-id": "c6a5f4db-44c9-4722-bf94-a52dc31c28ce", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:c6a5f4db-44c9-4722-bf94-a52dc31c28ce" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-898?api-version=1500-10-10", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "730ac5cc6749baf3668a6b2a926e9812", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 400, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "619", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "c8407279-ce97-48eb-95b9-2f5df072372b", + "x-ms-failure-cause": "gateway", + "x-ms-request-id": "c8407279-ce97-48eb-95b9-2f5df072372b", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:c8407279-ce97-48eb-95b9-2f5df072372b" + }, + "ResponseBody": { + "error": { + "code": "InvalidApiVersionParameter", + "message": "The api-version \u00271500-10-10\u0027 is invalid. The supported versions are \u00272021-04-01,2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05-01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018-02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04\u0027." + } + } + } + ], + "Variables": { + "RandomSeed": "1711275273", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion()Async.json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion()Async.json new file mode 100644 index 000000000000..d9b8cbfded70 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadApiVersion()Async.json @@ -0,0 +1,133 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "traceparent": "00-43011dfcb5de18458a4a2e982e179eb6-d54c163c51650c4b-00", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "30bad03c75065f404fd3a31e715c4ee0", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:17 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "cf65469a-94aa-4c9c-bd7b-7eb1e0bec893", + "x-ms-ratelimit-remaining-subscription-reads": "11997", + "x-ms-request-id": "cf65469a-94aa-4c9c-bd7b-7eb1e0bec893", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:cf65469a-94aa-4c9c-bd7b-7eb1e0bec893" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "9d0b5bc88ddcaf428b94d99f833fa485", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:17 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "61975697-71de-4799-b0e2-f4a30f104244", + "x-ms-ratelimit-remaining-subscription-reads": "11996", + "x-ms-request-id": "61975697-71de-4799-b0e2-f4a30f104244", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:61975697-71de-4799-b0e2-f4a30f104244" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-8970?api-version=1500-10-10", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "95a0e861dafa8a6733778ca1e817a76b", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 400, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "619", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "57ab4dde-a157-4ac3-a2c6-51d4fe1c4ab2", + "x-ms-failure-cause": "gateway", + "x-ms-request-id": "57ab4dde-a157-4ac3-a2c6-51d4fe1c4ab2", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:57ab4dde-a157-4ac3-a2c6-51d4fe1c4ab2" + }, + "ResponseBody": { + "error": { + "code": "InvalidApiVersionParameter", + "message": "The api-version \u00271500-10-10\u0027 is invalid. The supported versions are \u00272021-04-01,2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05-01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018-02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04\u0027." + } + } + } + ], + "Variables": { + "RandomSeed": "1638627041", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace().json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace().json new file mode 100644 index 000000000000..123aa3becfc8 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace().json @@ -0,0 +1,133 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "5151118777d6bfec9b643321ecf9b10b", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "1164316b-77f9-4de4-957e-49b999625a31", + "x-ms-ratelimit-remaining-subscription-reads": "11991", + "x-ms-request-id": "1164316b-77f9-4de4-957e-49b999625a31", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:1164316b-77f9-4de4-957e-49b999625a31" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "62ea807bb0389daebb529b8e1c9e6e42", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "fd7be6d9-eb06-4a45-b081-07d47ceae117", + "x-ms-ratelimit-remaining-subscription-reads": "11990", + "x-ms-request-id": "fd7be6d9-eb06-4a45-b081-07d47ceae117", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:fd7be6d9-eb06-4a45-b081-07d47ceae117" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.NotAValidNameSpace123?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "9ee983b77f4c319affe45aa6118259b2", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 404, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "126", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "5f16d029-f23a-46f7-b08f-b0d2d6a52faa", + "x-ms-failure-cause": "gateway", + "x-ms-ratelimit-remaining-subscription-reads": "11989", + "x-ms-request-id": "5f16d029-f23a-46f7-b08f-b0d2d6a52faa", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:5f16d029-f23a-46f7-b08f-b0d2d6a52faa" + }, + "ResponseBody": { + "error": { + "code": "InvalidResourceNamespace", + "message": "The resource namespace \u0027Microsoft.NotAValidNameSpace123\u0027 is invalid." + } + } + } + ], + "Variables": { + "RandomSeed": "1894753675", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace()Async.json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace()Async.json new file mode 100644 index 000000000000..ebbba68c55f8 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsBadNameSpace()Async.json @@ -0,0 +1,133 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "fd430b3dc5813912b8a404965658e0f0", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "7d2564bb-e4b3-4d0b-abd9-8e84f47c3e52", + "x-ms-ratelimit-remaining-subscription-reads": "11998", + "x-ms-request-id": "7d2564bb-e4b3-4d0b-abd9-8e84f47c3e52", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:7d2564bb-e4b3-4d0b-abd9-8e84f47c3e52" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "69271b0e12a9d83718cc929ba3a56fb7", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "2c092216-3515-4b40-a7b3-c21d5c7eb8bc", + "x-ms-ratelimit-remaining-subscription-reads": "11993", + "x-ms-request-id": "2c092216-3515-4b40-a7b3-c21d5c7eb8bc", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:2c092216-3515-4b40-a7b3-c21d5c7eb8bc" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.NotAValidNameSpace123?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "a811fb38a4e909fb55310a84cbc96e79", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 404, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "126", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "1614d818-4887-4346-8cca-5e4be5a294d6", + "x-ms-failure-cause": "gateway", + "x-ms-ratelimit-remaining-subscription-reads": "11992", + "x-ms-request-id": "1614d818-4887-4346-8cca-5e4be5a294d6", + "x-ms-routing-request-id": "WESTUS2:20210326T204818Z:1614d818-4887-4346-8cca-5e4be5a294d6" + }, + "ResponseBody": { + "error": { + "code": "InvalidResourceNamespace", + "message": "The resource namespace \u0027Microsoft.NotAValidNameSpace123\u0027 is invalid." + } + } + } + ], + "Variables": { + "RandomSeed": "1334816672", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException().json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException().json new file mode 100644 index 000000000000..96201af934fb --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException().json @@ -0,0 +1,3473 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "23ac95ff522586a33b684b04dca6535d", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "89d4794b-11b8-423a-81e9-1d0cde579150", + "x-ms-ratelimit-remaining-subscription-reads": "11988", + "x-ms-request-id": "89d4794b-11b8-423a-81e9-1d0cde579150", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:89d4794b-11b8-423a-81e9-1d0cde579150" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "b42c6cbcf4125dd13aeb17e2d5b2819b", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:18 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "806f9599-1eb6-46f2-9ecd-76a3a5684f08", + "x-ms-ratelimit-remaining-subscription-reads": "11987", + "x-ms-request-id": "806f9599-1eb6-46f2-9ecd-76a3a5684f08", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:806f9599-1eb6-46f2-9ecd-76a3a5684f08" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Compute?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "ed695f8b84ed2fe320a9bb5cd7827c85", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "44733", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "6d079501-0832-42e6-8993-bf1a538fbd07", + "x-ms-ratelimit-remaining-subscription-reads": "11986", + "x-ms-request-id": "6d079501-0832-42e6-8993-bf1a538fbd07", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:6d079501-0832-42e6-8993-bf1a538fbd07" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Compute", + "namespace": "Microsoft.Compute", + "authorizations": [ + { + "applicationId": "60e6cd67-9c8c-4951-9b3c-23c25a2169af", + "roleDefinitionId": "e4770acb-272e-4dc8-87f3-12f44a612224" + }, + { + "applicationId": "a303894e-f1d8-4a37-bf10-67aa654a0596", + "roleDefinitionId": "903ac751-8ad5-4e5a-bfc2-5e49f450a241" + }, + { + "applicationId": "a8b6bf88-1d1a-4626-b040-9a729ea93c65", + "roleDefinitionId": "45c8267c-80ba-4b96-9a43-115b8f49fccd" + }, + { + "applicationId": "184909ca-69f1-4368-a6a7-c558ee6eb0bd", + "roleDefinitionId": "45c8267c-80ba-4b96-9a43-115b8f49fccd" + }, + { + "applicationId": "5e5e43d4-54da-4211-86a4-c6e7f3715801", + "roleDefinitionId": "ffcd6e5b-8772-457d-bb17-89703c03428f" + }, + { + "applicationId": "ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0", + "roleDefinitionId": "cb17cddc-dbac-4ae0-ae79-8db34eddfca0" + }, + { + "applicationId": "372140e0-b3b7-4226-8ef9-d57986796201", + "roleDefinitionId": "cb17cddc-dbac-4ae0-ae79-8db34eddfca0" + }, + { + "applicationId": "b9a92e36-2cf8-4f4e-bcb3-9d99e00e14ab", + "roleDefinitionId": "6efa92ca-56b6-40af-a468-5e3d2b5232f0" + }, + { + "applicationId": "579d9c9d-4c83-4efc-8124-7eba65ed3356", + "roleDefinitionId": "8c99c4ce-d744-4597-a2f0-0a0044d67560" + } + ], + "resourceTypes": [ + { + "resourceType": "availabilitySets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachineScaleSets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachineScaleSets/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2015-06-15", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/networkInterfaces", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-09-01", + "2016-08-01", + "2016-07-01", + "2016-06-01", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-09-01", + "2016-08-01", + "2016-07-01", + "2016-06-01", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/publicIPAddresses", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations", + "locations": [], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/operations", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/vmSizes", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/runCommands", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/usages", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/virtualMachineScaleSets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/publishers", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-09-30", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "operations", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/edgeZones", + "locations": [], + "apiVersions": [ + "2020-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/edgeZones/publishers", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "restorePointCollections", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "restorePointCollections/restorePoints", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "capabilities": "None" + }, + { + "resourceType": "proximityPlacementGroups", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "sshPublicKeys", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines/metricDefinitions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2014-04-01" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/spotEvictionRates", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "None" + }, + { + "resourceType": "locations/spotPriceHistory", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "None" + }, + { + "resourceType": "locations/sharedGalleries", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-09-30", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "sharedVMImages", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "defaultApiVersion": "2017-10-15-preview", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "sharedVMImages/versions", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "defaultApiVersion": "2017-10-15-preview", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/artifactPublishers", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/capsoperations", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01", + "2017-10-15-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "galleries", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "galleries/images", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "galleries/images/versions", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/galleries", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "None" + }, + { + "resourceType": "disks", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-30", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "snapshots", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-30", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/diskoperations", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "diskEncryptionSets", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01" + ], + "defaultApiVersion": "2020-06-30", + "capabilities": "SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "diskAccesses", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01" + ], + "defaultApiVersion": "2020-06-30", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "images", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/logAnalytics", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "hostGroups", + "locations": [ + "Central US", + "East US 2", + "West Europe", + "Southeast Asia", + "France Central", + "North Europe", + "West US 2", + "East US", + "UK South", + "Japan East", + "Japan West", + "East Asia", + "North Central US", + "South Central US", + "Canada East", + "Korea Central", + "Brazil South", + "UK West", + "Canada Central", + "West US", + "West Central US", + "Central India", + "South India", + "Australia Southeast", + "Korea South", + "West India", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East", + "Australia East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01" + ], + "defaultApiVersion": "2020-06-01", + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "hostGroups/hosts", + "locations": [ + "Central US", + "East US 2", + "West Europe", + "Southeast Asia", + "France Central", + "North Europe", + "West US 2", + "East US", + "UK South", + "Japan East", + "Japan West", + "East Asia", + "North Central US", + "South Central US", + "Canada East", + "Korea Central", + "Brazil South", + "UK West", + "Canada Central", + "West US", + "West Central US", + "Central India", + "South India", + "Australia Southeast", + "Korea South", + "West India", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East", + "Australia East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01" + ], + "defaultApiVersion": "2020-06-01", + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "SupportsTags, SupportsLocation" + } + ], + "registrationState": "Registered", + "registrationPolicy": "RegistrationRequired" + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-898/providers/Microsoft.Compute/availabilitySets/testavset?api-version=2021-03-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "2de56ed162800aa1c34fe93a3ac0b188", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 404, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "226", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "0769a2b2-e592-411c-8475-bb1762835acd", + "x-ms-failure-cause": "gateway", + "x-ms-request-id": "0769a2b2-e592-411c-8475-bb1762835acd", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:0769a2b2-e592-411c-8475-bb1762835acd" + }, + "ResponseBody": { + "error": { + "code": "ResourceNotFound", + "message": "The Resource \u0027Microsoft.Compute/availabilitySets/testavset\u0027 under resource group \u0027testRg-898\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix" + } + } + } + ], + "Variables": { + "RandomSeed": "802224663", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException()Async.json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException()Async.json new file mode 100644 index 000000000000..bb717cadceee --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsConfirmException()Async.json @@ -0,0 +1,3473 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "b112e4146692a8bb02632ac5f91757bd", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "aae3cea3-2bb6-4aeb-a55a-5114210a8629", + "x-ms-ratelimit-remaining-subscription-reads": "11996", + "x-ms-request-id": "aae3cea3-2bb6-4aeb-a55a-5114210a8629", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:aae3cea3-2bb6-4aeb-a55a-5114210a8629" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "7e8ab70c181dbc90cacbba837fca06f1", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "6486e048-0d4c-4d12-a2b2-5ed7740967c1", + "x-ms-ratelimit-remaining-subscription-reads": "11995", + "x-ms-request-id": "6486e048-0d4c-4d12-a2b2-5ed7740967c1", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:6486e048-0d4c-4d12-a2b2-5ed7740967c1" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Compute?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "898eb309b1f0c9399d3293c1a876a2ba", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "44733", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "a2089c66-bf79-4356-a746-f45d8f8b44f8", + "x-ms-ratelimit-remaining-subscription-reads": "11994", + "x-ms-request-id": "a2089c66-bf79-4356-a746-f45d8f8b44f8", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:a2089c66-bf79-4356-a746-f45d8f8b44f8" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Compute", + "namespace": "Microsoft.Compute", + "authorizations": [ + { + "applicationId": "60e6cd67-9c8c-4951-9b3c-23c25a2169af", + "roleDefinitionId": "e4770acb-272e-4dc8-87f3-12f44a612224" + }, + { + "applicationId": "a303894e-f1d8-4a37-bf10-67aa654a0596", + "roleDefinitionId": "903ac751-8ad5-4e5a-bfc2-5e49f450a241" + }, + { + "applicationId": "a8b6bf88-1d1a-4626-b040-9a729ea93c65", + "roleDefinitionId": "45c8267c-80ba-4b96-9a43-115b8f49fccd" + }, + { + "applicationId": "184909ca-69f1-4368-a6a7-c558ee6eb0bd", + "roleDefinitionId": "45c8267c-80ba-4b96-9a43-115b8f49fccd" + }, + { + "applicationId": "5e5e43d4-54da-4211-86a4-c6e7f3715801", + "roleDefinitionId": "ffcd6e5b-8772-457d-bb17-89703c03428f" + }, + { + "applicationId": "ce6ff14a-7fdc-4685-bbe0-f6afdfcfa8e0", + "roleDefinitionId": "cb17cddc-dbac-4ae0-ae79-8db34eddfca0" + }, + { + "applicationId": "372140e0-b3b7-4226-8ef9-d57986796201", + "roleDefinitionId": "cb17cddc-dbac-4ae0-ae79-8db34eddfca0" + }, + { + "applicationId": "b9a92e36-2cf8-4f4e-bcb3-9d99e00e14ab", + "roleDefinitionId": "6efa92ca-56b6-40af-a468-5e3d2b5232f0" + }, + { + "applicationId": "579d9c9d-4c83-4efc-8124-7eba65ed3356", + "roleDefinitionId": "8c99c4ce-d744-4597-a2f0-0a0044d67560" + } + ], + "resourceTypes": [ + { + "resourceType": "availabilitySets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachineScaleSets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachineScaleSets/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2015-06-15", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/extensions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/networkInterfaces", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-09-01", + "2016-08-01", + "2016-07-01", + "2016-06-01", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-09-01", + "2016-08-01", + "2016-07-01", + "2016-06-01", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "virtualMachineScaleSets/publicIPAddresses", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations", + "locations": [], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/operations", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-10-30-preview", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/vmSizes", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/runCommands", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/usages", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/virtualMachines", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/virtualMachineScaleSets", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations/publishers", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-09-30", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "operations", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/edgeZones", + "locations": [], + "apiVersions": [ + "2020-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/edgeZones/publishers", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "restorePointCollections", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "restorePointCollections/restorePoints", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30" + ], + "capabilities": "None" + }, + { + "resourceType": "proximityPlacementGroups", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "sshPublicKeys", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "virtualMachines/metricDefinitions", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2014-04-01" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/spotEvictionRates", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "None" + }, + { + "resourceType": "locations/spotPriceHistory", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01" + ], + "defaultApiVersion": "2020-06-01", + "capabilities": "None" + }, + { + "resourceType": "locations/sharedGalleries", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-09-30", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview", + "2016-03-30", + "2015-06-15", + "2015-05-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2017-03-09-profile", + "apiVersion": "2016-03-30" + }, + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2017-12-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "sharedVMImages", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "defaultApiVersion": "2017-10-15-preview", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "sharedVMImages/versions", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "defaultApiVersion": "2017-10-15-preview", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/artifactPublishers", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central" + ], + "apiVersions": [ + "2017-10-15-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/capsoperations", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01", + "2017-10-15-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "galleries", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "galleries/images", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "galleries/images/versions", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/galleries", + "locations": [ + "West Central US", + "South Central US", + "East US 2", + "Southeast Asia", + "West Europe", + "West US", + "East US", + "Canada Central", + "North Europe", + "North Central US", + "Brazil South", + "UK West", + "West India", + "East Asia", + "Australia East", + "Japan East", + "Korea South", + "West US 2", + "Canada East", + "UK South", + "Central India", + "South India", + "Australia Southeast", + "Japan West", + "Korea Central", + "France Central", + "Central US", + "Australia Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-09-30", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-06-01" + ], + "defaultApiVersion": "2018-06-01", + "capabilities": "None" + }, + { + "resourceType": "disks", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-30", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "snapshots", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-30", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/diskoperations", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01", + "2019-03-01", + "2018-09-30", + "2018-06-01", + "2018-04-01", + "2017-03-30", + "2016-04-30-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "diskEncryptionSets", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01", + "2019-11-01", + "2019-07-01" + ], + "defaultApiVersion": "2020-06-30", + "capabilities": "SystemAssignedResourceIdentity, SupportsTags, SupportsLocation" + }, + { + "resourceType": "diskAccesses", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2020-12-01", + "2020-09-30", + "2020-06-30", + "2020-05-01" + ], + "defaultApiVersion": "2020-06-30", + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "images", + "locations": [ + "Southeast Asia", + "East US 2", + "Central US", + "West Europe", + "East US", + "North Central US", + "South Central US", + "West US", + "North Europe", + "East Asia", + "Brazil South", + "West US 2", + "West Central US", + "UK West", + "UK South", + "Japan East", + "Japan West", + "Canada Central", + "Canada East", + "Central India", + "South India", + "Australia East", + "Australia Southeast", + "Korea Central", + "Korea South", + "West India", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01", + "2017-03-30", + "2016-08-30", + "2016-04-30-preview" + ], + "defaultApiVersion": "2020-06-01", + "apiProfiles": [ + { + "profileVersion": "2018-03-01-hybrid", + "apiVersion": "2017-03-30" + }, + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2018-04-01" + } + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "locations/logAnalytics", + "locations": [ + "East US", + "East US 2", + "West US", + "Central US", + "North Central US", + "South Central US", + "North Europe", + "West Europe", + "East Asia", + "Southeast Asia", + "Japan East", + "Japan West", + "Australia East", + "Australia Southeast", + "Australia Central", + "Brazil South", + "South India", + "Central India", + "West India", + "Canada Central", + "Canada East", + "West US 2", + "West Central US", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01", + "2018-06-01", + "2018-04-01", + "2017-12-01" + ], + "capabilities": "None" + }, + { + "resourceType": "hostGroups", + "locations": [ + "Central US", + "East US 2", + "West Europe", + "Southeast Asia", + "France Central", + "North Europe", + "West US 2", + "East US", + "UK South", + "Japan East", + "Japan West", + "East Asia", + "North Central US", + "South Central US", + "Canada East", + "Korea Central", + "Brazil South", + "UK West", + "Canada Central", + "West US", + "West Central US", + "Central India", + "South India", + "Australia Southeast", + "Korea South", + "West India", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East", + "Australia East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01" + ], + "defaultApiVersion": "2020-06-01", + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "hostGroups/hosts", + "locations": [ + "Central US", + "East US 2", + "West Europe", + "Southeast Asia", + "France Central", + "North Europe", + "West US 2", + "East US", + "UK South", + "Japan East", + "Japan West", + "East Asia", + "North Central US", + "South Central US", + "Canada East", + "Korea Central", + "Brazil South", + "UK West", + "Canada Central", + "West US", + "West Central US", + "Central India", + "South India", + "Australia Southeast", + "Korea South", + "West India", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East", + "Australia East" + ], + "apiVersions": [ + "2021-03-01", + "2020-12-01", + "2020-06-01", + "2019-12-01", + "2019-07-01", + "2019-03-01", + "2018-10-01" + ], + "defaultApiVersion": "2020-06-01", + "zoneMappings": [ + { + "location": "East US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "France Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Southeast Asia", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "West US 2", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "North Europe", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "East US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "UK South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Japan East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Australia East", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "South Africa North", + "zones": [] + }, + { + "location": "South Central US", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Canada Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Germany West Central", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Brazil South", + "zones": [ + "2", + "1", + "3" + ] + }, + { + "location": "Central India", + "zones": [] + }, + { + "location": "Korea Central", + "zones": [] + }, + { + "location": "Norway East", + "zones": [] + } + ], + "capabilities": "SupportsTags, SupportsLocation" + } + ], + "registrationState": "Registered", + "registrationPolicy": "RegistrationRequired" + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-8970/providers/Microsoft.Compute/availabilitySets/testavset?api-version=2021-03-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "85c3ed009922fcd75356e6c7ab382837", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 404, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "227", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "88c135d2-fdf1-4b46-84f8-881b611dbe90", + "x-ms-failure-cause": "gateway", + "x-ms-request-id": "88c135d2-fdf1-4b46-84f8-881b611dbe90", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:88c135d2-fdf1-4b46-84f8-881b611dbe90" + }, + "ResponseBody": { + "error": { + "code": "ResourceNotFound", + "message": "The Resource \u0027Microsoft.Compute/availabilitySets/testavset\u0027 under resource group \u0027testRg-8970\u0027 was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix" + } + } + } + ], + "Variables": { + "RandomSeed": "1476192510", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion().json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion().json new file mode 100644 index 000000000000..817daef7c561 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion().json @@ -0,0 +1,1320 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "c2e7e4fb960965b374d0b981cd8d6564", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "7429f912-0bc7-4862-bbba-a5b457627eae", + "x-ms-ratelimit-remaining-subscription-reads": "11984", + "x-ms-request-id": "7429f912-0bc7-4862-bbba-a5b457627eae", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:7429f912-0bc7-4862-bbba-a5b457627eae" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "2726f6ad7d7f4015f9eee8a32b67ff87", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "65804d90-c052-4c1f-ad1e-a71f2cac5047", + "x-ms-ratelimit-remaining-subscription-reads": "11983", + "x-ms-request-id": "65804d90-c052-4c1f-ad1e-a71f2cac5047", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:65804d90-c052-4c1f-ad1e-a71f2cac5047" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Resources?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "8743cf30fafb384ee330ef39e53bbb3a", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "16313", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "c82489bb-3a1b-4549-b039-0665f8fc2246", + "x-ms-ratelimit-remaining-subscription-reads": "11982", + "x-ms-request-id": "c82489bb-3a1b-4549-b039-0665f8fc2246", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:c82489bb-3a1b-4549-b039-0665f8fc2246" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Resources", + "namespace": "Microsoft.Resources", + "authorization": { + "applicationId": "3b990c8b-9607-4c2a-8b04-1d41985facca" + }, + "resourceTypes": [ + { + "resourceType": "tenants", + "locations": [], + "apiVersions": [ + "2020-01-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "operationresults", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "notifyResourceJobs", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01" + ], + "capabilities": "None" + }, + { + "resourceType": "tags", + "locations": [], + "apiVersions": [ + "2019-10-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01" + ], + "capabilities": "SupportsExtension" + }, + { + "resourceType": "checkPolicyCompliance", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "providers", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "checkresourcename", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "calculateTemplateHash", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "resources", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions", + "locations": [], + "apiVersions": [ + "2019-10-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/resources", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/providers", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/operationresults", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "resourceGroups", + "locations": [ + "Central US", + "East Asia", + "Southeast Asia", + "East US", + "East US 2", + "West US", + "West US 2", + "North Central US", + "South Central US", + "West Central US", + "North Europe", + "West Europe", + "Japan East", + "Japan West", + "Brazil South", + "Australia Southeast", + "Australia East", + "West India", + "South India", + "Central India", + "Canada Central", + "Canada East", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsLocation" + }, + { + "resourceType": "subscriptions/resourceGroups", + "locations": [ + "Central US", + "East Asia", + "Southeast Asia", + "East US", + "East US 2", + "West US", + "West US 2", + "North Central US", + "South Central US", + "West Central US", + "North Europe", + "West Europe", + "Japan East", + "Japan West", + "Brazil South", + "Australia Southeast", + "Australia East", + "West India", + "South India", + "Central India", + "Canada Central", + "Canada East", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "subscriptions/resourcegroups/resources", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/locations", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/tagnames", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/tagNames/tagValues", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "deployments", + "locations": [], + "apiVersions": [ + "2021-01-01", + "2020-10-01", + "2020-06-01", + "2019-09-01", + "2019-08-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "deployments/operations", + "locations": [], + "apiVersions": [ + "2021-01-01", + "2020-10-01", + "2020-06-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "links", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsExtension" + }, + { + "resourceType": "operations", + "locations": [], + "apiVersions": [ + "2015-01-01" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2015-01-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "bulkDelete", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "deploymentScripts", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "deploymentScripts/logs", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/deploymentScriptOperationResults", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "templateSpecs", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Central", + "Australia Central 2", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "UK West", + "Central India", + "West India", + "South India", + "Japan East", + "Japan West", + "Korea Central", + "Korea South", + "North Europe", + "Norway East", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US", + "South Africa North" + ], + "apiVersions": [ + "2019-06-01-preview" + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "templateSpecs/versions", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Central", + "Australia Central 2", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "UK West", + "Central India", + "West India", + "South India", + "Japan East", + "Japan West", + "Korea Central", + "Korea South", + "North Europe", + "Norway East", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US", + "South Africa North" + ], + "apiVersions": [ + "2019-06-01-preview" + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + } + ], + "registrationState": "Registered", + "registrationPolicy": "RegistrationFree" + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-898?api-version=2019-05-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "39b0afd4ffe07e7ecfa6c91aae0f3a0d", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "235", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "c1cf9651-14a2-4f85-bfe7-afbffc99f512", + "x-ms-ratelimit-remaining-subscription-reads": "11981", + "x-ms-request-id": "c1cf9651-14a2-4f85-bfe7-afbffc99f512", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:c1cf9651-14a2-4f85-bfe7-afbffc99f512" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-898", + "name": "testRg-898", + "type": "Microsoft.Resources/resourceGroups", + "location": "southcentralus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + ], + "Variables": { + "RandomSeed": "353679548", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion()Async.json b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion()Async.json new file mode 100644 index 000000000000..61a42feb1c47 --- /dev/null +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/SessionRecords/GenericResourceTests/GetGenericsGoodApiVersion()Async.json @@ -0,0 +1,1320 @@ +{ + "Entries": [ + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "b2e5521add72ba324689b48fb23515ad", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "4db4a139-b1c2-4a32-865e-cb979916a428", + "x-ms-ratelimit-remaining-subscription-reads": "11992", + "x-ms-request-id": "4db4a139-b1c2-4a32-865e-cb979916a428", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:4db4a139-b1c2-4a32-865e-cb979916a428" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c?api-version=2019-11-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "e2d6cc8b852a88657d5b75e4d8f0980c", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "397", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "6b94b5d5-cc4d-4127-a60e-9b10183b05e5", + "x-ms-ratelimit-remaining-subscription-reads": "11991", + "x-ms-request-id": "6b94b5d5-cc4d-4127-a60e-9b10183b05e5", + "x-ms-routing-request-id": "WESTUS2:20210326T204819Z:6b94b5d5-cc4d-4127-a60e-9b10183b05e5" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "authorizationSource": "RoleBased", + "managedByTenants": [], + "subscriptionId": "db1ab6f0-4769-4b27-930e-01e2ef9c123c", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "displayName": "Azure SDK sandbox", + "state": "Enabled", + "subscriptionPolicies": { + "locationPlacementId": "Internal_2014-09-01", + "quotaId": "Internal_2014-09-01", + "spendingLimit": "Off" + } + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Resources?api-version=2019-10-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "87288283ad79b65f7265945b00442657", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "16313", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:19 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "dfa22fbf-df94-4a94-bce2-65cba8c451da", + "x-ms-ratelimit-remaining-subscription-reads": "11990", + "x-ms-request-id": "dfa22fbf-df94-4a94-bce2-65cba8c451da", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:dfa22fbf-df94-4a94-bce2-65cba8c451da" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/providers/Microsoft.Resources", + "namespace": "Microsoft.Resources", + "authorization": { + "applicationId": "3b990c8b-9607-4c2a-8b04-1d41985facca" + }, + "resourceTypes": [ + { + "resourceType": "tenants", + "locations": [], + "apiVersions": [ + "2020-01-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "locations", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "operationresults", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "notifyResourceJobs", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01" + ], + "capabilities": "None" + }, + { + "resourceType": "tags", + "locations": [], + "apiVersions": [ + "2019-10-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01" + ], + "capabilities": "SupportsExtension" + }, + { + "resourceType": "checkPolicyCompliance", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "providers", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "checkresourcename", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "calculateTemplateHash", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "resources", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions", + "locations": [], + "apiVersions": [ + "2019-10-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/resources", + "locations": [], + "apiVersions": [ + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/providers", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/operationresults", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "resourceGroups", + "locations": [ + "Central US", + "East Asia", + "Southeast Asia", + "East US", + "East US 2", + "West US", + "West US 2", + "North Central US", + "South Central US", + "West Central US", + "North Europe", + "West Europe", + "Japan East", + "Japan West", + "Brazil South", + "Australia Southeast", + "Australia East", + "West India", + "South India", + "Central India", + "Canada Central", + "Canada East", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsLocation" + }, + { + "resourceType": "subscriptions/resourceGroups", + "locations": [ + "Central US", + "East Asia", + "Southeast Asia", + "East US", + "East US 2", + "West US", + "West US 2", + "North Central US", + "South Central US", + "West Central US", + "North Europe", + "West Europe", + "Japan East", + "Japan West", + "Brazil South", + "Australia Southeast", + "Australia East", + "West India", + "South India", + "Central India", + "Canada Central", + "Canada East", + "UK South", + "UK West", + "Korea Central", + "Korea South", + "France Central", + "South Africa North", + "UAE North", + "Australia Central", + "Switzerland North", + "Germany West Central", + "Norway East" + ], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "subscriptions/resourcegroups/resources", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/locations", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2016-06-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/tagnames", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "subscriptions/tagNames/tagValues", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "deployments", + "locations": [], + "apiVersions": [ + "2021-01-01", + "2020-10-01", + "2020-06-01", + "2019-09-01", + "2019-08-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "deployments/operations", + "locations": [], + "apiVersions": [ + "2021-01-01", + "2020-10-01", + "2020-06-01", + "2019-09-01", + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "links", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2016-06-01" + }, + { + "profileVersion": "2019-03-01-hybrid", + "apiVersion": "2018-05-01" + } + ], + "capabilities": "SupportsExtension" + }, + { + "resourceType": "operations", + "locations": [], + "apiVersions": [ + "2015-01-01" + ], + "apiProfiles": [ + { + "profileVersion": "2018-06-01-profile", + "apiVersion": "2015-01-01" + } + ], + "capabilities": "None" + }, + { + "resourceType": "bulkDelete", + "locations": [], + "apiVersions": [ + "2019-05-01", + "2019-04-01", + "2019-03-01", + "2018-11-01", + "2018-09-01", + "2018-08-01", + "2018-07-01", + "2018-05-01", + "2018-02-01", + "2018-01-01", + "2017-08-01", + "2017-06-01", + "2017-05-10", + "2017-05-01", + "2017-03-01", + "2016-09-01", + "2016-07-01", + "2016-06-01", + "2016-02-01", + "2015-11-01", + "2015-01-01", + "2014-04-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "deploymentScripts", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "SupportsTags, SupportsLocation" + }, + { + "resourceType": "deploymentScripts/logs", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "locations/deploymentScriptOperationResults", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Brazil South", + "Canada Central", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "Central India", + "South India", + "Japan East", + "Korea Central", + "North Europe", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US" + ], + "apiVersions": [ + "2020-10-01", + "2019-10-01-preview" + ], + "capabilities": "None" + }, + { + "resourceType": "templateSpecs", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Central", + "Australia Central 2", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "UK West", + "Central India", + "West India", + "South India", + "Japan East", + "Japan West", + "Korea Central", + "Korea South", + "North Europe", + "Norway East", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US", + "South Africa North" + ], + "apiVersions": [ + "2019-06-01-preview" + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + }, + { + "resourceType": "templateSpecs/versions", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Central", + "Australia Central 2", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "Switzerland North", + "Germany West Central", + "East US 2", + "East US", + "Central US", + "North Central US", + "France Central", + "UK South", + "UK West", + "Central India", + "West India", + "South India", + "Japan East", + "Japan West", + "Korea Central", + "Korea South", + "North Europe", + "Norway East", + "UAE North", + "West Central US", + "West Europe", + "West US 2", + "West US", + "South Central US", + "South Africa North" + ], + "apiVersions": [ + "2019-06-01-preview" + ], + "capabilities": "CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SupportsTags, SupportsLocation" + } + ], + "registrationState": "Registered", + "registrationPolicy": "RegistrationFree" + } + }, + { + "RequestUri": "https://management.azure.com/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-8970?api-version=2019-05-01", + "RequestMethod": "GET", + "RequestHeaders": { + "Accept": "application/json", + "Authorization": "Sanitized", + "User-Agent": [ + "azsdk-net-ResourceManager.Resources/1.0.0-preview.2", + "(.NET 5.0.4; Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020)" + ], + "x-ms-client-request-id": "f1035904dfab9470ec5c3517684ee155", + "x-ms-return-client-request-id": "true" + }, + "RequestBody": null, + "StatusCode": 200, + "ResponseHeaders": { + "Cache-Control": "no-cache", + "Content-Length": "237", + "Content-Type": "application/json; charset=utf-8", + "Date": "Fri, 26 Mar 2021 20:48:20 GMT", + "Expires": "-1", + "Pragma": "no-cache", + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "0bf83d7c-6d1d-4a03-9785-c52f0233bdbe", + "x-ms-ratelimit-remaining-subscription-reads": "11989", + "x-ms-request-id": "0bf83d7c-6d1d-4a03-9785-c52f0233bdbe", + "x-ms-routing-request-id": "WESTUS2:20210326T204820Z:0bf83d7c-6d1d-4a03-9785-c52f0233bdbe" + }, + "ResponseBody": { + "id": "/subscriptions/db1ab6f0-4769-4b27-930e-01e2ef9c123c/resourceGroups/testRg-8970", + "name": "testRg-8970", + "type": "Microsoft.Resources/resourceGroups", + "location": "southcentralus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded" + } + } + } + ], + "Variables": { + "RandomSeed": "1924798604", + "SUBSCRIPTION_ID": "db1ab6f0-4769-4b27-930e-01e2ef9c123c" + } +} \ No newline at end of file diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ApiVersionsBaseTests.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ApiVersionsBaseTests.cs index e528c05b8627..a2d4f59dba4f 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ApiVersionsBaseTests.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ApiVersionsBaseTests.cs @@ -10,7 +10,7 @@ public class ApiVersionsBaseTests public void VersionToString() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.AreEqual("2020-06-01", options.FakeRpApiVersions().FakeResourceVersion); + Assert.AreEqual("2020-06-01", options.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -19,7 +19,7 @@ public void EqualsOperator() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - Assert.IsTrue(options1.FakeRpApiVersions().FakeResourceVersion == options2.FakeRpApiVersions().FakeResourceVersion); + Assert.IsTrue(options1.FakeRestApiVersions().FakeResourceVersion == options2.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -27,7 +27,7 @@ public void EqualsOperatorString() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.IsTrue(FakeResourceApiVersions.Default == options.FakeRpApiVersions().FakeResourceVersion); + Assert.IsTrue(FakeResourceApiVersions.Default == options.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -35,7 +35,7 @@ public void EqualsOperatorStringFirstNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.IsFalse(null == options.FakeRpApiVersions().FakeResourceVersion); + Assert.IsFalse(null == options.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -43,7 +43,7 @@ public void EqualsOperatorStringSecondNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.IsFalse(options.FakeRpApiVersions().FakeResourceVersion == null); + Assert.IsFalse(options.FakeRestApiVersions().FakeResourceVersion == null); } [TestCase] @@ -60,7 +60,7 @@ public void NotEqualsOperator() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - Assert.IsFalse(options1.FakeRpApiVersions().FakeResourceVersion != options2.FakeRpApiVersions().FakeResourceVersion); + Assert.IsFalse(options1.FakeRestApiVersions().FakeResourceVersion != options2.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -68,7 +68,7 @@ public void NotEqualsOperatorStringFirstNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.IsTrue(null != options.FakeRpApiVersions().FakeResourceVersion); + Assert.IsTrue(null != options.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -76,7 +76,7 @@ public void NotEqualsOperatorStringSecondNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.IsTrue(options.FakeRpApiVersions().FakeResourceVersion != null); + Assert.IsTrue(options.FakeRestApiVersions().FakeResourceVersion != null); } [TestCase] @@ -93,7 +93,7 @@ public void EqualsMethod() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - Assert.IsTrue(options1.FakeRpApiVersions().FakeResourceVersion.Equals(options2.FakeRpApiVersions().FakeResourceVersion)); + Assert.IsTrue(options1.FakeRestApiVersions().FakeResourceVersion.Equals(options2.FakeRestApiVersions().FakeResourceVersion)); } [TestCase] @@ -101,7 +101,7 @@ public void EqualsMethodVersionNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); FakeResourceApiVersions version = null; - Assert.IsFalse(options.FakeRpApiVersions().FakeResourceVersion.Equals(version)); + Assert.IsFalse(options.FakeRestApiVersions().FakeResourceVersion.Equals(version)); } [TestCase] @@ -109,7 +109,7 @@ public void EqualsMethodStringNull() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); string version = null; - Assert.IsFalse(options.FakeRpApiVersions().FakeResourceVersion.Equals(version)); + Assert.IsFalse(options.FakeRestApiVersions().FakeResourceVersion.Equals(version)); } [TestCase] @@ -118,8 +118,8 @@ public void EqualsMethodAsObject() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - object obj = options2.FakeRpApiVersions().FakeResourceVersion; - Assert.IsTrue(options1.FakeRpApiVersions().FakeResourceVersion.Equals(obj)); + object obj = options2.FakeRestApiVersions().FakeResourceVersion; + Assert.IsTrue(options1.FakeRestApiVersions().FakeResourceVersion.Equals(obj)); } [TestCase] @@ -128,8 +128,8 @@ public void EqualsMethodAsObjectThatIsString() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - object obj = options2.FakeRpApiVersions().FakeResourceVersion.ToString(); - Assert.IsTrue(options1.FakeRpApiVersions().FakeResourceVersion.Equals(obj)); + object obj = options2.FakeRestApiVersions().FakeResourceVersion.ToString(); + Assert.IsTrue(options1.FakeRestApiVersions().FakeResourceVersion.Equals(obj)); } [TestCase] @@ -138,15 +138,15 @@ public void EqualsMethodAsObjectThatIsInt() AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); object obj = 1; - Assert.IsFalse(options.FakeRpApiVersions().FakeResourceVersion.Equals(obj)); + Assert.IsFalse(options.FakeRestApiVersions().FakeResourceVersion.Equals(obj)); } [TestCase] public void ImplicitToString() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - options.FakeRpApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; - string version = options.FakeRpApiVersions().FakeResourceVersion; + options.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; + string version = options.FakeRestApiVersions().FakeResourceVersion; Assert.IsTrue(version == "2019-12-01"); } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ArmClientOptionsTests.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ArmClientOptionsTests.cs index 51d5e44d3a08..235b23ef7c51 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ArmClientOptionsTests.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ArmClientOptionsTests.cs @@ -11,7 +11,7 @@ public class AzureResourceManagerClientOptionsTests public void VersionIsDefault() { AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); - Assert.AreEqual(FakeResourceApiVersions.Default, options.FakeRpApiVersions().FakeResourceVersion); + Assert.AreEqual(FakeResourceApiVersions.Default, options.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -20,9 +20,9 @@ public void MultiClientSeparateVersions() AzureResourceManagerClientOptions options1 = new AzureResourceManagerClientOptions(); AzureResourceManagerClientOptions options2 = new AzureResourceManagerClientOptions(); - options2.FakeRpApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; - Assert.AreEqual(FakeResourceApiVersions.Default, options1.FakeRpApiVersions().FakeResourceVersion); - Assert.AreEqual(FakeResourceApiVersions.V2019_12_01, options2.FakeRpApiVersions().FakeResourceVersion); + options2.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; + Assert.AreEqual(FakeResourceApiVersions.Default, options1.FakeRestApiVersions().FakeResourceVersion); + Assert.AreEqual(FakeResourceApiVersions.V2019_12_01, options2.FakeRestApiVersions().FakeResourceVersion); } [TestCase] @@ -34,5 +34,65 @@ public void TestClientOptionsParamCheck() var options = new AzureResourceManagerClientOptions(); Assert.Throws(() => { options.AddPolicy(null, HttpPipelinePosition.PerCall); }); } + + [TestCase] + public void VersionExist() + { + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + options.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; + string result = options.ApiVersions.TryGetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType); + Assert.NotNull(result); + } + + [TestCase] + public void VersionLoadedChanges() + { + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + options.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; + string result = options.ApiVersions.TryGetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType); + Assert.True(result.Equals(FakeResourceApiVersions.V2019_12_01)); + + options.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.Default; + result = options.ApiVersions.TryGetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType.ToString()); + Assert.True(result.Equals(FakeResourceApiVersions.Default)); + } + + [TestCase] + public void VersionsLoadedChangeSet() + { + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + options.ApiVersions.SetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType.ToString(), "2021-01-01-beta"); + string result = options.ApiVersions.TryGetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType.ToString()); + Assert.True(result.Equals("2021-01-01-beta")); + + options.FakeRestApiVersions().FakeResourceVersion = FakeResourceApiVersions.V2019_12_01; + result = options.ApiVersions.TryGetApiVersion(options.FakeRestApiVersions().FakeResourceVersion.ResourceType.ToString()); + Assert.True(result.Equals(FakeResourceApiVersions.V2019_12_01)); + } + + [TestCase] + public void VersionNonLoadedChanges() + { + var apiVersions = "2019-10-01"; + var providerName = "providers/Microsoft.Logic/LogicApps"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + options.ApiVersions.SetApiVersion(providerName, apiVersions); + string result = options.ApiVersions.TryGetApiVersion(providerName); + Assert.True(result.Equals(apiVersions)); + + apiVersions = "2021-02-01"; + options.ApiVersions.SetApiVersion(providerName, apiVersions); + result = options.ApiVersions.TryGetApiVersion(providerName); + Assert.True(result.Equals(apiVersions)); + } + + [TestCase] + public void TestKeyDoesNotExist() + { + var providerName = "providers/Microsoft.Logic/LogicApps"; + AzureResourceManagerClientOptions options = new AzureResourceManagerClientOptions(); + string result = options.ApiVersions.TryGetApiVersion(providerName); + Assert.Null(result); + } } } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ResourceListOperationsTest.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ResourceListOperationsTest.cs index 93f6b09cc04a..594d64f300eb 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ResourceListOperationsTest.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/ResourceListOperationsTest.cs @@ -4,6 +4,8 @@ using Azure.Identity; using Azure.ResourceManager.Resources.Models; using NUnit.Framework; +using System.Linq; +using System.Text.RegularExpressions; namespace Azure.ResourceManager.Core.Tests { @@ -124,14 +126,14 @@ private static GenericResourceExpanded GetGenereicResource( { var resource = new GenericResourceExpanded(); - // See TODO in GenericResourceOperations.Valide(). - // resource.Id = "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup"; resource.Location = location; resource.Tags.ReplaceWith(tags ?? new Dictionary()); resource.Sku = sku; resource.Plan = plan; resource.Kind = kind; resource.ManagedBy = managedBy; + var field = typeof(GenericResourceExpanded).BaseType.BaseType.GetField("k__BackingField", BindingFlags.Instance | BindingFlags.NonPublic); + field.SetValue(resource, "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup"); return resource; } } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/ArmClientOptionsExtensions.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/ArmClientOptionsExtensions.cs index fbced51f6a65..451a11967824 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/ArmClientOptionsExtensions.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/ArmClientOptionsExtensions.cs @@ -2,7 +2,7 @@ { public static class AzureResourceManagerClientOptionsExtensions { - public static FakeRpApiVersions FakeRpApiVersions(this AzureResourceManagerClientOptions AzureResourceManagerClientOptions) + public static FakeRpApiVersions FakeRestApiVersions(this AzureResourceManagerClientOptions AzureResourceManagerClientOptions) { return AzureResourceManagerClientOptions.GetOverrideObject(() => new FakeRpApiVersions()) as FakeRpApiVersions; } diff --git a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/FakeResourceApiVersions.cs b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/FakeResourceApiVersions.cs index 376a2d84b9a8..28e7481be2ef 100644 --- a/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/FakeResourceApiVersions.cs +++ b/sdk/resourcemanager/Azure.ResourceManager.Core/tests/Unit/RpImplementations/FakeResourceApiVersions.cs @@ -8,6 +8,7 @@ public class FakeResourceApiVersions : ApiVersionsBase public static readonly FakeResourceApiVersions V2019_12_01_preview_1 = new FakeResourceApiVersions("2019-12-01-preview-1"); public static readonly FakeResourceApiVersions V2019_12_01_foobar = new FakeResourceApiVersions("2019-12-01-foobar"); public static readonly FakeResourceApiVersions Default = V2020_06_01; + public override ResourceType ResourceType => "providers/Microsoft.fakedService/fakedApi"; private FakeResourceApiVersions(string value) : base(value) { } diff --git a/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/AvailabilitySetsApiVersions.cs b/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/AvailabilitySetsApiVersions.cs index 66c947505b17..f78d45cd10f5 100644 --- a/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/AvailabilitySetsApiVersions.cs +++ b/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/AvailabilitySetsApiVersions.cs @@ -10,7 +10,7 @@ public class AvailabilitySetsApiVersions : ApiVersionsBase /// /// Api version for 2020/05/01. /// - public static readonly AvailabilitySetsApiVersions V2020_05_01 = new AvailabilitySetsApiVersions("2020-05-01"); + public static readonly AvailabilitySetsApiVersions V2020_06_01 = new AvailabilitySetsApiVersions("2020-06-01"); /// /// Api version for 2019/12/01. @@ -20,7 +20,9 @@ public class AvailabilitySetsApiVersions : ApiVersionsBase /// /// Default api version to use. /// - public static readonly AvailabilitySetsApiVersions Default = V2020_05_01; + public static readonly AvailabilitySetsApiVersions Default = V2020_06_01; + + public override ResourceType ResourceType => AvailabilitySetOperations.ResourceType; private AvailabilitySetsApiVersions(string value) : base(value) { } diff --git a/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/VirtualMachinesApiVersions.cs b/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/VirtualMachinesApiVersions.cs index adbfffde2c61..e1e5b98c54d2 100644 --- a/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/VirtualMachinesApiVersions.cs +++ b/sdk/resourcemanager/Proto.Client/compute/VersionOverrides/VirtualMachinesApiVersions.cs @@ -22,6 +22,9 @@ public class VirtualMachinesApiVersions : ApiVersionsBase /// public static readonly VirtualMachinesApiVersions Default = V2020_06_01; + /// + public override ResourceType ResourceType => VirtualMachineOperations.ResourceType; + private VirtualMachinesApiVersions(string value) : base(value) { } /// diff --git a/sdk/resourcemanager/Proto.Client/src/Program.cs b/sdk/resourcemanager/Proto.Client/src/Program.cs index 94d2b0347958..8a34634baaf1 100644 --- a/sdk/resourcemanager/Proto.Client/src/Program.cs +++ b/sdk/resourcemanager/Proto.Client/src/Program.cs @@ -11,7 +11,7 @@ static void Main(string[] args) Scenario scenario = null; try { - scenario = ScenarioFactory.GetScenario(Scenarios.StartCreateSingleVmExampleAsync); + scenario = ScenarioFactory.GetScenario(Scenarios.GenericResourceOperationsExample); scenario.Execute(); } finally diff --git a/sdk/resourcemanager/Proto.Client/src/ScenarioFactory.cs b/sdk/resourcemanager/Proto.Client/src/ScenarioFactory.cs index c34695e0946b..afa100e1112b 100644 --- a/sdk/resourcemanager/Proto.Client/src/ScenarioFactory.cs +++ b/sdk/resourcemanager/Proto.Client/src/ScenarioFactory.cs @@ -39,7 +39,8 @@ enum Scenarios GetByContainersAsync, CheckResourceGroupOpsAsync, TenantResource, - CheckResourceGroupContainerAsync + CheckResourceGroupContainerAsync, + GenericResourceOperationsExample } class ScenarioFactory diff --git a/sdk/resourcemanager/Proto.Client/src/Scenarios/GenericResourcesOperationsExample.cs b/sdk/resourcemanager/Proto.Client/src/Scenarios/GenericResourcesOperationsExample.cs new file mode 100644 index 000000000000..a026133c4431 --- /dev/null +++ b/sdk/resourcemanager/Proto.Client/src/Scenarios/GenericResourcesOperationsExample.cs @@ -0,0 +1,33 @@ +using Azure.ResourceManager.Core; +using Proto.Compute; +using Proto.Network; +using System; +using Azure.Identity; + + +namespace Proto.Client +{ + class GenericResourceOperationsExample : Scenario + { + public override void Execute() + { + var client = new AzureResourceManagerClient(new DefaultAzureCredential()); + var rgOp = new AzureResourceManagerClient(new DefaultAzureCredential()).GetResourceGroupOperations(Context.SubscriptionId, Context.RgName); + var subscription = client.GetSubscriptionOperations(Context.SubscriptionId); + var resourceGroup = subscription.GetResourceGroupContainer().Construct(Context.Loc).CreateOrUpdate(Context.RgName).Value; + var aset = resourceGroup.GetAvailabilitySetContainer().Construct("Aligned").CreateOrUpdate(Context.VmName + "_aSet").Value; + string vnetName = Context.VmName + "_vnet"; + var vnet = resourceGroup.GetVirtualNetworkContainer().Construct("10.0.0.0/16").CreateOrUpdate(vnetName).Value; + foreach (var genericOp in rgOp.GetAvailabilitySetContainer().ListAsGenericResource(Context.VmName)) + { + genericOp.Get(); + } + + foreach (var genericOp in rgOp.GetVirtualNetworkContainer().ListAsGenericResource(Context.VmName)) + { + genericOp.Get(); + } + Console.WriteLine(subscription.ClientOptions.ApiVersions.TryGetApiVersion(VirtualNetwork.ResourceType)); + } + } +}