diff --git a/src/SDKs/Compute/Compute.Tests/Compute.Tests.csproj b/src/SDKs/Compute/Compute.Tests/Compute.Tests.csproj
index 4ba13557fd2ea..db8497de92037 100644
--- a/src/SDKs/Compute/Compute.Tests/Compute.Tests.csproj
+++ b/src/SDKs/Compute/Compute.Tests/Compute.Tests.csproj
@@ -13,7 +13,8 @@
-
+
+
diff --git a/src/SDKs/Compute/Compute.Tests/ContainerServiceTests/ContainerServiceUpdateTests.cs b/src/SDKs/Compute/Compute.Tests/ContainerServiceTests/ContainerServiceUpdateTests.cs
index 382e8565bb13f..6990d54114b41 100644
--- a/src/SDKs/Compute/Compute.Tests/ContainerServiceTests/ContainerServiceUpdateTests.cs
+++ b/src/SDKs/Compute/Compute.Tests/ContainerServiceTests/ContainerServiceUpdateTests.cs
@@ -57,7 +57,11 @@ public void TestContainerServiceUpdateOperations()
ValidateContainerService(inputContainerService, containerService);
var listResult = m_CrpClient.ContainerServices.ListByResourceGroup(rgName);
+#if NET46
+ Assert.True(listResult.Any(a => a.Name == containerService.Name));
+#else
Assert.Contains(listResult, a => a.Name == containerService.Name);
+#endif
m_CrpClient.ContainerServices.Delete(rgName, containerService.Name);
var listResultAfterDeletion = m_CrpClient.ContainerServices.ListByResourceGroup(rgName);
Assert.True(!listResultAfterDeletion.Any());
diff --git a/src/SDKs/Compute/Compute.Tests/Helpers/Helpers.cs b/src/SDKs/Compute/Compute.Tests/Helpers/Helpers.cs
index d3c2f87144886..861245c7f447c 100644
--- a/src/SDKs/Compute/Compute.Tests/Helpers/Helpers.cs
+++ b/src/SDKs/Compute/Compute.Tests/Helpers/Helpers.cs
@@ -71,7 +71,7 @@ private static List GetExpectedVirtualMachineSize(bool hasAZ
{
expectedVMSizePropertiesList.Add(new VirtualMachineSize()
{
- Name = "Standard_M64s",
+ Name = VirtualMachineSizeTypes.StandardM64s,
MemoryInMB = 1024000,
NumberOfCores = 64,
OsDiskSizeInMB = 1047552,
@@ -80,7 +80,7 @@ private static List GetExpectedVirtualMachineSize(bool hasAZ
});
expectedVMSizePropertiesList.Add(new VirtualMachineSize()
{
- Name = "Standard_M64-16ms",
+ Name = VirtualMachineSizeTypes.StandardM6416ms,
MemoryInMB = 1792000,
NumberOfCores = 64,
OsDiskSizeInMB = 1047552,
diff --git a/src/SDKs/Compute/Compute.Tests/ScenarioTests/HelpersTests.cs b/src/SDKs/Compute/Compute.Tests/ScenarioTests/HelpersTests.cs
index d8a8967b70fa8..0785f4e530727 100644
--- a/src/SDKs/Compute/Compute.Tests/ScenarioTests/HelpersTests.cs
+++ b/src/SDKs/Compute/Compute.Tests/ScenarioTests/HelpersTests.cs
@@ -12,7 +12,11 @@ public class HelpersTests
public void TestUtilityFunctions()
{
Assert.Equal("Compute.Tests.HelpersTests", this.GetType().FullName);
+#if NET46
+ Assert.Equal("TestUtilityFunctions", TestUtilities.GetCurrentMethodName(1));
+#else
Assert.Equal("TestUtilityFunctions", TestUtilities.GetCurrentMethodName());
+#endif
}
}
}
diff --git a/src/SDKs/Compute/Compute.Tests/ScenarioTests/LogAnalyticsTests.cs b/src/SDKs/Compute/Compute.Tests/ScenarioTests/LogAnalyticsTests.cs
new file mode 100644
index 0000000000000..91ff59f8e8f1f
--- /dev/null
+++ b/src/SDKs/Compute/Compute.Tests/ScenarioTests/LogAnalyticsTests.cs
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+using Microsoft.Azure.Management.Compute;
+using Microsoft.Azure.Management.Compute.Models;
+using Microsoft.Azure.Management.ResourceManager;
+using Microsoft.Azure.Management.Storage.Models;
+using Microsoft.Azure.Test.HttpRecorder;
+using Microsoft.Rest.ClientRuntime.Azure.TestFramework;
+using Microsoft.WindowsAzure.Storage;
+using Microsoft.WindowsAzure.Storage.Auth;
+using Microsoft.WindowsAzure.Storage.Blob;
+using System;
+using System.Linq;
+using Xunit;
+
+namespace Compute.Tests
+{
+ public class LogAnalyticsTests : VMTestBase
+ {
+ [Fact]
+ public void TestExportingThrottlingLogs()
+ {
+ using (MockContext context = MockContext.Start(this.GetType().FullName))
+ {
+ EnsureClientsInitialized(context);
+
+ string rg1Name = ComputeManagementTestUtilities.GenerateName(TestPrefix);
+
+ string storageAccountName = ComputeManagementTestUtilities.GenerateName(TestPrefix);
+
+ try
+ {
+ string sasUri = GetBlobContainerSasUri(rg1Name, storageAccountName);
+
+ RequestRateByIntervalInput requestRateByIntervalInput = new RequestRateByIntervalInput()
+ {
+ BlobContainerSasUri = sasUri,
+ FromTime = DateTime.UtcNow.AddDays(-10),
+ ToTime = DateTime.UtcNow.AddDays(-8),
+ IntervalLength = IntervalInMins.FiveMins,
+ };
+
+ LogAnalyticsOperationResult result = m_CrpClient.LogAnalytics.ExportRequestRateByInterval(requestRateByIntervalInput, "westcentralus");
+
+ Assert.Equal("Succeeded", result.Status);
+#if NET46
+ Assert.True(result.Properties.Output.EndsWith(".csv"));
+#else
+ Assert.EndsWith(".csv", result.Properties.Output);
+#endif
+
+ ThrottledRequestsInput throttledRequestsInput = new ThrottledRequestsInput()
+ {
+ BlobContainerSasUri = sasUri,
+ FromTime = DateTime.UtcNow.AddDays(-10),
+ ToTime = DateTime.UtcNow.AddDays(-8),
+ GroupByOperationName = true,
+ };
+
+ result = m_CrpClient.LogAnalytics.ExportThrottledRequests(throttledRequestsInput, "westcentralus");
+
+ Assert.Equal("Succeeded", result.Status);
+#if NET46
+ Assert.True(result.Properties.Output.EndsWith(".csv"));
+#else
+ Assert.EndsWith(".csv", result.Properties.Output);
+#endif
+ }
+ finally
+ {
+ m_ResourcesClient.ResourceGroups.Delete(rg1Name);
+ }
+ }
+ }
+
+ private string GetBlobContainerSasUri(string rg1Name, string storageAccountName)
+ {
+ string sasUri = "foobar";
+
+ if (HttpMockServer.Mode == HttpRecorderMode.Record)
+ {
+ StorageAccount storageAccountOutput = CreateStorageAccount(rg1Name, storageAccountName);
+ var accountKeyResult = m_SrpClient.StorageAccounts.ListKeysWithHttpMessagesAsync(rg1Name, storageAccountName).Result;
+ CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(storageAccountName, accountKeyResult.Body.Key1), useHttps: true);
+
+ var blobClient = storageAccount.CreateCloudBlobClient();
+ CloudBlobContainer container = blobClient.GetContainerReference("sascontainer");
+#if NET46
+ container.CreateIfNotExists();
+#else
+ container.CreateIfNotExistsAsync();
+#endif
+ sasUri = GetContainerSasUri(container);
+ }
+
+ return sasUri;
+ }
+
+ private string GetContainerSasUri(CloudBlobContainer container)
+ {
+ SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy();
+ sasConstraints.SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5);
+ sasConstraints.SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24);
+ sasConstraints.Permissions = SharedAccessBlobPermissions.Read | SharedAccessBlobPermissions.Write;
+
+ //Generate the shared access signature on the blob, setting the constraints directly on the signature.
+ string sasContainerToken = container.GetSharedAccessSignature(sasConstraints);
+
+ //Return the URI string for the container, including the SAS token.
+ return container.Uri + sasContainerToken;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/SDKs/Compute/Compute.Tests/ScenarioTests/OSProfileTests.cs b/src/SDKs/Compute/Compute.Tests/ScenarioTests/OSProfileTests.cs
index e8ee21ac55b8d..ce46976f5314d 100644
--- a/src/SDKs/Compute/Compute.Tests/ScenarioTests/OSProfileTests.cs
+++ b/src/SDKs/Compute/Compute.Tests/ScenarioTests/OSProfileTests.cs
@@ -127,11 +127,19 @@ private void ValidateWinRMCustomDataAndUnattendContent(string winRMCertificateUr
Assert.Null(listeners[0].CertificateUrl);
Assert.True(listeners[1].Protocol == ProtocolTypes.Https);
+#if NET46
+ Assert.True(listeners[1].CertificateUrl.Equals(winRMCertificateUrl, StringComparison.OrdinalIgnoreCase));
+#else
Assert.Equal(listeners[1].CertificateUrl, winRMCertificateUrl, ignoreCase: true);
+#endif
}
else if (listeners[0].Protocol == ProtocolTypes.Https)
{
+#if NET46
+ Assert.True(listeners[0].CertificateUrl.Equals(winRMCertificateUrl, StringComparison.OrdinalIgnoreCase));
+#else
Assert.Equal(listeners[0].CertificateUrl, winRMCertificateUrl, ignoreCase: true);
+#endif
Assert.True(listeners[1].Protocol == ProtocolTypes.Http);
Assert.Null(listeners[1].CertificateUrl);
diff --git a/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMScenarioTests.cs b/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMScenarioTests.cs
index 5f775bb6dad1a..8a1b2d7923251 100644
--- a/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMScenarioTests.cs
+++ b/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMScenarioTests.cs
@@ -57,7 +57,7 @@ public void TestVMScenarioOperations_ManagedDisks()
try
{
Environment.SetEnvironmentVariable("AZURE_VM_TEST_LOCATION", "eastus2");
- TestVMScenarioOperationsInternal("TestVMScenarioOperations_ManagedDisks", vmSize: "Standard_M64s", hasManagedDisks: true,
+ TestVMScenarioOperationsInternal("TestVMScenarioOperations_ManagedDisks", vmSize: VirtualMachineSizeTypes.StandardM64s, hasManagedDisks: true,
storageAccountType: StorageAccountTypes.PremiumLRS, writeAcceleratorEnabled: true);
}
finally
diff --git a/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMTestBase.cs b/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMTestBase.cs
index 8299581717b05..93b56e0c3a95d 100644
--- a/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMTestBase.cs
+++ b/src/SDKs/Compute/Compute.Tests/ScenarioTests/VMTestBase.cs
@@ -984,7 +984,11 @@ protected void ValidateVMInstanceView(VirtualMachine vmIn, VirtualMachineInstanc
private void ValidateVMInstanceView(VirtualMachineInstanceView vmInstanceView, bool hasManagedDisks = false, string osDiskName = null,
string expectedComputerName = null, string expectedOSName = null, string expectedOSVersion = null)
{
+#if NET46
+ Assert.True(vmInstanceView.Statuses.Any(s => !string.IsNullOrEmpty(s.Code)));
+#else
Assert.Contains(vmInstanceView.Statuses, s => !string.IsNullOrEmpty(s.Code));
+#endif
if (!hasManagedDisks)
{
@@ -993,7 +997,11 @@ private void ValidateVMInstanceView(VirtualMachineInstanceView vmInstanceView, b
if (osDiskName != null)
{
+#if NET46
+ Assert.True(vmInstanceView.Disks.Any(x => x.Name == osDiskName));
+#else
Assert.Contains(vmInstanceView.Disks, x => x.Name == osDiskName);
+#endif
}
DiskInstanceView diskInstanceView = vmInstanceView.Disks.First();
diff --git a/src/SDKs/Compute/Compute.Tests/SessionRecords/Compute.Tests.LogAnalyticsTests/TestExportingThrottlingLogs.json b/src/SDKs/Compute/Compute.Tests/SessionRecords/Compute.Tests.LogAnalyticsTests/TestExportingThrottlingLogs.json
new file mode 100644
index 0000000000000..c0d6a32af87ed
--- /dev/null
+++ b/src/SDKs/Compute/Compute.Tests/SessionRecords/Compute.Tests.LogAnalyticsTests/TestExportingThrottlingLogs.json
@@ -0,0 +1,926 @@
+{
+ "Entries": [
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourcegroups/crptestar1894?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlZ3JvdXBzL2NycHRlc3RhcjE4OTQ/YXBpLXZlcnNpb249MjAxNy0wNS0xMA==",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"SoutheastAsia\",\r\n \"tags\": {\r\n \"crptestar1894\": \"2018-01-31 01:53:16Z\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "99"
+ ],
+ "x-ms-client-request-id": [
+ "2e38d113-cd0d-4d3e-93ad-3f9db045846c"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894\",\r\n \"name\": \"crptestar1894\",\r\n \"location\": \"southeastasia\",\r\n \"tags\": {\r\n \"crptestar1894\": \"2018-01-31 01:53:16Z\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "234"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-request-id": [
+ "9df52277-8e8c-439e-aedd-e7d9a1deb56d"
+ ],
+ "x-ms-correlation-request-id": [
+ "9df52277-8e8c-439e-aedd-e7d9a1deb56d"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015319Z:9df52277-8e8c-439e-aedd-e7d9a1deb56d"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:53:18 GMT"
+ ]
+ },
+ "StatusCode": 201
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts/crptestar4227?api-version=2015-06-15",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlR3JvdXBzL2NycHRlc3RhcjE4OTQvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jcnB0ZXN0YXI0MjI3P2FwaS12ZXJzaW9uPTIwMTUtMDYtMTU=",
+ "RequestMethod": "PUT",
+ "RequestBody": "{\r\n \"location\": \"SoutheastAsia\",\r\n \"properties\": {\r\n \"accountType\": \"Standard_GRS\"\r\n }\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "95"
+ ],
+ "x-ms-client-request-id": [
+ "457e515f-08ce-406a-b0d3-572cb17ee64a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Storage.StorageManagementClient/4.1.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Content-Type": [
+ "text/plain; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "17"
+ ],
+ "x-ms-request-id": [
+ "c1b6db09-483e-4a34-94b3-633c53588a04"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "70660862-1ab6-4a63-b52e-758cbd799ef9"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015324Z:70660862-1ab6-4a63-b52e-758cbd799ef9"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:53:23 GMT"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Storage/locations/southeastasia/asyncoperations/c1b6db09-483e-4a34-94b3-633c53588a04?monitor=true&api-version=2015-06-15"
+ ],
+ "Server": [
+ "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Storage/locations/southeastasia/asyncoperations/c1b6db09-483e-4a34-94b3-633c53588a04?monitor=true&api-version=2015-06-15",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Byb3ZpZGVycy9NaWNyb3NvZnQuU3RvcmFnZS9sb2NhdGlvbnMvc291dGhlYXN0YXNpYS9hc3luY29wZXJhdGlvbnMvYzFiNmRiMDktNDgzZS00YTM0LTk0YjMtNjMzYzUzNTg4YTA0P21vbml0b3I9dHJ1ZSZhcGktdmVyc2lvbj0yMDE1LTA2LTE1",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Storage.StorageManagementClient/4.1.0-preview"
+ ]
+ },
+ "ResponseBody": "{\r\n \"location\": \"SoutheastAsia\",\r\n \"properties\": {\r\n \"accountType\": \"Standard_GRS\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "95"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "94adf0c0-004d-4d83-b500-0aa978a09ec8"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "680b2c15-efa2-4dc5-ac6a-10d18f0b6b68"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015354Z:680b2c15-efa2-4dc5-ac6a-10d18f0b6b68"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:53:54 GMT"
+ ],
+ "Server": [
+ "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts?api-version=2015-06-15",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlR3JvdXBzL2NycHRlc3RhcjE4OTQvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cz9hcGktdmVyc2lvbj0yMDE1LTA2LTE1",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-client-request-id": [
+ "f61c82ad-9c71-46f8-be9f-f3d367c645d2"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Storage.StorageManagementClient/4.1.0-preview"
+ ]
+ },
+ "ResponseBody": "{\r\n \"value\": [\r\n {\r\n \"id\": \"/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts/crptestar4227\",\r\n \"name\": \"crptestar4227\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"southeastasia\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"accountType\": \"Standard_GRS\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2018-01-31T01:53:22.6132489Z\",\r\n \"primaryEndpoints\": {\r\n \"blob\": \"https://crptestar4227.blob.core.windows.net/\",\r\n \"queue\": \"https://crptestar4227.queue.core.windows.net/\",\r\n \"table\": \"https://crptestar4227.table.core.windows.net/\",\r\n \"file\": \"https://crptestar4227.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"southeastasia\",\r\n \"statusOfPrimary\": \"available\",\r\n \"secondaryLocation\": \"eastasia\",\r\n \"statusOfSecondary\": \"available\"\r\n }\r\n }\r\n ]\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "752"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "e0165e40-3a29-4c10-96d0-598cd4036f4a"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-correlation-request-id": [
+ "daed92eb-c7d3-4e24-8870-9c189034f58d"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015405Z:daed92eb-c7d3-4e24-8870-9c189034f58d"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:54:04 GMT"
+ ],
+ "Server": [
+ "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts/crptestar4227?api-version=2015-06-15",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlR3JvdXBzL2NycHRlc3RhcjE4OTQvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jcnB0ZXN0YXI0MjI3P2FwaS12ZXJzaW9uPTIwMTUtMDYtMTU=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-client-request-id": [
+ "ff7f1ace-7e4f-460b-82b3-3f30fd19cfe0"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Storage.StorageManagementClient/4.1.0-preview"
+ ]
+ },
+ "ResponseBody": "{\r\n \"id\": \"/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts/crptestar4227\",\r\n \"name\": \"crptestar4227\",\r\n \"type\": \"Microsoft.Storage/storageAccounts\",\r\n \"location\": \"southeastasia\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"accountType\": \"Standard_GRS\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"creationTime\": \"2018-01-31T01:53:22.6132489Z\",\r\n \"primaryEndpoints\": {\r\n \"blob\": \"https://crptestar4227.blob.core.windows.net/\",\r\n \"queue\": \"https://crptestar4227.queue.core.windows.net/\",\r\n \"table\": \"https://crptestar4227.table.core.windows.net/\",\r\n \"file\": \"https://crptestar4227.file.core.windows.net/\"\r\n },\r\n \"primaryLocation\": \"southeastasia\",\r\n \"statusOfPrimary\": \"available\",\r\n \"secondaryLocation\": \"eastasia\",\r\n \"statusOfSecondary\": \"available\"\r\n }\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "740"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "13640525-ab4c-419a-9417-7412a7232a39"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-correlation-request-id": [
+ "e5001ac5-7eb1-4ace-a9db-38c2aa8e7d28"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015405Z:e5001ac5-7eb1-4ace-a9db-38c2aa8e7d28"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:54:04 GMT"
+ ],
+ "Server": [
+ "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourceGroups/crptestar1894/providers/Microsoft.Storage/storageAccounts/crptestar4227/listKeys?api-version=2015-06-15",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlR3JvdXBzL2NycHRlc3RhcjE4OTQvcHJvdmlkZXJzL01pY3Jvc29mdC5TdG9yYWdlL3N0b3JhZ2VBY2NvdW50cy9jcnB0ZXN0YXI0MjI3L2xpc3RLZXlzP2FwaS12ZXJzaW9uPTIwMTUtMDYtMTU=",
+ "RequestMethod": "POST",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-client-request-id": [
+ "e11b5c08-871e-431f-b052-043763f9b98a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Storage.StorageManagementClient/4.1.0-preview"
+ ]
+ },
+ "ResponseBody": "{\r\n \"key1\": \"key1value\",\r\n \"key2\": \"key2value\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "197"
+ ],
+ "Content-Type": [
+ "application/json"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-request-id": [
+ "fd5d20c0-c56e-4b8e-bf39-a74c14e3549c"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1198"
+ ],
+ "x-ms-correlation-request-id": [
+ "7390ba8b-4c2b-4118-8719-3a97733406a9"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015405Z:7390ba8b-4c2b-4118-8719-3a97733406a9"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:54:05 GMT"
+ ],
+ "Server": [
+ "Microsoft-Azure-Storage-Resource-Provider/1.0,Microsoft-HTTPAPI/2.0 Microsoft-HTTPAPI/2.0"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/logAnalytics/apiAccess/getRequestRateByInterval?api-version=2017-12-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9sb2NhdGlvbnMvd2VzdGNlbnRyYWx1cy9sb2dBbmFseXRpY3MvYXBpQWNjZXNzL2dldFJlcXVlc3RSYXRlQnlJbnRlcnZhbD9hcGktdmVyc2lvbj0yMDE3LTEyLTAx",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"intervalLength\": \"FiveMins\",\r\n \"blobContainerSasUri\": \"foobar\",\r\n \"fromTime\": \"2018-01-21T01:54:06.862601Z\",\r\n \"toTime\": \"2018-01-23T01:54:06.862601Z\"\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "346"
+ ],
+ "x-ms-client-request-id": [
+ "bab57f8e-e59a-4141-a20f-a379b2a2b980"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Compute.ComputeManagementClient/1.0.1720.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Azure-AsyncOperation": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/8eb1169a-5cf9-46b1-aadf-41e4f60692df?api-version=2017-12-01"
+ ],
+ "x-ms-ratelimit-remaining-resource": [
+ "Microsoft.Compute/GetLogAnalytics3Min;9,Microsoft.Compute/GetLogAnalytics30Min;49"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-served-by": [
+ "2be8e138-3223-4141-af48-5163dbafa559_131583624725392952"
+ ],
+ "x-ms-request-id": [
+ "8eb1169a-5cf9-46b1-aadf-41e4f60692df"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/8eb1169a-5cf9-46b1-aadf-41e4f60692df?monitor=true&api-version=2017-12-01"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "8ee1fe19-68c7-4238-acb6-645991223d99"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015415Z:8ee1fe19-68c7-4238-acb6-645991223d99"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:54:15 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/8eb1169a-5cf9-46b1-aadf-41e4f60692df?api-version=2017-12-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9sb2NhdGlvbnMvd2VzdGNlbnRyYWx1cy9vcGVyYXRpb25zLzhlYjExNjlhLTVjZjktNDZiMS1hYWRmLTQxZTRmNjA2OTJkZj9hcGktdmVyc2lvbj0yMDE3LTEyLTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Compute.ComputeManagementClient/1.0.1720.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"startTime\": \"2018-01-30T17:54:14.8806951-08:00\",\r\n \"endTime\": \"2018-01-30T17:54:17.5832413-08:00\",\r\n \"status\": \"Succeeded\",\r\n \"properties\": {\r\n \"output\": \"https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv\"\r\n },\r\n \"name\": \"8eb1169a-5cf9-46b1-aadf-41e4f60692df\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "341"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-resource": [
+ "Microsoft.Compute/GetOperation3Min;11999,Microsoft.Compute/GetOperation30Min;23999"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-served-by": [
+ "2be8e138-3223-4141-af48-5163dbafa559_131583624725392952"
+ ],
+ "x-ms-request-id": [
+ "76716785-e165-4e0d-9d4a-68d6d9281efe"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "155b4de6-f602-466f-85a6-ba0a6160909a"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015446Z:155b4de6-f602-466f-85a6-ba0a6160909a"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:54:45 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/logAnalytics/apiAccess/getThrottledRequests?api-version=2017-12-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9sb2NhdGlvbnMvd2VzdGNlbnRyYWx1cy9sb2dBbmFseXRpY3MvYXBpQWNjZXNzL2dldFRocm90dGxlZFJlcXVlc3RzP2FwaS12ZXJzaW9uPTIwMTctMTItMDE=",
+ "RequestMethod": "POST",
+ "RequestBody": "{\r\n \"intervalLength\": \"FiveMins\",\r\n \"blobContainerSasUri\": \"foobar\",\r\n \"fromTime\": \"2018-01-21T01:54:46.1027147Z\",\r\n \"toTime\": \"2018-01-23T01:54:46.1027147Z\",\r\n \"groupByOperationName\": true\r\n}",
+ "RequestHeaders": {
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "381"
+ ],
+ "x-ms-client-request-id": [
+ "b4d3ee67-3ff9-4219-b6df-6b0c2b4ce24b"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Compute.ComputeManagementClient/1.0.1720.0"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Azure-AsyncOperation": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/fd11914f-6ff8-46cc-8953-7ad3ae2feeb9?api-version=2017-12-01"
+ ],
+ "x-ms-ratelimit-remaining-resource": [
+ "Microsoft.Compute/GetLogAnalytics3Min;8,Microsoft.Compute/GetLogAnalytics30Min;48"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-served-by": [
+ "2be8e138-3223-4141-af48-5163dbafa559_131583624725392952"
+ ],
+ "x-ms-request-id": [
+ "fd11914f-6ff8-46cc-8953-7ad3ae2feeb9"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/fd11914f-6ff8-46cc-8953-7ad3ae2feeb9?monitor=true&api-version=2017-12-01"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-correlation-request-id": [
+ "8bfd2dcc-81cb-496c-8f07-f71c3c000fbc"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015639Z:8bfd2dcc-81cb-496c-8f07-f71c3c000fbc"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:56:38 GMT"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/providers/Microsoft.Compute/locations/westcentralus/operations/fd11914f-6ff8-46cc-8953-7ad3ae2feeb9?api-version=2017-12-01",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9sb2NhdGlvbnMvd2VzdGNlbnRyYWx1cy9vcGVyYXRpb25zL2ZkMTE5MTRmLTZmZjgtNDZjYy04OTUzLTdhZDNhZTJmZWViOT9hcGktdmVyc2lvbj0yMDE3LTEyLTAx",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.Compute.ComputeManagementClient/1.0.1720.0"
+ ]
+ },
+ "ResponseBody": "{\r\n \"startTime\": \"2018-01-30T17:56:38.0073539-08:00\",\r\n \"endTime\": \"2018-01-30T17:56:38.991547-08:00\",\r\n \"status\": \"Succeeded\",\r\n \"properties\": {\r\n \"output\": \"https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv\"\r\n },\r\n \"name\": \"fd11914f-6ff8-46cc-8953-7ad3ae2feeb9\"\r\n}",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "336"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-resource": [
+ "Microsoft.Compute/GetOperation3Min;11998,Microsoft.Compute/GetOperation30Min;23998"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "x-ms-served-by": [
+ "2be8e138-3223-4141-af48-5163dbafa559_131583624725392952"
+ ],
+ "x-ms-request-id": [
+ "4925079f-8a7c-49e5-aafa-cb81d924d456"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Server": [
+ "Microsoft-HTTPAPI/2.0",
+ "Microsoft-HTTPAPI/2.0"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-correlation-request-id": [
+ "9bd7a573-7c5a-497e-8e93-ef8df8cde625"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015716Z:9bd7a573-7c5a-497e-8e93-ef8df8cde625"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:57:16 GMT"
+ ]
+ },
+ "StatusCode": 200
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/resourcegroups/crptestar1894?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL3Jlc291cmNlZ3JvdXBzL2NycHRlc3RhcjE4OTQ/YXBpLXZlcnNpb249MjAxNy0wNS0xMA==",
+ "RequestMethod": "DELETE",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "x-ms-client-request-id": [
+ "795db7a7-acaa-41ea-b7cd-172164858fd6"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-writes": [
+ "1199"
+ ],
+ "x-ms-request-id": [
+ "d4927727-be58-4d2d-8d63-6228da7e13ba"
+ ],
+ "x-ms-correlation-request-id": [
+ "d4927727-be58-4d2d-8d63-6228da7e13ba"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015858Z:d4927727-be58-4d2d-8d63-6228da7e13ba"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:58:58 GMT"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFEVWxCVVJWTlVRVkl4T0RrMExWTlBWVlJJUlVGVFZFRlRTVUVpTENKcWIySk1iMk5oZEdsdmJpSTZJbk52ZFhSb1pXRnpkR0Z6YVdFaWZRP2FwaS12ZXJzaW9uPTIwMTctMDUtMTA=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14999"
+ ],
+ "x-ms-request-id": [
+ "a9d0c527-9112-45e2-9d33-b85c3dbf62a2"
+ ],
+ "x-ms-correlation-request-id": [
+ "a9d0c527-9112-45e2-9d33-b85c3dbf62a2"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015929Z:a9d0c527-9112-45e2-9d33-b85c3dbf62a2"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:59:28 GMT"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFEVWxCVVJWTlVRVkl4T0RrMExWTlBWVlJJUlVGVFZFRlRTVUVpTENKcWIySk1iMk5oZEdsdmJpSTZJbk52ZFhSb1pXRnpkR0Z6YVdFaWZRP2FwaS12ZXJzaW9uPTIwMTctMDUtMTA=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14998"
+ ],
+ "x-ms-request-id": [
+ "b0b5f7c2-fe2f-4f3a-bf69-82c0e95fc7ae"
+ ],
+ "x-ms-correlation-request-id": [
+ "b0b5f7c2-fe2f-4f3a-bf69-82c0e95fc7ae"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T015959Z:b0b5f7c2-fe2f-4f3a-bf69-82c0e95fc7ae"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 01:59:59 GMT"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFEVWxCVVJWTlVRVkl4T0RrMExWTlBWVlJJUlVGVFZFRlRTVUVpTENKcWIySk1iMk5oZEdsdmJpSTZJbk52ZFhSb1pXRnpkR0Z6YVdFaWZRP2FwaS12ZXJzaW9uPTIwMTctMDUtMTA=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "Retry-After": [
+ "15"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14997"
+ ],
+ "x-ms-request-id": [
+ "c4c3b6f3-9420-491f-b6ab-a2b713c1af17"
+ ],
+ "x-ms-correlation-request-id": [
+ "c4c3b6f3-9420-491f-b6ab-a2b713c1af17"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T020030Z:c4c3b6f3-9420-491f-b6ab-a2b713c1af17"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 02:00:29 GMT"
+ ],
+ "Location": [
+ "https://management.azure.com/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10"
+ ]
+ },
+ "StatusCode": 202
+ },
+ {
+ "RequestUri": "/subscriptions/24fb23e3-6ba3-41f0-9b6e-e41131d5d61e/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1DUlBURVNUQVIxODk0LVNPVVRIRUFTVEFTSUEiLCJqb2JMb2NhdGlvbiI6InNvdXRoZWFzdGFzaWEifQ?api-version=2017-05-10",
+ "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvMjRmYjIzZTMtNmJhMy00MWYwLTliNmUtZTQxMTMxZDVkNjFlL29wZXJhdGlvbnJlc3VsdHMvZXlKcWIySkpaQ0k2SWxKRlUwOVZVa05GUjFKUFZWQkVSVXhGVkVsUFRrcFBRaTFEVWxCVVJWTlVRVkl4T0RrMExWTlBWVlJJUlVGVFZFRlRTVUVpTENKcWIySk1iMk5oZEdsdmJpSTZJbk52ZFhSb1pXRnpkR0Z6YVdFaWZRP2FwaS12ZXJzaW9uPTIwMTctMDUtMTA=",
+ "RequestMethod": "GET",
+ "RequestBody": "",
+ "RequestHeaders": {
+ "User-Agent": [
+ "FxVersion/4.7.2600.0",
+ "OSName/Windows_10_Enterprise",
+ "OSVersion/6.3.16299",
+ "Microsoft.Azure.Management.ResourceManager.ResourceManagementClient/1.6.0-preview"
+ ]
+ },
+ "ResponseBody": "",
+ "ResponseHeaders": {
+ "Content-Length": [
+ "0"
+ ],
+ "Expires": [
+ "-1"
+ ],
+ "Pragma": [
+ "no-cache"
+ ],
+ "x-ms-ratelimit-remaining-subscription-reads": [
+ "14996"
+ ],
+ "x-ms-request-id": [
+ "cac282e9-b32e-49ab-8695-e6cf84dd8b28"
+ ],
+ "x-ms-correlation-request-id": [
+ "cac282e9-b32e-49ab-8695-e6cf84dd8b28"
+ ],
+ "x-ms-routing-request-id": [
+ "WESTUS2:20180131T020100Z:cac282e9-b32e-49ab-8695-e6cf84dd8b28"
+ ],
+ "Strict-Transport-Security": [
+ "max-age=31536000; includeSubDomains"
+ ],
+ "Cache-Control": [
+ "no-cache"
+ ],
+ "Date": [
+ "Wed, 31 Jan 2018 02:01:00 GMT"
+ ]
+ },
+ "StatusCode": 200
+ }
+ ],
+ "Names": {
+ "TestExportingThrottlingLogs": [
+ "crptestar1894",
+ "crptestar4227"
+ ]
+ },
+ "Variables": {
+ "SubscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e"
+ }
+}
\ No newline at end of file
diff --git a/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetServiceFabricScenarioTests.cs b/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetServiceFabricScenarioTests.cs
index fe54578d28be4..887fbb6016ffd 100644
--- a/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetServiceFabricScenarioTests.cs
+++ b/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetServiceFabricScenarioTests.cs
@@ -33,6 +33,26 @@ private void TestVMScaleSetServiceFabricImpl(MockContext context)
string vmssName = "crptesthtn39hve";
var response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 0);
+
+#if NET46
+ Assert.True((bool) response.WalkPerformed);
+ Assert.Equal(1, response.NextPlatformUpdateDomain);
+ response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 1);
+ Assert.True((bool) response.WalkPerformed);
+ Assert.Equal(2, response.NextPlatformUpdateDomain);
+ response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 2);
+ Assert.True((bool) response.WalkPerformed);
+ Assert.Equal(3, response.NextPlatformUpdateDomain);
+ response= m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 3);
+ Assert.True ((bool) response.WalkPerformed);
+ Assert.Equal(4, response.NextPlatformUpdateDomain);
+ response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 4);
+ Assert.True((bool) response.WalkPerformed);
+ Assert.Equal(5, response.NextPlatformUpdateDomain);
+ response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 5);
+ Assert.True((bool) response.WalkPerformed);
+ Assert.Null(response.NextPlatformUpdateDomain);
+#else
Assert.True(response.WalkPerformed);
Assert.Equal(1, response.NextPlatformUpdateDomain);
response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 1);
@@ -50,6 +70,7 @@ private void TestVMScaleSetServiceFabricImpl(MockContext context)
response = m_CrpClient.VirtualMachineScaleSets.ForceRecoveryServiceFabricPlatformUpdateDomainWalk(rgName, vmssName, 5);
Assert.True(response.WalkPerformed);
Assert.Null(response.NextPlatformUpdateDomain);
+#endif
}
}
}
diff --git a/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetVMTestsBase.cs b/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetVMTestsBase.cs
index 23d4ec7b54f43..5da3685673d50 100644
--- a/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetVMTestsBase.cs
+++ b/src/SDKs/Compute/Compute.Tests/VMScaleSetTests/VMScaleSetVMTestsBase.cs
@@ -73,7 +73,11 @@ protected void ValidateVMScaleSetVM(VirtualMachineScaleSetVM vmScaleSetVM, strin
protected void ValidateVMScaleSetVMInstanceView(VirtualMachineScaleSetVMInstanceView vmScaleSetVMInstanceView, bool hasManagedDisks = false)
{
Assert.NotNull(vmScaleSetVMInstanceView);
+#if NET46
+ Assert.True(vmScaleSetVMInstanceView.Statuses.Any(s => !string.IsNullOrEmpty(s.Code)));
+#else
Assert.Contains(vmScaleSetVMInstanceView.Statuses, s => !string.IsNullOrEmpty(s.Code));
+#endif
if (!hasManagedDisks)
{
diff --git a/src/SDKs/Compute/Management.Compute/Generated/ComputeManagementClient.cs b/src/SDKs/Compute/Management.Compute/Generated/ComputeManagementClient.cs
index 07c3df51a3fdc..2839f98db8338 100644
--- a/src/SDKs/Compute/Management.Compute/Generated/ComputeManagementClient.cs
+++ b/src/SDKs/Compute/Management.Compute/Generated/ComputeManagementClient.cs
@@ -130,6 +130,11 @@ public partial class ComputeManagementClient : ServiceClient
public virtual IVirtualMachineScaleSetVMsOperations VirtualMachineScaleSetVMs { get; private set; }
+ ///
+ /// Gets the ILogAnalyticsOperations.
+ ///
+ public virtual ILogAnalyticsOperations LogAnalytics { get; private set; }
+
///
/// Gets the IVirtualMachineRunCommandsOperations.
///
@@ -368,6 +373,7 @@ private void Initialize()
VirtualMachineScaleSetExtensions = new VirtualMachineScaleSetExtensionsOperations(this);
VirtualMachineScaleSetRollingUpgrades = new VirtualMachineScaleSetRollingUpgradesOperations(this);
VirtualMachineScaleSetVMs = new VirtualMachineScaleSetVMsOperations(this);
+ LogAnalytics = new LogAnalyticsOperations(this);
VirtualMachineRunCommands = new VirtualMachineRunCommandsOperations(this);
ResourceSkus = new ResourceSkusOperations(this);
Disks = new DisksOperations(this);
diff --git a/src/SDKs/Compute/Management.Compute/Generated/IComputeManagementClient.cs b/src/SDKs/Compute/Management.Compute/Generated/IComputeManagementClient.cs
index 0097ff1831a67..84843d523f21a 100644
--- a/src/SDKs/Compute/Management.Compute/Generated/IComputeManagementClient.cs
+++ b/src/SDKs/Compute/Management.Compute/Generated/IComputeManagementClient.cs
@@ -125,6 +125,11 @@ public partial interface IComputeManagementClient : System.IDisposable
///
IVirtualMachineScaleSetVMsOperations VirtualMachineScaleSetVMs { get; }
+ ///
+ /// Gets the ILogAnalyticsOperations.
+ ///
+ ILogAnalyticsOperations LogAnalytics { get; }
+
///
/// Gets the IVirtualMachineRunCommandsOperations.
///
diff --git a/src/SDKs/Compute/Management.Compute/Generated/ILogAnalyticsOperations.cs b/src/SDKs/Compute/Management.Compute/Generated/ILogAnalyticsOperations.cs
new file mode 100644
index 0000000000000..ab57fceb0ef6a
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/ILogAnalyticsOperations.cs
@@ -0,0 +1,133 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// LogAnalyticsOperations operations.
+ ///
+ public partial interface ILogAnalyticsOperations
+ {
+ ///
+ /// Export logs that show Api requests made by this subscription in the
+ /// given time window to show throttling activities.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval
+ /// Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> ExportRequestRateByIntervalWithHttpMessagesAsync(RequestRateByIntervalInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Export logs that show total throttled Api requests for this
+ /// subscription in the given time window.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> ExportThrottledRequestsWithHttpMessagesAsync(ThrottledRequestsInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Export logs that show Api requests made by this subscription in the
+ /// given time window to show throttling activities.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval
+ /// Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginExportRequestRateByIntervalWithHttpMessagesAsync(RequestRateByIntervalInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ ///
+ /// Export logs that show total throttled Api requests for this
+ /// subscription in the given time window.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ Task> BeginExportThrottledRequestsWithHttpMessagesAsync(ThrottledRequestsInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken));
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperations.cs b/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperations.cs
new file mode 100644
index 0000000000000..25a889af90988
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperations.cs
@@ -0,0 +1,522 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using Newtonsoft.Json;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Linq;
+ using System.Net;
+ using System.Net.Http;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// LogAnalyticsOperations operations.
+ ///
+ internal partial class LogAnalyticsOperations : IServiceOperations, ILogAnalyticsOperations
+ {
+ ///
+ /// Initializes a new instance of the LogAnalyticsOperations class.
+ ///
+ ///
+ /// Reference to the service client.
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ internal LogAnalyticsOperations(ComputeManagementClient client)
+ {
+ if (client == null)
+ {
+ throw new System.ArgumentNullException("client");
+ }
+ Client = client;
+ }
+
+ ///
+ /// Gets a reference to the ComputeManagementClient
+ ///
+ public ComputeManagementClient Client { get; private set; }
+
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task> ExportRequestRateByIntervalWithHttpMessagesAsync(RequestRateByIntervalInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send request
+ AzureOperationResponse _response = await BeginExportRequestRateByIntervalWithHttpMessagesAsync(parameters, location, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public async Task> ExportThrottledRequestsWithHttpMessagesAsync(ThrottledRequestsInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ // Send request
+ AzureOperationResponse _response = await BeginExportThrottledRequestsWithHttpMessagesAsync(parameters, location, customHeaders, cancellationToken).ConfigureAwait(false);
+ return await Client.GetPostOrDeleteOperationResultAsync(_response, customHeaders, cancellationToken).ConfigureAwait(false);
+ }
+
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> BeginExportRequestRateByIntervalWithHttpMessagesAsync(RequestRateByIntervalInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (parameters == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "parameters");
+ }
+ if (parameters != null)
+ {
+ parameters.Validate();
+ }
+ if (location == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "location");
+ }
+ if (location != null)
+ {
+ if (!System.Text.RegularExpressions.Regex.IsMatch(location, "^[-\\w\\._]+$"))
+ {
+ throw new ValidationException(ValidationRules.Pattern, "location", "^[-\\w\\._]+$");
+ }
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ string apiVersion = "2017-12-01";
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("parameters", parameters);
+ tracingParameters.Add("location", location);
+ tracingParameters.Add("apiVersion", apiVersion);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "BeginExportRequestRateByInterval", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval").ToString();
+ _url = _url.Replace("{location}", System.Uri.EscapeDataString(location));
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ List _queryParameters = new List();
+ if (apiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(parameters != null)
+ {
+ _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200 && (int)_statusCode != 202)
+ {
+ var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex = new CloudException(_errorBody.Message);
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// Headers that will be added to request.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ ///
+ /// Thrown when the operation returned an invalid status code
+ ///
+ ///
+ /// Thrown when unable to deserialize the response
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// Thrown when a required parameter is null
+ ///
+ ///
+ /// A response object containing the response body and response headers.
+ ///
+ public async Task> BeginExportThrottledRequestsWithHttpMessagesAsync(ThrottledRequestsInput parameters, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ if (parameters == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "parameters");
+ }
+ if (parameters != null)
+ {
+ parameters.Validate();
+ }
+ if (location == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "location");
+ }
+ if (location != null)
+ {
+ if (!System.Text.RegularExpressions.Regex.IsMatch(location, "^[-\\w\\._]+$"))
+ {
+ throw new ValidationException(ValidationRules.Pattern, "location", "^[-\\w\\._]+$");
+ }
+ }
+ if (Client.SubscriptionId == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionId");
+ }
+ string apiVersion = "2017-12-01";
+ // Tracing
+ bool _shouldTrace = ServiceClientTracing.IsEnabled;
+ string _invocationId = null;
+ if (_shouldTrace)
+ {
+ _invocationId = ServiceClientTracing.NextInvocationId.ToString();
+ Dictionary tracingParameters = new Dictionary();
+ tracingParameters.Add("parameters", parameters);
+ tracingParameters.Add("location", location);
+ tracingParameters.Add("apiVersion", apiVersion);
+ tracingParameters.Add("cancellationToken", cancellationToken);
+ ServiceClientTracing.Enter(_invocationId, this, "BeginExportThrottledRequests", tracingParameters);
+ }
+ // Construct URL
+ var _baseUrl = Client.BaseUri.AbsoluteUri;
+ var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests").ToString();
+ _url = _url.Replace("{location}", System.Uri.EscapeDataString(location));
+ _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(Client.SubscriptionId));
+ List _queryParameters = new List();
+ if (apiVersion != null)
+ {
+ _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion)));
+ }
+ if (_queryParameters.Count > 0)
+ {
+ _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters);
+ }
+ // Create HTTP transport objects
+ var _httpRequest = new HttpRequestMessage();
+ HttpResponseMessage _httpResponse = null;
+ _httpRequest.Method = new HttpMethod("POST");
+ _httpRequest.RequestUri = new System.Uri(_url);
+ // Set Headers
+ if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value)
+ {
+ _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString());
+ }
+ if (Client.AcceptLanguage != null)
+ {
+ if (_httpRequest.Headers.Contains("accept-language"))
+ {
+ _httpRequest.Headers.Remove("accept-language");
+ }
+ _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage);
+ }
+
+
+ if (customHeaders != null)
+ {
+ foreach(var _header in customHeaders)
+ {
+ if (_httpRequest.Headers.Contains(_header.Key))
+ {
+ _httpRequest.Headers.Remove(_header.Key);
+ }
+ _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value);
+ }
+ }
+
+ // Serialize Request
+ string _requestContent = null;
+ if(parameters != null)
+ {
+ _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, Client.SerializationSettings);
+ _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8);
+ _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8");
+ }
+ // Set Credentials
+ if (Client.Credentials != null)
+ {
+ cancellationToken.ThrowIfCancellationRequested();
+ await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ }
+ // Send Request
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.SendRequest(_invocationId, _httpRequest);
+ }
+ cancellationToken.ThrowIfCancellationRequested();
+ _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false);
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse);
+ }
+ HttpStatusCode _statusCode = _httpResponse.StatusCode;
+ cancellationToken.ThrowIfCancellationRequested();
+ string _responseContent = null;
+ if ((int)_statusCode != 200 && (int)_statusCode != 202)
+ {
+ var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode));
+ try
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ if (_errorBody != null)
+ {
+ ex = new CloudException(_errorBody.Message);
+ ex.Body = _errorBody;
+ }
+ }
+ catch (JsonException)
+ {
+ // Ignore the exception
+ }
+ ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent);
+ ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent);
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Error(_invocationId, ex);
+ }
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw ex;
+ }
+ // Create Result
+ var _result = new AzureOperationResponse();
+ _result.Request = _httpRequest;
+ _result.Response = _httpResponse;
+ if (_httpResponse.Headers.Contains("x-ms-request-id"))
+ {
+ _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault();
+ }
+ // Deserialize Response
+ if ((int)_statusCode == 200)
+ {
+ _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false);
+ try
+ {
+ _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings);
+ }
+ catch (JsonException ex)
+ {
+ _httpRequest.Dispose();
+ if (_httpResponse != null)
+ {
+ _httpResponse.Dispose();
+ }
+ throw new SerializationException("Unable to deserialize the response.", _responseContent, ex);
+ }
+ }
+ if (_shouldTrace)
+ {
+ ServiceClientTracing.Exit(_invocationId, _result);
+ }
+ return _result;
+ }
+
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperationsExtensions.cs b/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperationsExtensions.cs
new file mode 100644
index 0000000000000..de07f1b3d5fde
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/LogAnalyticsOperationsExtensions.cs
@@ -0,0 +1,193 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute
+{
+ using Microsoft.Rest;
+ using Microsoft.Rest.Azure;
+ using Models;
+ using System.Threading;
+ using System.Threading.Tasks;
+
+ ///
+ /// Extension methods for LogAnalyticsOperations.
+ ///
+ public static partial class LogAnalyticsOperationsExtensions
+ {
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ public static LogAnalyticsOperationResult ExportRequestRateByInterval(this ILogAnalyticsOperations operations, RequestRateByIntervalInput parameters, string location)
+ {
+ return operations.ExportRequestRateByIntervalAsync(parameters, location).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task ExportRequestRateByIntervalAsync(this ILogAnalyticsOperations operations, RequestRateByIntervalInput parameters, string location, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ExportRequestRateByIntervalWithHttpMessagesAsync(parameters, location, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ public static LogAnalyticsOperationResult ExportThrottledRequests(this ILogAnalyticsOperations operations, ThrottledRequestsInput parameters, string location)
+ {
+ return operations.ExportThrottledRequestsAsync(parameters, location).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task ExportThrottledRequestsAsync(this ILogAnalyticsOperations operations, ThrottledRequestsInput parameters, string location, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.ExportThrottledRequestsWithHttpMessagesAsync(parameters, location, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ public static LogAnalyticsOperationResult BeginExportRequestRateByInterval(this ILogAnalyticsOperations operations, RequestRateByIntervalInput parameters, string location)
+ {
+ return operations.BeginExportRequestRateByIntervalAsync(parameters, location).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Export logs that show Api requests made by this subscription in the given
+ /// time window to show throttling activities.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getRequestRateByInterval Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task BeginExportRequestRateByIntervalAsync(this ILogAnalyticsOperations operations, RequestRateByIntervalInput parameters, string location, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.BeginExportRequestRateByIntervalWithHttpMessagesAsync(parameters, location, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ public static LogAnalyticsOperationResult BeginExportThrottledRequests(this ILogAnalyticsOperations operations, ThrottledRequestsInput parameters, string location)
+ {
+ return operations.BeginExportThrottledRequestsAsync(parameters, location).GetAwaiter().GetResult();
+ }
+
+ ///
+ /// Export logs that show total throttled Api requests for this subscription in
+ /// the given time window.
+ ///
+ ///
+ /// The operations group for this extension method.
+ ///
+ ///
+ /// Parameters supplied to the LogAnalytics getThrottledRequests Api.
+ ///
+ ///
+ /// The location upon which virtual-machine-sizes is queried.
+ ///
+ ///
+ /// The cancellation token.
+ ///
+ public static async Task BeginExportThrottledRequestsAsync(this ILogAnalyticsOperations operations, ThrottledRequestsInput parameters, string location, CancellationToken cancellationToken = default(CancellationToken))
+ {
+ using (var _result = await operations.BeginExportThrottledRequestsWithHttpMessagesAsync(parameters, location, null, cancellationToken).ConfigureAwait(false))
+ {
+ return _result.Body;
+ }
+ }
+
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/HardwareProfile.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/HardwareProfile.cs
index d9debe5bb1eef..8be208f225957 100644
--- a/src/SDKs/Compute/Management.Compute/Generated/Models/HardwareProfile.cs
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/HardwareProfile.cs
@@ -48,10 +48,16 @@ public HardwareProfile()
/// 'Standard_A7', 'Standard_A8', 'Standard_A9', 'Standard_A10',
/// 'Standard_A11', 'Standard_A1_v2', 'Standard_A2_v2',
/// 'Standard_A4_v2', 'Standard_A8_v2', 'Standard_A2m_v2',
- /// 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_D1', 'Standard_D2',
- /// 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12',
- /// 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2',
+ /// 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_B1s',
+ /// 'Standard_B1ms', 'Standard_B2s', 'Standard_B2ms', 'Standard_B4ms',
+ /// 'Standard_B8ms', 'Standard_D1', 'Standard_D2', 'Standard_D3',
+ /// 'Standard_D4', 'Standard_D11', 'Standard_D12', 'Standard_D13',
+ /// 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2',
/// 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2',
+ /// 'Standard_D2_v3', 'Standard_D4_v3', 'Standard_D8_v3',
+ /// 'Standard_D16_v3', 'Standard_D32_v3', 'Standard_D64_v3',
+ /// 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3',
+ /// 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3',
/// 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2',
/// 'Standard_D14_v2', 'Standard_D15_v2', 'Standard_DS1',
/// 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11',
@@ -59,16 +65,33 @@ public HardwareProfile()
/// 'Standard_DS1_v2', 'Standard_DS2_v2', 'Standard_DS3_v2',
/// 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_DS11_v2',
/// 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2',
- /// 'Standard_DS15_v2', 'Standard_F1', 'Standard_F2', 'Standard_F4',
- /// 'Standard_F8', 'Standard_F16', 'Standard_F1s', 'Standard_F2s',
- /// 'Standard_F4s', 'Standard_F8s', 'Standard_F16s', 'Standard_G1',
- /// 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5',
- /// 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4',
- /// 'Standard_GS5', 'Standard_H8', 'Standard_H16', 'Standard_H8m',
- /// 'Standard_H16m', 'Standard_H16r', 'Standard_H16mr', 'Standard_L4s',
- /// 'Standard_L8s', 'Standard_L16s', 'Standard_L32s', 'Standard_NC6',
- /// 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r', 'Standard_NV6',
- /// 'Standard_NV12', 'Standard_NV24'
+ /// 'Standard_DS15_v2', 'Standard_DS13-4_v2', 'Standard_DS13-2_v2',
+ /// 'Standard_DS14-8_v2', 'Standard_DS14-4_v2', 'Standard_E2_v3',
+ /// 'Standard_E4_v3', 'Standard_E8_v3', 'Standard_E16_v3',
+ /// 'Standard_E32_v3', 'Standard_E64_v3', 'Standard_E2s_v3',
+ /// 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3',
+ /// 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_E32-16_v3',
+ /// 'Standard_E32-8s_v3', 'Standard_E64-32s_v3', 'Standard_E64-16s_v3',
+ /// 'Standard_F1', 'Standard_F2', 'Standard_F4', 'Standard_F8',
+ /// 'Standard_F16', 'Standard_F1s', 'Standard_F2s', 'Standard_F4s',
+ /// 'Standard_F8s', 'Standard_F16s', 'Standard_F2s_v2',
+ /// 'Standard_F4s_v2', 'Standard_F8s_v2', 'Standard_F16s_v2',
+ /// 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2',
+ /// 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ /// 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ /// 'Standard_GS4', 'Standard_GS5', 'Standard_GS4-8', 'Standard_GS4-4',
+ /// 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H8', 'Standard_H16',
+ /// 'Standard_H8m', 'Standard_H16m', 'Standard_H16r', 'Standard_H16mr',
+ /// 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s',
+ /// 'Standard_M64s', 'Standard_M64ms', 'Standard_M128s',
+ /// 'Standard_M128ms', 'Standard_M64-32ms', 'Standard_M64-16ms',
+ /// 'Standard_M128-64ms', 'Standard_M128-32ms', 'Standard_NC6',
+ /// 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r',
+ /// 'Standard_NC6s_v2', 'Standard_NC12s_v2', 'Standard_NC24s_v2',
+ /// 'Standard_NC24rs_v2', 'Standard_NC6s_v3', 'Standard_NC12s_v3',
+ /// 'Standard_NC24s_v3', 'Standard_NC24rs_v3', 'Standard_ND6s',
+ /// 'Standard_ND12s', 'Standard_ND24s', 'Standard_ND24rs',
+ /// 'Standard_NV6', 'Standard_NV12', 'Standard_NV24'
public HardwareProfile(string vmSize = default(string))
{
VmSize = vmSize;
@@ -100,10 +123,16 @@ public HardwareProfile()
/// 'Standard_A7', 'Standard_A8', 'Standard_A9', 'Standard_A10',
/// 'Standard_A11', 'Standard_A1_v2', 'Standard_A2_v2',
/// 'Standard_A4_v2', 'Standard_A8_v2', 'Standard_A2m_v2',
- /// 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_D1', 'Standard_D2',
- /// 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12',
- /// 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2',
+ /// 'Standard_A4m_v2', 'Standard_A8m_v2', 'Standard_B1s',
+ /// 'Standard_B1ms', 'Standard_B2s', 'Standard_B2ms', 'Standard_B4ms',
+ /// 'Standard_B8ms', 'Standard_D1', 'Standard_D2', 'Standard_D3',
+ /// 'Standard_D4', 'Standard_D11', 'Standard_D12', 'Standard_D13',
+ /// 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2',
/// 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2',
+ /// 'Standard_D2_v3', 'Standard_D4_v3', 'Standard_D8_v3',
+ /// 'Standard_D16_v3', 'Standard_D32_v3', 'Standard_D64_v3',
+ /// 'Standard_D2s_v3', 'Standard_D4s_v3', 'Standard_D8s_v3',
+ /// 'Standard_D16s_v3', 'Standard_D32s_v3', 'Standard_D64s_v3',
/// 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_D13_v2',
/// 'Standard_D14_v2', 'Standard_D15_v2', 'Standard_DS1',
/// 'Standard_DS2', 'Standard_DS3', 'Standard_DS4', 'Standard_DS11',
@@ -111,16 +140,33 @@ public HardwareProfile()
/// 'Standard_DS1_v2', 'Standard_DS2_v2', 'Standard_DS3_v2',
/// 'Standard_DS4_v2', 'Standard_DS5_v2', 'Standard_DS11_v2',
/// 'Standard_DS12_v2', 'Standard_DS13_v2', 'Standard_DS14_v2',
- /// 'Standard_DS15_v2', 'Standard_F1', 'Standard_F2', 'Standard_F4',
- /// 'Standard_F8', 'Standard_F16', 'Standard_F1s', 'Standard_F2s',
- /// 'Standard_F4s', 'Standard_F8s', 'Standard_F16s', 'Standard_G1',
- /// 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5',
- /// 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4',
- /// 'Standard_GS5', 'Standard_H8', 'Standard_H16', 'Standard_H8m',
- /// 'Standard_H16m', 'Standard_H16r', 'Standard_H16mr', 'Standard_L4s',
- /// 'Standard_L8s', 'Standard_L16s', 'Standard_L32s', 'Standard_NC6',
- /// 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r', 'Standard_NV6',
- /// 'Standard_NV12', 'Standard_NV24'
+ /// 'Standard_DS15_v2', 'Standard_DS13-4_v2', 'Standard_DS13-2_v2',
+ /// 'Standard_DS14-8_v2', 'Standard_DS14-4_v2', 'Standard_E2_v3',
+ /// 'Standard_E4_v3', 'Standard_E8_v3', 'Standard_E16_v3',
+ /// 'Standard_E32_v3', 'Standard_E64_v3', 'Standard_E2s_v3',
+ /// 'Standard_E4s_v3', 'Standard_E8s_v3', 'Standard_E16s_v3',
+ /// 'Standard_E32s_v3', 'Standard_E64s_v3', 'Standard_E32-16_v3',
+ /// 'Standard_E32-8s_v3', 'Standard_E64-32s_v3', 'Standard_E64-16s_v3',
+ /// 'Standard_F1', 'Standard_F2', 'Standard_F4', 'Standard_F8',
+ /// 'Standard_F16', 'Standard_F1s', 'Standard_F2s', 'Standard_F4s',
+ /// 'Standard_F8s', 'Standard_F16s', 'Standard_F2s_v2',
+ /// 'Standard_F4s_v2', 'Standard_F8s_v2', 'Standard_F16s_v2',
+ /// 'Standard_F32s_v2', 'Standard_F64s_v2', 'Standard_F72s_v2',
+ /// 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4',
+ /// 'Standard_G5', 'Standard_GS1', 'Standard_GS2', 'Standard_GS3',
+ /// 'Standard_GS4', 'Standard_GS5', 'Standard_GS4-8', 'Standard_GS4-4',
+ /// 'Standard_GS5-16', 'Standard_GS5-8', 'Standard_H8', 'Standard_H16',
+ /// 'Standard_H8m', 'Standard_H16m', 'Standard_H16r', 'Standard_H16mr',
+ /// 'Standard_L4s', 'Standard_L8s', 'Standard_L16s', 'Standard_L32s',
+ /// 'Standard_M64s', 'Standard_M64ms', 'Standard_M128s',
+ /// 'Standard_M128ms', 'Standard_M64-32ms', 'Standard_M64-16ms',
+ /// 'Standard_M128-64ms', 'Standard_M128-32ms', 'Standard_NC6',
+ /// 'Standard_NC12', 'Standard_NC24', 'Standard_NC24r',
+ /// 'Standard_NC6s_v2', 'Standard_NC12s_v2', 'Standard_NC24s_v2',
+ /// 'Standard_NC24rs_v2', 'Standard_NC6s_v3', 'Standard_NC12s_v3',
+ /// 'Standard_NC24s_v3', 'Standard_NC24rs_v3', 'Standard_ND6s',
+ /// 'Standard_ND12s', 'Standard_ND24s', 'Standard_ND24rs',
+ /// 'Standard_NV6', 'Standard_NV12', 'Standard_NV24'
///
[JsonProperty(PropertyName = "vmSize")]
public string VmSize { get; set; }
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/IntervalInMins.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/IntervalInMins.cs
new file mode 100644
index 0000000000000..3438b2d9c3599
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/IntervalInMins.cs
@@ -0,0 +1,72 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using Newtonsoft.Json;
+ using Newtonsoft.Json.Converters;
+ using System.Runtime;
+ using System.Runtime.Serialization;
+
+ ///
+ /// Defines values for IntervalInMins.
+ ///
+ [JsonConverter(typeof(StringEnumConverter))]
+ public enum IntervalInMins
+ {
+ [EnumMember(Value = "ThreeMins")]
+ ThreeMins,
+ [EnumMember(Value = "FiveMins")]
+ FiveMins,
+ [EnumMember(Value = "ThirtyMins")]
+ ThirtyMins,
+ [EnumMember(Value = "SixtyMins")]
+ SixtyMins
+ }
+ internal static class IntervalInMinsEnumExtension
+ {
+ internal static string ToSerializedValue(this IntervalInMins? value)
+ {
+ return value == null ? null : ((IntervalInMins)value).ToSerializedValue();
+ }
+
+ internal static string ToSerializedValue(this IntervalInMins value)
+ {
+ switch( value )
+ {
+ case IntervalInMins.ThreeMins:
+ return "ThreeMins";
+ case IntervalInMins.FiveMins:
+ return "FiveMins";
+ case IntervalInMins.ThirtyMins:
+ return "ThirtyMins";
+ case IntervalInMins.SixtyMins:
+ return "SixtyMins";
+ }
+ return null;
+ }
+
+ internal static IntervalInMins? ParseIntervalInMins(this string value)
+ {
+ switch( value )
+ {
+ case "ThreeMins":
+ return IntervalInMins.ThreeMins;
+ case "FiveMins":
+ return IntervalInMins.FiveMins;
+ case "ThirtyMins":
+ return IntervalInMins.ThirtyMins;
+ case "SixtyMins":
+ return IntervalInMins.SixtyMins;
+ }
+ return null;
+ }
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsInputBase.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsInputBase.cs
new file mode 100644
index 0000000000000..01a039ba6dd9e
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsInputBase.cs
@@ -0,0 +1,110 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using Microsoft.Rest;
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Api input base class for LogAnalytics Api.
+ ///
+ public partial class LogAnalyticsInputBase
+ {
+ ///
+ /// Initializes a new instance of the LogAnalyticsInputBase class.
+ ///
+ public LogAnalyticsInputBase()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the LogAnalyticsInputBase class.
+ ///
+ /// SAS Uri of the logging blob
+ /// container to which LogAnalytics Api writes output logs to.
+ /// From time of the query
+ /// To time of the query
+ /// Group query result by Throttle
+ /// Policy applied.
+ /// Group query result by by
+ /// Operation Name.
+ /// Group query result by Resource
+ /// Name.
+ public LogAnalyticsInputBase(string blobContainerSasUri, System.DateTime fromTime, System.DateTime toTime, bool? groupByThrottlePolicy = default(bool?), bool? groupByOperationName = default(bool?), bool? groupByResourceName = default(bool?))
+ {
+ BlobContainerSasUri = blobContainerSasUri;
+ FromTime = fromTime;
+ ToTime = toTime;
+ GroupByThrottlePolicy = groupByThrottlePolicy;
+ GroupByOperationName = groupByOperationName;
+ GroupByResourceName = groupByResourceName;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets SAS Uri of the logging blob container to which
+ /// LogAnalytics Api writes output logs to.
+ ///
+ [JsonProperty(PropertyName = "blobContainerSasUri")]
+ public string BlobContainerSasUri { get; set; }
+
+ ///
+ /// Gets or sets from time of the query
+ ///
+ [JsonProperty(PropertyName = "fromTime")]
+ public System.DateTime FromTime { get; set; }
+
+ ///
+ /// Gets or sets to time of the query
+ ///
+ [JsonProperty(PropertyName = "toTime")]
+ public System.DateTime ToTime { get; set; }
+
+ ///
+ /// Gets or sets group query result by Throttle Policy applied.
+ ///
+ [JsonProperty(PropertyName = "groupByThrottlePolicy")]
+ public bool? GroupByThrottlePolicy { get; set; }
+
+ ///
+ /// Gets or sets group query result by by Operation Name.
+ ///
+ [JsonProperty(PropertyName = "groupByOperationName")]
+ public bool? GroupByOperationName { get; set; }
+
+ ///
+ /// Gets or sets group query result by Resource Name.
+ ///
+ [JsonProperty(PropertyName = "groupByResourceName")]
+ public bool? GroupByResourceName { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public virtual void Validate()
+ {
+ if (BlobContainerSasUri == null)
+ {
+ throw new ValidationException(ValidationRules.CannotBeNull, "BlobContainerSasUri");
+ }
+ }
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOperationResult.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOperationResult.cs
new file mode 100644
index 0000000000000..60988a44ba484
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOperationResult.cs
@@ -0,0 +1,59 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// LogAnalytics operation status response
+ ///
+ public partial class LogAnalyticsOperationResult : OperationStatusResponse
+ {
+ ///
+ /// Initializes a new instance of the LogAnalyticsOperationResult
+ /// class.
+ ///
+ public LogAnalyticsOperationResult()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the LogAnalyticsOperationResult
+ /// class.
+ ///
+ /// Operation ID
+ /// Operation status
+ /// Start time of the operation
+ /// End time of the operation
+ /// Api error
+ /// LogAnalyticsOutput
+ public LogAnalyticsOperationResult(string name = default(string), string status = default(string), System.DateTime? startTime = default(System.DateTime?), System.DateTime? endTime = default(System.DateTime?), ApiError error = default(ApiError), LogAnalyticsOutput properties = default(LogAnalyticsOutput))
+ : base(name, status, startTime, endTime, error)
+ {
+ Properties = properties;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets logAnalyticsOutput
+ ///
+ [JsonProperty(PropertyName = "properties")]
+ public LogAnalyticsOutput Properties { get; private set; }
+
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOutput.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOutput.cs
new file mode 100644
index 0000000000000..97b5920a51ff5
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/LogAnalyticsOutput.cs
@@ -0,0 +1,52 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// LogAnalytics output properties
+ ///
+ public partial class LogAnalyticsOutput
+ {
+ ///
+ /// Initializes a new instance of the LogAnalyticsOutput class.
+ ///
+ public LogAnalyticsOutput()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the LogAnalyticsOutput class.
+ ///
+ /// Output file Uri path to blob
+ /// container.
+ public LogAnalyticsOutput(string output = default(string))
+ {
+ Output = output;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets output file Uri path to blob container.
+ ///
+ [JsonProperty(PropertyName = "output")]
+ public string Output { get; private set; }
+
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/RequestRateByIntervalInput.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/RequestRateByIntervalInput.cs
new file mode 100644
index 0000000000000..19c70ae8cbbe1
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/RequestRateByIntervalInput.cs
@@ -0,0 +1,76 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using Newtonsoft.Json;
+ using System.Linq;
+
+ ///
+ /// Api request input for LogAnalytics getRequestRateByInterval Api.
+ ///
+ public partial class RequestRateByIntervalInput : LogAnalyticsInputBase
+ {
+ ///
+ /// Initializes a new instance of the RequestRateByIntervalInput class.
+ ///
+ public RequestRateByIntervalInput()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the RequestRateByIntervalInput class.
+ ///
+ /// SAS Uri of the logging blob
+ /// container to which LogAnalytics Api writes output logs to.
+ /// From time of the query
+ /// To time of the query
+ /// Interval value in minutes used to
+ /// create LogAnalytics call rate logs. Possible values include:
+ /// 'ThreeMins', 'FiveMins', 'ThirtyMins', 'SixtyMins'
+ /// Group query result by Throttle
+ /// Policy applied.
+ /// Group query result by by
+ /// Operation Name.
+ /// Group query result by Resource
+ /// Name.
+ public RequestRateByIntervalInput(string blobContainerSasUri, System.DateTime fromTime, System.DateTime toTime, IntervalInMins intervalLength, bool? groupByThrottlePolicy = default(bool?), bool? groupByOperationName = default(bool?), bool? groupByResourceName = default(bool?))
+ : base(blobContainerSasUri, fromTime, toTime, groupByThrottlePolicy, groupByOperationName, groupByResourceName)
+ {
+ IntervalLength = intervalLength;
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Gets or sets interval value in minutes used to create LogAnalytics
+ /// call rate logs. Possible values include: 'ThreeMins', 'FiveMins',
+ /// 'ThirtyMins', 'SixtyMins'
+ ///
+ [JsonProperty(PropertyName = "intervalLength")]
+ public IntervalInMins IntervalLength { get; set; }
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public override void Validate()
+ {
+ base.Validate();
+ }
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/ThrottledRequestsInput.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/ThrottledRequestsInput.cs
new file mode 100644
index 0000000000000..09ad932525697
--- /dev/null
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/ThrottledRequestsInput.cs
@@ -0,0 +1,63 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for
+// license information.
+//
+// Code generated by Microsoft (R) AutoRest Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is
+// regenerated.
+//
+
+namespace Microsoft.Azure.Management.Compute.Models
+{
+ using System.Linq;
+
+ ///
+ /// Api request input for LogAnalytics getThrottledRequests Api.
+ ///
+ public partial class ThrottledRequestsInput : LogAnalyticsInputBase
+ {
+ ///
+ /// Initializes a new instance of the ThrottledRequestsInput class.
+ ///
+ public ThrottledRequestsInput()
+ {
+ CustomInit();
+ }
+
+ ///
+ /// Initializes a new instance of the ThrottledRequestsInput class.
+ ///
+ /// SAS Uri of the logging blob
+ /// container to which LogAnalytics Api writes output logs to.
+ /// From time of the query
+ /// To time of the query
+ /// Group query result by Throttle
+ /// Policy applied.
+ /// Group query result by by
+ /// Operation Name.
+ /// Group query result by Resource
+ /// Name.
+ public ThrottledRequestsInput(string blobContainerSasUri, System.DateTime fromTime, System.DateTime toTime, bool? groupByThrottlePolicy = default(bool?), bool? groupByOperationName = default(bool?), bool? groupByResourceName = default(bool?))
+ : base(blobContainerSasUri, fromTime, toTime, groupByThrottlePolicy, groupByOperationName, groupByResourceName)
+ {
+ CustomInit();
+ }
+
+ ///
+ /// An initialization method that performs custom operations like setting defaults
+ ///
+ partial void CustomInit();
+
+ ///
+ /// Validate the object.
+ ///
+ ///
+ /// Thrown if validation fails
+ ///
+ public override void Validate()
+ {
+ base.Validate();
+ }
+ }
+}
diff --git a/src/SDKs/Compute/Management.Compute/Generated/Models/VirtualMachineSizeTypes.cs b/src/SDKs/Compute/Management.Compute/Generated/Models/VirtualMachineSizeTypes.cs
index cced56bef35ea..4b45aed4c4e6e 100644
--- a/src/SDKs/Compute/Management.Compute/Generated/Models/VirtualMachineSizeTypes.cs
+++ b/src/SDKs/Compute/Management.Compute/Generated/Models/VirtualMachineSizeTypes.cs
@@ -40,6 +40,12 @@ public static class VirtualMachineSizeTypes
public const string StandardA2mV2 = "Standard_A2m_v2";
public const string StandardA4mV2 = "Standard_A4m_v2";
public const string StandardA8mV2 = "Standard_A8m_v2";
+ public const string StandardB1s = "Standard_B1s";
+ public const string StandardB1ms = "Standard_B1ms";
+ public const string StandardB2s = "Standard_B2s";
+ public const string StandardB2ms = "Standard_B2ms";
+ public const string StandardB4ms = "Standard_B4ms";
+ public const string StandardB8ms = "Standard_B8ms";
public const string StandardD1 = "Standard_D1";
public const string StandardD2 = "Standard_D2";
public const string StandardD3 = "Standard_D3";
@@ -53,6 +59,18 @@ public static class VirtualMachineSizeTypes
public const string StandardD3V2 = "Standard_D3_v2";
public const string StandardD4V2 = "Standard_D4_v2";
public const string StandardD5V2 = "Standard_D5_v2";
+ public const string StandardD2V3 = "Standard_D2_v3";
+ public const string StandardD4V3 = "Standard_D4_v3";
+ public const string StandardD8V3 = "Standard_D8_v3";
+ public const string StandardD16V3 = "Standard_D16_v3";
+ public const string StandardD32V3 = "Standard_D32_v3";
+ public const string StandardD64V3 = "Standard_D64_v3";
+ public const string StandardD2sV3 = "Standard_D2s_v3";
+ public const string StandardD4sV3 = "Standard_D4s_v3";
+ public const string StandardD8sV3 = "Standard_D8s_v3";
+ public const string StandardD16sV3 = "Standard_D16s_v3";
+ public const string StandardD32sV3 = "Standard_D32s_v3";
+ public const string StandardD64sV3 = "Standard_D64s_v3";
public const string StandardD11V2 = "Standard_D11_v2";
public const string StandardD12V2 = "Standard_D12_v2";
public const string StandardD13V2 = "Standard_D13_v2";
@@ -76,6 +94,26 @@ public static class VirtualMachineSizeTypes
public const string StandardDS13V2 = "Standard_DS13_v2";
public const string StandardDS14V2 = "Standard_DS14_v2";
public const string StandardDS15V2 = "Standard_DS15_v2";
+ public const string StandardDS134V2 = "Standard_DS13-4_v2";
+ public const string StandardDS132V2 = "Standard_DS13-2_v2";
+ public const string StandardDS148V2 = "Standard_DS14-8_v2";
+ public const string StandardDS144V2 = "Standard_DS14-4_v2";
+ public const string StandardE2V3 = "Standard_E2_v3";
+ public const string StandardE4V3 = "Standard_E4_v3";
+ public const string StandardE8V3 = "Standard_E8_v3";
+ public const string StandardE16V3 = "Standard_E16_v3";
+ public const string StandardE32V3 = "Standard_E32_v3";
+ public const string StandardE64V3 = "Standard_E64_v3";
+ public const string StandardE2sV3 = "Standard_E2s_v3";
+ public const string StandardE4sV3 = "Standard_E4s_v3";
+ public const string StandardE8sV3 = "Standard_E8s_v3";
+ public const string StandardE16sV3 = "Standard_E16s_v3";
+ public const string StandardE32sV3 = "Standard_E32s_v3";
+ public const string StandardE64sV3 = "Standard_E64s_v3";
+ public const string StandardE3216V3 = "Standard_E32-16_v3";
+ public const string StandardE328sV3 = "Standard_E32-8s_v3";
+ public const string StandardE6432sV3 = "Standard_E64-32s_v3";
+ public const string StandardE6416sV3 = "Standard_E64-16s_v3";
public const string StandardF1 = "Standard_F1";
public const string StandardF2 = "Standard_F2";
public const string StandardF4 = "Standard_F4";
@@ -86,6 +124,13 @@ public static class VirtualMachineSizeTypes
public const string StandardF4s = "Standard_F4s";
public const string StandardF8s = "Standard_F8s";
public const string StandardF16s = "Standard_F16s";
+ public const string StandardF2sV2 = "Standard_F2s_v2";
+ public const string StandardF4sV2 = "Standard_F4s_v2";
+ public const string StandardF8sV2 = "Standard_F8s_v2";
+ public const string StandardF16sV2 = "Standard_F16s_v2";
+ public const string StandardF32sV2 = "Standard_F32s_v2";
+ public const string StandardF64sV2 = "Standard_F64s_v2";
+ public const string StandardF72sV2 = "Standard_F72s_v2";
public const string StandardG1 = "Standard_G1";
public const string StandardG2 = "Standard_G2";
public const string StandardG3 = "Standard_G3";
@@ -96,6 +141,10 @@ public static class VirtualMachineSizeTypes
public const string StandardGS3 = "Standard_GS3";
public const string StandardGS4 = "Standard_GS4";
public const string StandardGS5 = "Standard_GS5";
+ public const string StandardGS48 = "Standard_GS4-8";
+ public const string StandardGS44 = "Standard_GS4-4";
+ public const string StandardGS516 = "Standard_GS5-16";
+ public const string StandardGS58 = "Standard_GS5-8";
public const string StandardH8 = "Standard_H8";
public const string StandardH16 = "Standard_H16";
public const string StandardH8m = "Standard_H8m";
@@ -106,10 +155,30 @@ public static class VirtualMachineSizeTypes
public const string StandardL8s = "Standard_L8s";
public const string StandardL16s = "Standard_L16s";
public const string StandardL32s = "Standard_L32s";
+ public const string StandardM64s = "Standard_M64s";
+ public const string StandardM64ms = "Standard_M64ms";
+ public const string StandardM128s = "Standard_M128s";
+ public const string StandardM128ms = "Standard_M128ms";
+ public const string StandardM6432ms = "Standard_M64-32ms";
+ public const string StandardM6416ms = "Standard_M64-16ms";
+ public const string StandardM12864ms = "Standard_M128-64ms";
+ public const string StandardM12832ms = "Standard_M128-32ms";
public const string StandardNC6 = "Standard_NC6";
public const string StandardNC12 = "Standard_NC12";
public const string StandardNC24 = "Standard_NC24";
public const string StandardNC24r = "Standard_NC24r";
+ public const string StandardNC6sV2 = "Standard_NC6s_v2";
+ public const string StandardNC12sV2 = "Standard_NC12s_v2";
+ public const string StandardNC24sV2 = "Standard_NC24s_v2";
+ public const string StandardNC24rsV2 = "Standard_NC24rs_v2";
+ public const string StandardNC6sV3 = "Standard_NC6s_v3";
+ public const string StandardNC12sV3 = "Standard_NC12s_v3";
+ public const string StandardNC24sV3 = "Standard_NC24s_v3";
+ public const string StandardNC24rsV3 = "Standard_NC24rs_v3";
+ public const string StandardND6s = "Standard_ND6s";
+ public const string StandardND12s = "Standard_ND12s";
+ public const string StandardND24s = "Standard_ND24s";
+ public const string StandardND24rs = "Standard_ND24rs";
public const string StandardNV6 = "Standard_NV6";
public const string StandardNV12 = "Standard_NV12";
public const string StandardNV24 = "Standard_NV24";
diff --git a/src/SDKs/Compute/Management.Compute/Generated/SdkInfo_ComputeManagementClient.cs b/src/SDKs/Compute/Management.Compute/Generated/SdkInfo_ComputeManagementClient.cs
index 8cdaaf3bf93ff..a7ea9cb98a7f8 100644
--- a/src/SDKs/Compute/Management.Compute/Generated/SdkInfo_ComputeManagementClient.cs
+++ b/src/SDKs/Compute/Management.Compute/Generated/SdkInfo_ComputeManagementClient.cs
@@ -14,6 +14,7 @@ public static IEnumerable> ApiInfo_ComputeManageme
new Tuple("Compute", "AvailabilitySets", "2017-12-01"),
new Tuple("Compute", "Disks", "2017-03-30"),
new Tuple("Compute", "Images", "2017-12-01"),
+ new Tuple("Compute", "LogAnalytics", "2017-12-01"),
new Tuple("Compute", "ResourceSkus", "2017-09-01"),
new Tuple("Compute", "Snapshots", "2017-03-30"),
new Tuple("Compute", "Usage", "2017-12-01"),
diff --git a/src/SDKs/Compute/Management.Compute/Microsoft.Azure.Management.Compute.csproj b/src/SDKs/Compute/Management.Compute/Microsoft.Azure.Management.Compute.csproj
index 95be84de99101..91232fa3efb21 100644
--- a/src/SDKs/Compute/Management.Compute/Microsoft.Azure.Management.Compute.csproj
+++ b/src/SDKs/Compute/Management.Compute/Microsoft.Azure.Management.Compute.csproj
@@ -6,12 +6,12 @@
Microsoft.Azure.Management.Compute
Provides developers with libraries for the updated compute platform under Azure Resource manager to deploy virtual machine, virtual machine extensions and availability set management capabilities. Launch, restart, scale, capture and manage VMs, VM Extensions and more. Note: This client library is for Virtual Machines under Azure Resource Manager.
- 17.4.0
+ 17.5.0
Microsoft.Azure.Management.Compute
management;virtual machine;compute;
diff --git a/src/SDKs/Compute/Management.Compute/Properties/AssemblyInfo.cs b/src/SDKs/Compute/Management.Compute/Properties/AssemblyInfo.cs
index 418dd802654ea..c4a0ab4c99003 100644
--- a/src/SDKs/Compute/Management.Compute/Properties/AssemblyInfo.cs
+++ b/src/SDKs/Compute/Management.Compute/Properties/AssemblyInfo.cs
@@ -8,7 +8,7 @@
[assembly: AssemblyDescription("Provides management functionality for Microsoft Azure Compute Resources.")]
[assembly: AssemblyVersion("17.0.0.0")]
-[assembly: AssemblyFileVersion("17.4.0.0")]
+[assembly: AssemblyFileVersion("17.5.0.0")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Microsoft Azure .NET SDK")]
diff --git a/src/SDKs/_metadata/compute_resource-manager.txt b/src/SDKs/_metadata/compute_resource-manager.txt
index 43f86b8c4c56f..346097e271d22 100644
--- a/src/SDKs/_metadata/compute_resource-manager.txt
+++ b/src/SDKs/_metadata/compute_resource-manager.txt
@@ -1,9 +1,9 @@
-2018-02-02 00:42:45 UTC
+2018-02-02 22:18:03 UTC
1) azure-rest-api-specs repository information
GitHub user: Azure
Branch: master
-Commit: 79e7fc73d0df1de230865ac4292690c6232c4427
+Commit: 1dcfeb3948129d1fdbe1a32a1ffa6ac37700cdae
2) AutoRest information
Requested version: latest