From 906201b9e4471bdcb43ac381de6dd0f1ea283794 Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Fri, 14 Oct 2022 01:19:51 +0530 Subject: [PATCH 01/16] publishing stable api version 2022-11-01 for load test service --- .../examples/CreateAndUpdateTestRun.json | 159 + .../examples/CreateOrUpdateAppComponents.json | 59 + .../CreateOrUpdateServerMetricsConfig.json | 70 + .../examples/CreateOrUpdateTest.json | 191 + .../examples/DeleteAppComponent.json | 9 + .../2022-11-01/examples/DeleteLoadTest.json | 9 + .../examples/DeleteServerMetrics.json | 9 + .../2022-11-01/examples/DeleteTestFile.json | 10 + .../2022-11-01/examples/DeleteTestRun.json | 9 + .../2022-11-01/examples/GetAllTestFiles.json | 24 + .../2022-11-01/examples/GetAppComponent.json | 27 + .../examples/GetAppComponentByName.json | 27 + .../2022-11-01/examples/GetLoadTest.json | 84 + .../examples/GetServerDefaultMetrics.json | 1239 ++++++ .../2022-11-01/examples/GetServerMetrics.json | 30 + .../examples/GetServerMetricsByName.json | 30 + .../2022-11-01/examples/GetTestFile.json | 19 + .../2022-11-01/examples/GetTestRun.json | 129 + .../2022-11-01/examples/GetTestRunFile.json | 19 + .../examples/GetTestRunMetrics.json | 100 + .../GetTestRunMetricsDefinitions.json | 50 + .../examples/GetTestRunMetricsMetadata.json | 55 + .../examples/GetTestRunMetricsNamespaces.json | 18 + .../examples/ListLoadTestSearch.json | 94 + .../examples/ListSupportedResourceType.json | 46 + .../examples/ListTestRunsSearch.json | 141 + .../2022-11-01/examples/StopTestRun.json | 98 + .../2022-11-01/examples/UploadTestFile.json | 21 + .../stable/2022-11-01/loadtestservice.json | 3381 +++++++++++++++++ 29 files changed, 6157 insertions(+) create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateAppComponents.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateServerMetricsConfig.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteAppComponent.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteLoadTest.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteServerMetrics.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAllTestFiles.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetLoadTest.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerDefaultMetrics.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListLoadTestSearch.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListSupportedResourceType.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json create mode 100644 specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json new file mode 100644 index 000000000000..abf6fcf7a98b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateAndUpdateTestRun.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "outputArtifacts": { + "resultUrl": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsUrl": { + "url": "https://dummyurl.com/logresource", + "fileId": "abb846a7-63af-4d63-bb3d-a7aa4caff55c", + "filename": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "vusers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateAppComponents.json new file mode 100644 index 000000000000..25cb06d96b8b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateAppComponents.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01", + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "value": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "value": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + } + } + }, + "201": { + "body": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "value": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateServerMetricsConfig.json new file mode 100644 index 000000000000..f636611bd7ca --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateServerMetricsConfig.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2022-11-01", + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricnamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricnamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "201": { + "body": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricnamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json new file mode 100644 index 000000000000..3ddd8333b7ac --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/CreateOrUpdateTest.json @@ -0,0 +1,191 @@ +{ + "parameters": { + "api-version": "2022-11-01", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteAppComponent.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteAppComponent.json new file mode 100644 index 000000000000..e481a1a862e8 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteAppComponent.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteLoadTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteLoadTest.json new file mode 100644 index 000000000000..48dbc917b730 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteLoadTest.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteServerMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteServerMetrics.json new file mode 100644 index 000000000000..68beaf856ab9 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteServerMetrics.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json new file mode 100644 index 000000000000..1d739f6de3b1 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestFile.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileId": "92345678-1234-1111-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json new file mode 100644 index 000000000000..df9676add469 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/DeleteTestRun.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAllTestFiles.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAllTestFiles.json new file mode 100644 index 000000000000..cb5940e71880 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAllTestFiles.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json new file mode 100644 index 000000000000..bddd6468e91f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "value": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json new file mode 100644 index 000000000000..ca5901d22698 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "value": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetLoadTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetLoadTest.json new file mode 100644 index 000000000000..c319149cbad6 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetLoadTest.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerDefaultMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerDefaultMetrics.json new file mode 100644 index 000000000000..c537f6b5e1a7 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerDefaultMetrics.json @@ -0,0 +1,1239 @@ +{ + "parameters": { + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "defaultMetrics": { + "microsoft.web/sites": [ + { + "metricnamespace": "microsoft.web/sites", + "aggregation": "Total", + "name": { + "value": "Http5xx", + "localizedValue": "Http5xx Error" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.web/sites", + "aggregation": "Total", + "name": { + "value": "Requests", + "localizedValue": "Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.web/sites", + "aggregation": "Average", + "name": { + "value": "HttpResponseTime", + "localizedValue": "Response Time" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.storage/storageaccounts/blobservices": [ + { + "metricnamespace": "microsoft.storage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "ContainerCount", + "localizedValue": "Blob Container Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "BlobCount", + "localizedValue": "Blob Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "BlobCapacity", + "localizedValue": "Blob Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/blobservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.storage/storageaccounts": [ + { + "metricnamespace": "microsoft.storage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "Availability", + "localizedValue": "Availability" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "SuccessE2ELatency", + "localizedValue": "Success E2E Latency" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "UsedCapacity", + "localizedValue": "Used Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "SuccessServerLatency", + "localizedValue": "Success Server Latency" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.documentdb/databaseaccounts": [ + { + "metricnamespace": "microsoft.documentdb/databaseaccounts", + "aggregation": "Count", + "name": { + "value": "TotalRequests", + "localizedValue": "Total Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.documentdb/databaseaccounts", + "aggregation": "Maximum", + "name": { + "value": "ProvisionedThroughput", + "localizedValue": "Provisioned Throughput" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.documentdb/databaseaccounts", + "aggregation": "Maximum", + "name": { + "value": "NormalizedRUConsumption", + "localizedValue": "Normalized RU Consumption" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.servicebus/namespaces": [ + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Total", + "name": { + "value": "ActiveConnections", + "localizedValue": "ActiveConnections" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Average", + "name": { + "value": "ActiveMessages", + "localizedValue": "Count of active messages in a Queue/Topic" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Maximum", + "name": { + "value": "NamespaceCpuUsage", + "localizedValue": "CPU" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Total", + "name": { + "value": "IncomingMessages", + "localizedValue": "Incoming Messages" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Total", + "name": { + "value": "IncomingRequests", + "localizedValue": "Incoming Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Average", + "name": { + "value": "Messages", + "localizedValue": "Count of messages in a Queue/Topic" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Total", + "name": { + "value": "ThrottledRequests", + "localizedValue": "Throttled Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.servicebus/namespaces", + "aggregation": "Average", + "name": { + "value": "DeadletteredMessages", + "localizedValue": "Count of dead-lettered message" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.eventhub/clusters": [ + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Maximum", + "name": { + "value": "CPU", + "localizedValue": "CPU" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Maximum", + "name": { + "value": "AvailableMemory", + "localizedValue": "Available Memory" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Total", + "name": { + "value": "ServerErrors", + "localizedValue": "Server Errors" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Total", + "name": { + "value": "ThrottledRequests", + "localizedValue": "Throttled Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Total", + "name": { + "value": "SuccessfulRequests", + "localizedValue": "Successful Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Total", + "name": { + "value": "QuotaExceededErrors", + "localizedValue": "Quota Exceeded Errors" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/clusters", + "aggregation": "Total", + "name": { + "value": "ActiveConnections", + "localizedValue": "ActiveConnections" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.keyvault/vaults": [ + { + "metricnamespace": "microsoft.keyvault/vaults", + "aggregation": "Average", + "name": { + "value": "Availability", + "localizedValue": "Availability" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.keyvault/vaults", + "aggregation": "Count", + "name": { + "value": "ServiceApiHit", + "localizedValue": "Total Service Api Hits" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.keyvault/vaults", + "aggregation": "Average", + "name": { + "value": "ServiceApiLatency", + "localizedValue": "Overall Service Api Latency" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classicstorage/storageaccounts": [ + { + "metricnamespace": "microsoft.classicstorage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "Availability", + "localizedValue": "Availability" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "SuccessE2ELatency", + "localizedValue": "Success E2E Latency" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "SuccessServerLatency", + "localizedValue": "Success Server Latency" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts", + "aggregation": "Average", + "name": { + "value": "UsedCapacity", + "localizedValue": "Used Capacity" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classicstorage/storageaccounts/blobservices": [ + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "BlobCount", + "localizedValue": "Blob Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "ContainerCount", + "localizedValue": "Index Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/blobservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/blobservices", + "aggregation": "Average", + "name": { + "value": "BlobCapacity", + "localizedValue": "Blob Capacity" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classicstorage/storageaccounts/tableservices": [ + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/tableservices", + "aggregation": "Average", + "name": { + "value": "TableCount", + "localizedValue": "Table Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/tableservices", + "aggregation": "Average", + "name": { + "value": "TableCapacity", + "localizedValue": "Table Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/tableservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classicstorage/storageaccounts/fileservices": [ + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/fileservices", + "aggregation": "Average", + "name": { + "value": "FileCapacity", + "localizedValue": "File Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/fileservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/fileservices", + "aggregation": "Average", + "name": { + "value": "FileCount", + "localizedValue": "File Count" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.sql/managedinstances": [ + { + "metricnamespace": "microsoft.sql/managedinstances", + "aggregation": "Average", + "name": { + "value": "reserved_storage_mb", + "localizedValue": "Storage space reserved" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/managedinstances", + "aggregation": "Average", + "name": { + "value": "io_bytes_written", + "localizedValue": "IO bytes written" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/managedinstances", + "aggregation": "Average", + "name": { + "value": "avg_cpu_percent", + "localizedValue": "Average CPU percentage" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/managedinstances", + "aggregation": "Average", + "name": { + "value": "storage_space_used_mb", + "localizedValue": "Storage space used" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/managedinstances", + "aggregation": "Average", + "name": { + "value": "io_bytes_read", + "localizedValue": "IO bytes read" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.sql/servers/elasticpools": [ + { + "metricnamespace": "microsoft.sql/servers/elasticpools", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/servers/elasticpools", + "aggregation": "Average", + "name": { + "value": "storage_percent", + "localizedValue": "Data space used percent" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.storage/storageaccounts/fileservices": [ + { + "metricnamespace": "microsoft.storage/storageaccounts/fileservices", + "aggregation": "Average", + "name": { + "value": "FileCount", + "localizedValue": "File Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/fileservices", + "aggregation": "Average", + "name": { + "value": "FileCapacity", + "localizedValue": "File Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/fileservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.storage/storageaccounts/tableservices": [ + { + "metricnamespace": "microsoft.storage/storageaccounts/tableservices", + "aggregation": "Average", + "name": { + "value": "TableCount", + "localizedValue": "Table Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/tableservices", + "aggregation": "Average", + "name": { + "value": "TableCapacity", + "localizedValue": "Table Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/tableservices", + "aggregation": "Average", + "name": { + "value": "TableEntityCount", + "localizedValue": "Table Entity Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/tableservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.web/serverfarms": [ + { + "metricnamespace": "microsoft.web/serverfarms", + "aggregation": "Average", + "name": { + "value": "CpuPercentage", + "localizedValue": "CPU Percentage" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.web/serverfarms", + "aggregation": "Average", + "name": { + "value": "MemoryPercentage", + "localizedValue": "Memory Percentage" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.cache/redis": [ + { + "metricnamespace": "microsoft.cache/redis", + "aggregation": "Maximum", + "name": { + "value": "serverLoad", + "localizedValue": "Server Load" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.cache/redis", + "aggregation": "Average", + "name": { + "value": "cacheLatency", + "localizedValue": "Cache Latency" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.cache/redis", + "aggregation": "Total", + "name": { + "value": "cachehits", + "localizedValue": "Cache Hits" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.cache/redis", + "aggregation": "Maximum", + "name": { + "value": "connectedclients", + "localizedValue": "Connected Clients" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classiccompute/virtualmachines": [ + { + "metricnamespace": "microsoft.classiccompute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Disk Read Operations/Sec", + "localizedValue": "Disk Read Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classiccompute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Disk Write Operations/Sec", + "localizedValue": "Disk Write Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classiccompute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Percentage CPU", + "localizedValue": "Percentage CPU" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.containerservice/managedclusters": [ + { + "metricnamespace": "microsoft.containerservice/managedclusters", + "aggregation": "Average", + "name": { + "value": "kube_node_status_allocatable_cpu_cores", + "localizedValue": "Total number of available cpu cores in a managed cluster" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.containerservice/managedclusters", + "aggregation": "Average", + "name": { + "value": "kube_node_status_allocatable_memory_bytes", + "localizedValue": "Total amount of available memory in a managed cluster" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.containerservice/managedclusters", + "aggregation": "Average", + "name": { + "value": "kube_pod_status_ready", + "localizedValue": "Number of pods in Ready state" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.containerinstance/containergroups": [ + { + "metricnamespace": "microsoft.containerinstance/containergroups", + "aggregation": "Average", + "name": { + "value": "CpuUsage", + "localizedValue": "CPU Usage" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.containerinstance/containergroups", + "aggregation": "Average", + "name": { + "value": "MemoryUsage", + "localizedValue": "Memory Usage" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.compute/virtualmachines": [ + { + "metricnamespace": "microsoft.compute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "CPU Credits Consumed", + "localizedValue": "CPU Credits Consumed" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Disk Read Operations/Sec", + "localizedValue": "Disk Read Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Disk Write Operations/Sec", + "localizedValue": "Disk Write Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachines", + "aggregation": "Average", + "name": { + "value": "Percentage CPU", + "localizedValue": "Percentage CPU" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.dbforpostgresql/singleservers": [ + { + "metricnamespace": "microsoft.dbforpostgresql/singleservers", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbforpostgresql/singleservers", + "aggregation": "Average", + "name": { + "value": "memory_percent", + "localizedValue": "Memory percent" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.dbformariadb/servers": [ + { + "metricnamespace": "microsoft.dbformariadb/servers", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbformariadb/servers", + "aggregation": "Average", + "name": { + "value": "memory_percent", + "localizedValue": "Memory percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbformariadb/servers", + "aggregation": "Average", + "name": { + "value": "io_consumption_percent", + "localizedValue": "IO percent" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.dbformysql/servers": [ + { + "metricnamespace": "microsoft.dbformysql/servers", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbformysql/servers", + "aggregation": "Average", + "name": { + "value": "memory_percent", + "localizedValue": "Memory percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbformysql/servers", + "aggregation": "Average", + "name": { + "value": "io_consumption_percent", + "localizedValue": "IO percent" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.dbforpostgresql/servers": [ + { + "metricnamespace": "microsoft.dbforpostgresql/servers", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbforpostgresql/servers", + "aggregation": "Average", + "name": { + "value": "memory_percent", + "localizedValue": "Memory percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbforpostgresql/servers", + "aggregation": "Average", + "name": { + "value": "io_consumption_percent", + "localizedValue": "IO percent" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.sql/servers/databases": [ + { + "metricnamespace": "microsoft.sql/servers/databases", + "aggregation": "Total", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/servers/databases", + "aggregation": "Maximum", + "name": { + "value": "connection_failed", + "localizedValue": "Connection Failed" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.sql/servers/databases", + "aggregation": "Total", + "name": { + "value": "deadlock", + "localizedValue": "Deadlocks" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.eventhub/namespaces": [ + { + "metricnamespace": "microsoft.eventhub/namespaces", + "aggregation": "Total", + "name": { + "value": "ActiveConnections", + "localizedValue": "ActiveConnections" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/namespaces", + "aggregation": "Total", + "name": { + "value": "SuccessfulRequests", + "localizedValue": "Successful Requests" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/namespaces", + "aggregation": "Total", + "name": { + "value": "QuotaExceededErrors", + "localizedValue": "Quota Exceeded Errors" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/namespaces", + "aggregation": "Total", + "name": { + "value": "ServerErrors", + "localizedValue": "Server Errors" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.eventhub/namespaces", + "aggregation": "Total", + "name": { + "value": "ThrottledRequests", + "localizedValue": "Throttled Requests" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.insights/components": [ + { + "metricnamespace": "microsoft.insights/components", + "aggregation": "Average", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.insights/components", + "aggregation": "Total", + "name": { + "value": "requests/failed", + "localizedValue": "Failed Request" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.insights/components", + "aggregation": "Total", + "name": { + "value": "requests/count", + "localizedValue": "Server Requests" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.compute/virtualmachinescalesets": [ + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "CPU Credits Consumed", + "localizedValue": "CPU Credits Consumed" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Disk Read Operations/Sec", + "localizedValue": "Disk Read Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Disk Write Operations/Sec", + "localizedValue": "Disk Write Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Percentage CPU", + "localizedValue": "Percentage CPU" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.classicstorage/storageaccounts/queueservices": [ + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/queueservices", + "aggregation": "Average", + "name": { + "value": "QueueCount", + "localizedValue": "Queue Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/queueservices", + "aggregation": "Average", + "name": { + "value": "QueueCapacity", + "localizedValue": "Queue Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.classicstorage/storageaccounts/queueservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.storage/storageaccounts/queueservices": [ + { + "metricnamespace": "microsoft.storage/storageaccounts/queueservices", + "aggregation": "Average", + "name": { + "value": "QueueCount", + "localizedValue": "Queue Count" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/queueservices", + "aggregation": "Average", + "name": { + "value": "QueueCapacity", + "localizedValue": "Queue Capacity" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.storage/storageaccounts/queueservices", + "aggregation": "Total", + "name": { + "value": "Transactions", + "localizedValue": "Transactions" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.servicefabricmesh/applications": [ + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "CPU Credits Consumed", + "localizedValue": "CPU Credits Consumed" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Disk Read Operations/Sec", + "localizedValue": "Disk Read Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Disk Write Operations/Sec", + "localizedValue": "Disk Write Operations/Sec" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.compute/virtualmachinescalesets", + "aggregation": "Average", + "name": { + "value": "Percentage CPU", + "localizedValue": "Percentage CPU" + }, + "unit": null, + "displayDescription": null + } + ], + "microsoft.dbforpostgresql/serversv2": [ + { + "metricnamespace": "microsoft.dbforpostgresql/serversv2", + "aggregation": "Average", + "name": { + "value": "cpu_percent", + "localizedValue": "CPU percent" + }, + "unit": null, + "displayDescription": null + }, + { + "metricnamespace": "microsoft.dbforpostgresql/serversv2", + "aggregation": "Average", + "name": { + "value": "memory_percent", + "localizedValue": "Memory percent" + }, + "unit": null, + "displayDescription": null + } + ] + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json new file mode 100644 index 000000000000..58ac800c3fe8 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricnamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json new file mode 100644 index 000000000000..b2917feed2cf --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "testId": "12345678-1234-1234-1234-123456789012", + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricnamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": { + "value": "requests/duration", + "localizedValue": "Server Response Time" + }, + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json new file mode 100644 index 000000000000..6460132a48b1 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestFile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileId": "92345678-1234-1111-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json new file mode 100644 index 000000000000..9318d7cf536b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "Passed", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "outputArtifacts": { + "resultUrl": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsUrl": { + "url": "https://dummyurl.com/logresource", + "fileId": "abb846a7-63af-4d63-bb3d-a7aa4caff55c", + "filename": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "vusers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json new file mode 100644 index 000000000000..b310d0342194 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunFile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileId": "92345678-1234-1111-1234-123456789012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json new file mode 100644 index 000000000000..e6bea2f89c27 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation" : "Average", + "metricname" : "ActiveThreads", + "metricnamespace" : "JMeterLoadTestRunMetrics", + "resultType" : "Data", + "timespan" : "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01", + "body" : { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "interval": "PT1H", + "namespace": "JMeterLoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "value": { + "displayDescription": "Virtual Users", + "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", + "name": { + "localizedValue": "Virtual Users", + "value": "ActiveThreads" + }, + "timeseries": [ + { + "data": [ + { + "average": null, + "count": 12.790277777777778, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 7:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 21.7725, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 8:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 21.77888888888889, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 9:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 19.93777777777778, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 10:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + } + ], + "metadatavalues": [ + { + "name": { + "localizedValue": "Sampler Name", + "value": "SamplerName" + }, + "value": "HTTP Request" + } + ] + } + ], + "unit": "Count" + } + } + } + } + } + \ No newline at end of file diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..250371cbf2b3 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricnamespace" : "JMeterLoadTestRunMetrics", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "12316678-1234-1234-1234-122451189012/ActiveThreads", + "namespace": "JMeterLoadTestRunMetrics", + "name": { + "value": "ActiveThreds", + "localizedValue": "Number of virtual users" + }, + "displayDescription": "Virtual users", + "unit": "Count", + "primaryAggregationType": "Average", + "supportedAggregationTypes": [ + "Average", + "Total" + ], + "metricAvailabilities": [ + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + } + ], + "dimensions": [ + { + "value": "SamplerName", + "localizedValue": "Sampler Name" + }, + { + "value": "Errors", + "localizedValue": "Errors" + } + ] + } + ] + } + } + } +} + + \ No newline at end of file diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json new file mode 100644 index 000000000000..02e155c0670c --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation" : "Average", + "metricname" : "ActiveThreads", + "metricnamespace" : "JMeterLoadTestRunMetrics", + "resultType" : "Metadata", + "timespan" : "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "interval": "PT1H", + "namespace": "JMeterLoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "value": { + "displayDescription": "Virtual Users", + "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", + "name": { + "localizedValue": "Virtual Users", + "value": "ActiveThreads" + }, + "timeseries": [ + { + "metadatavalues": [ + { + "name": { + "localizedValue": "Sampler Name", + "value": "SamplerName" + }, + "value": "HTTP Request" + }, + { + "metadatavalues": [ + { + "name": { + "value": "Error", + "localizedValue": "Error code" + }, + "value": "429" + } + ] + } + ] + } + ], + "unit": "Count" + } + } + } + } + } + \ No newline at end of file diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..c635a4c004e4 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "JMeter Load test run metrics", + "metricNamespaceName": "JMeterLoadTestRunMetrics" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListLoadTestSearch.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListLoadTestSearch.json new file mode 100644 index 000000000000..426d65fde6c3 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListLoadTestSearch.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "next link" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListSupportedResourceType.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListSupportedResourceType.json new file mode 100644 index 000000000000..c9a8838ef725 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListSupportedResourceType.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + "microsoft.cache/redis", + "microsoft.compute/virtualmachines", + "microsoft.compute/virtualmachinescalesets", + "microsoft.containerservice/managedclusters", + "microsoft.web/sites", + "microsoft.web/serverfarms", + "microsoft.insights/components", + "microsoft.servicefabricmesh/applications", + "microsoft.web/staticsites", + "microsoft.network/trafficmanagerprofiles", + "microsoft.apimanagement/service", + "microsoft.classicstorage/storageaccounts", + "microsoft.storage/storageaccounts", + "microsoft.storage/storageaccounts/fileservices", + "microsoft.classicstorage/storageaccounts/fileservices", + "microsoft.storage/storageaccounts/blobservices", + "microsoft.classicstorage/storageaccounts/blobservices", + "microsoft.storage/storageaccounts/tableservices", + "microsoft.classicstorage/storageaccounts/tableservices", + "microsoft.documentdb/databaseaccounts", + "microsoft.sql/managedinstances", + "microsoft.dbformariadb/servers", + "microsoft.dbforpostgresql/servers", + "microsoft.dbforpostgresql/serversv2", + "microsoft.dbformysql/servers", + "microsoft.sql/servers/databases", + "microsoft.sql/servers/elasticpools", + "microsoft.servicebus/namespaces", + "microsoft.eventhub/namespaces", + "microsoft.storage/storageaccounts/queueservices", + "microsoft.classicstorage/storageaccounts/queueservices", + "microsoft.eventhub/clusters", + "microsoft.keyvault/vaults" + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json new file mode 100644 index 000000000000..5de675f2f47b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "Passed", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "outputArtifacts": { + "resultUrl": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsUrl": { + "url": "https://dummyurl.com/logresource", + "fileId": "abb846a7-63af-4d63-bb3d-a7aa4caff55c", + "filename": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "vusers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "next link" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json new file mode 100644 index 000000000000..4e09067d4ff1 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/StopTestRun.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.loadtestservice/sampleresourcetype/sampleresourcename", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfig": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientmetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configUrl": { + "url": "https://dummyurl.com/configresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptUrl": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789011", + "filename": "sample.jmx", + "fileType": "JMX_FILE", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropUrl": { + "url": "https://dummyurl.com/userpropresource", + "fileId": "92345678-1234-1111-1234-123456789013", + "filename": "user.properties", + "fileType": "USER_PROPERTIES", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileurl": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalUrls": [] + }, + "outputArtifacts": { + "resultUrl": null, + "logsUrl": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "vusers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "elon-musk@microsoft.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "elon-musk@microsoft.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json new file mode 100644 index 000000000000..63b209c68763 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/UploadTestFile.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileId": "92345678-1234-1111-1234-123456789012", + "fileType": "ADDITIONAL_ARTIFACTS", + "file": "multipart-form-data", + "api-version": "2022-11-01" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileId": "92345678-1234-1111-1234-123456789012", + "filename": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json new file mode 100644 index 000000000000..64167a2241eb --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -0,0 +1,3381 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Azure Load Testing", + "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", + "version": "2022-11-01" + }, + "paths": { + "/appcomponents/{name}": { + "patch": { + "tags": [ + "AppComponent" + ], + "summary": "Associate an app component (Azure resource) to a test or test run.", + "operationId": "AppComponent_CreateOrUpdateAppComponents", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "description": "App Component model.", + "content": { + "application/merge-patch+json": { + "schema": { + "$ref": "#/components/schemas/AppComponentsMap" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The App Component is updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppComponentsMap" + } + } + } + }, + "201": { + "description": "The App Component is created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppComponentsMap" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Create or update an app component": { + "$ref": "./examples/CreateOrUpdateAppComponents.json" + } + } + }, + "delete": { + "tags": [ + "AppComponent" + ], + "summary": "Delete an app component.", + "operationId": "AppComponent_DeleteAppComponent", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "The App Component is deleted." + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Delete an app component": { + "$ref": "./examples/DeleteAppComponent.json" + } + } + }, + "get": { + "tags": [ + "AppComponent" + ], + "summary": "Get app Component details by unique name.", + "operationId": "AppComponent_GetAppComponentByName", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested app components", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppComponentsMap" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get an app component by an unique name": { + "$ref": "./examples/GetAppComponentByName.json" + } + } + } + }, + "/appcomponents": { + "get": { + "tags": [ + "AppComponent" + ], + "summary": "Get app component for a test or a test run by unique its name.", + "operationId": "AppComponent_GetAppComponent", + "parameters": [ + { + "$ref": "#/parameters/TestIdQueryParameter" + }, + { + "name": "testRunId", + "in": "query", + "description": "Required testRunId, if testId field is not provided", + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested App Components.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppComponentsMap" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get an app component by a test or test run": { + "$ref": "./examples/GetAppComponent.json" + } + } + } + }, + "/serverMetricsConfig/{name}": { + "patch": { + "tags": [ + "ServerMetrics" + ], + "summary": "Configure server metrics for a test or test run", + "operationId": "ServerMetrics_CreateOrUpdateServerMetricsConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "description": "Server metrics configuration model.", + "content": { + "application/merge-patch+json": { + "schema": { + "$ref": "#/components/schemas/ServerMetricsModel" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The server metrics are updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerMetricsModel" + } + } + } + }, + "201": { + "description": "The server metrics are created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerMetricsModel" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Create or update server metrics configuration": { + "$ref": "./examples/CreateOrUpdateServerMetricsConfig.json" + } + } + }, + "get": { + "tags": [ + "ServerMetrics" + ], + "summary": "Get server metrics configuration by its name.", + "operationId": "ServerMetrics_GetServerMetricsByName", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Requested server metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerMetricsModel" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get server metrics configuration by an unique name": { + "$ref": "./examples/GetServerMetricsByName.json" + } + } + }, + "delete": { + "tags": [ + "ServerMetrics" + ], + "summary": "Delete server metrics configuration by its name", + "operationId": "ServerMetrics_DeleteServerMetrics", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "The server metrics configuration is deleted." + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Delete a server metrics configuration": { + "$ref": "./examples/DeleteServerMetrics.json" + } + } + } + }, + "/serverMetricsConfig": { + "get": { + "tags": [ + "ServerMetrics" + ], + "summary": "Get server metrics configuration for a test or test run by its name.", + "operationId": "ServerMetrics_GetServerMetrics", + "parameters": [ + { + "$ref": "#/parameters/TestIdQueryParameter" + }, + { + "name": "testRunId", + "in": "query", + "description": "Required testRunId, if testId field is not provided", + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Requested server metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerMetricsModel" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get server metrics by a test or test run": { + "$ref": "./examples/GetServerMetrics.json" + } + } + } + }, + "/serverMetricsConfig/default": { + "get": { + "tags": [ + "ServerMetrics" + ], + "summary": "Get all default server metrics configuration for supported resource types.", + "operationId": "ServerMetrics_GetServerDefaultMetrics", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested default server metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DefaultServerMetricsConfigListModel" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get default server metrics configuration": { + "$ref": "./examples/GetServerDefaultMetrics.json" + } + } + } + }, + "/serverMetricsConfig/supportedResourceTypes": { + "get": { + "tags": [ + "ServerMetrics" + ], + "summary": "Get all supported resource types for adding an app component(Azure resource types).", + "operationId": "ServerMetrics_ListSupportedResourceType", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The supported resource types and metrics for server side metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SupportedResourceType" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get list of supported resource types for configuring server metrics": { + "$ref": "./examples/ListSupportedResourceType.json" + } + } + } + }, + "/loadtests/{testId}": { + "patch": { + "tags": [ + "Test" + ], + "summary": "Create a new test or update an existing test.", + "operationId": "Test_CreateOrUpdateTest", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "description": "Load test model", + "content": { + "application/merge-patch+json": { + "schema": { + "$ref": "#/components/schemas/TestModel20221101" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The test was updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestModel20221101" + } + } + } + }, + "201": { + "description": "The test was created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestModel20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Create or update a test": { + "$ref": "./examples/CreateOrUpdateTest.json" + } + } + }, + "delete": { + "tags": [ + "Test" + ], + "summary": "Delete a test by its name.", + "operationId": "Test_DeleteLoadTest", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "The test is deleted." + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Delete a test": { + "$ref": "./examples/DeleteLoadTest.json" + } + } + }, + "get": { + "tags": [ + "Test" + ], + "summary": "Get load test details by test name", + "operationId": "Test_GetLoadTest", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested test.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestModel20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get a test by an unique name": { + "$ref": "./examples/GetLoadTest.json" + } + } + } + }, + "/loadtests/sortAndFilter": { + "get": { + "tags": [ + "Test" + ], + "summary": "Get all load tests by the fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "operationId": "Test_ListLoadTestSearch", + "parameters": [ + { + "name": "orderBy", + "in": "query", + "description": "Sort on one of the field - lastModifiedDateTime, displayName, createdBy in (field asc/desc) format. eg: displayName asc.", + "schema": { + "type": "string" + } + }, + { + "name": "search", + "in": "query", + "description": "Filter search based on searchable fields - testId, createdBy.", + "schema": { + "type": "string" + } + }, + { + "name": "lastUpdatedStartTime", + "in": "query", + "description": "Start DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "lastUpdatedEndTime", + "in": "query", + "description": "End DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "continuationToken", + "in": "query", + "description": "Continuation token to get the next page of response", + "schema": { + "type": "string" + } + }, + { + "name": "maxPageSize", + "in": "query", + "description": "Number of results in response.", + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested tests.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestModel20221101ResourceList" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Search test with filters": { + "$ref": "./examples/ListLoadTestSearch.json" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "/loadtests/{testId}/files/{fileId}": { + "put": { + "tags": [ + "Test" + ], + "summary": "Upload input file for a given test name. File size can't be more than 50 MB. Existing file with same name for the given test will be overwritten. File should be provided in the request body as multipart/form-data.", + "operationId": "Test_UploadTestFile", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "name": "fileId", + "in": "path", + "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "name": "fileType", + "in": "query", + "schema": { + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ], + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "file" + ], + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + } + } + }, + "encoding": { + "file": { + "style": "form" + } + } + } + } + }, + "responses": { + "201": { + "description": "The test artifact is uploaded.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileUrl20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Upload a test file": { + "$ref": "./examples/UploadTestFile.json" + } + } + }, + "get": { + "tags": [ + "Test" + ], + "summary": "Get test file by the file name.", + "operationId": "Test_GetTestFile", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "name": "fileId", + "in": "path", + "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested test file url.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileUrl20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get a test file by an unique name": { + "$ref": "./examples/GetTestFile.json" + } + } + }, + "delete": { + "tags": [ + "Test" + ], + "summary": "Delete file by the file name for a test", + "operationId": "Test_DeleteTestFile", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "name": "fileId", + "in": "path", + "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "The requested file is deleted." + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Delete a test file": { + "$ref": "./examples/DeleteTestFile.json" + } + } + } + }, + "/loadtests/{testId}/files": { + "get": { + "tags": [ + "Test" + ], + "summary": "Get all test files.", + "operationId": "Test_GetAllTestFiles", + "parameters": [ + { + "$ref": "#/parameters/TestIdPathParameter" + }, + { + "name": "continuationToken", + "in": "query", + "description": "Continuation token to get the next page of response", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The URLs for the requested test files.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileUrlList" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get all uploaded files to a test": { + "$ref": "./examples/GetAllTestFiles.json" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "/testruns/{testRunId}": { + "delete": { + "tags": [ + "TestRun" + ], + "summary": "Delete a test run by its name.", + "operationId": "TestRun_DeleteTestRun", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "204": { + "description": "The test run is deleted." + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Delete a test run": { + "$ref": "./examples/DeleteTestRun.json" + } + } + }, + "patch": { + "tags": [ + "TestRun" + ], + "summary": "Create and start a new test run with the given name.", + "operationId": "TestRun_CreateAndUpdateTestRun", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "name": "oldTestRunId", + "in": "query", + "description": "Existing test run Id that should be rerun.", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "description": "Load test run model", + "content": { + "application/merge-patch+json": { + "schema": { + "$ref": "#/components/schemas/TestRunModel20221101" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The test run is updated.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestRunModel20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Create or update a test run": { + "$ref": "./examples/CreateAndUpdateTestRun.json" + } + } + }, + "get": { + "tags": [ + "TestRun" + ], + "summary": "Get test run details by name.", + "operationId": "TestRun_GetTestRun", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested test run details", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestRunModel20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get a test run": { + "$ref": "./examples/GetTestRun.json" + } + } + } + }, + "/testruns/{testRunId}/files/{fileId}": { + "get": { + "tags": [ + "TestRun" + ], + "summary": "Get test run file by file name.", + "operationId": "TestRun_GetTestRunFile", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "name": "fileId", + "in": "path", + "description": "Unique name for test run file, must be a valid URL character ^[a-z0-9_-]*$", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The URL for the requested test run file", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FileUrl20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Get a test run file by an unique name": { + "$ref": "./examples/GetTestRunFile.json" + } + } + } + }, + "/testruns/sortAndFilter": { + "get": { + "tags": [ + "TestRun" + ], + "summary": "Get all test runs with given filters", + "operationId": "TestRun_ListTestRunsSearch", + "parameters": [ + { + "name": "orderBy", + "in": "query", + "description": "Sort on one of the field - status, displayName, executedDateTime in (field asc/desc) format. eg: displayName asc.", + "schema": { + "type": "string" + } + }, + { + "name": "continuationToken", + "in": "query", + "description": "Continuation token to get the next page of response", + "schema": { + "type": "string" + } + }, + { + "name": "search", + "in": "query", + "description": "Filter search based on searchable fields - description, executedUser.", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/parameters/TestIdQueryParameter" + }, + { + "name": "executionFrom", + "in": "query", + "description": "End DateTime(ISO 8601 literal format) of test-run execution time filter range.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "executionTo", + "in": "query", + "description": "Start DateTime(ISO 8601 literal format) of test-run execution time filter range.", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "status", + "in": "query", + "description": "Comma separated list of test run status.", + "schema": { + "type": "string" + } + }, + { + "name": "maxPageSize", + "in": "query", + "description": "Number of results in response.", + "schema": { + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested test runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestRunModel20221101ResourceList" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Search test runs with filters": { + "$ref": "./examples/ListTestRunsSearch.json" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "/testruns/{testRunId}:stop": { + "post": { + "tags": [ + "TestRun" + ], + "summary": "Stop test run by name.", + "operationId": "TestRun_StopTestRun", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested test run is stopped. Call GET /testruns/{testRunId} to check the status.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestRunModel20221101" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Stop a test run": { + "$ref": "./examples/StopTestRun.json" + } + } + } + }, + "/testRuns/{testRunId}/metricNamespaces": { + "get": { + "tags": [ + "TestRun" + ], + "summary": "Lists the metric namespaces for a load test run.", + "operationId": "TestRun_MetricNamespaces", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "Successful request to get the list of metric namespaces", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricNamespaceCollection" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Lists the metric namespaces for a load test run.": { + "$ref": "./examples/GetTestRunMetricsNamespaces.json" + } + } + } + }, + "/testRuns/{testRunId}/metricDefinitions": { + "get": { + "tags": [ + "TestRun" + ], + "summary": "Lists the metric definitions for a load test run.", + "operationId": "TestRun_MetricDefinitions", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "name": "metricnamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "The requested load test metrics definition", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricDefinitionCollection" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Lists the metric definitions for a load test run.": { + "$ref": "./examples/GetTestRunMetricsDefinitions.json" + } + } + } + }, + "/testRuns/{testRunId}/metrics": { + "post": { + "tags": [ + "TestRun" + ], + "summary": "Lists the metric values for a load test run.", + "operationId": "TestRun_Metrics", + "parameters": [ + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "The list of aggregation types (comma separated) to retrieve.", + "schema": { + "type": "string" + } + }, + { + "name": "interval", + "in": "query", + "description": "The interval (i.e. timegrain) of the query.", + "schema": { + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "type": "string" + } + }, + { + "name": "metricname", + "in": "query", + "description": "Metric name", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "metricnamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resultType", + "in": "query", + "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details.", + "required": true, + "schema": { + "enum": [ + "Data", + "Metadata" + ], + "type": "string", + "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details." + } + }, + { + "name": "timespan", + "in": "query", + "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "metricTimespan.startTime", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "metricTimespan.endTime", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "aggregations", + "in": "query", + "schema": { + "type": "array", + "items": { + "enum": [ + "Average", + "Count", + "Minimum", + "Maximum", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "type": "string", + "description": "The aggregation type of the metric." + } + } + }, + { + "name": "application", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricRequestPayload" + } + } + } + }, + "responses": { + "200": { + "description": "The requested load test run metrics", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Response" + } + } + } + }, + "default": { + "description": "Load Testing service error response.", + "headers": { + "x-ms-error-code": { + "description": "The error code for specific error that occurred.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponseBody" + } + } + } + } + }, + "x-ms-examples": { + "Lists the metric values for a load test run.": { + "$ref": "./examples/GetTestRunMetrics.json" + }, + "Lists the metric metadata for a load test run.": { + "$ref": "./examples/GetTestRunMetricsMetadata.json" + } + } + } + } + }, + "components": { + "schemas": { + "AppComponent": { + "required": [ + "resourceId", + "resourceName", + "resourceType" + ], + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}" + }, + "resourceName": { + "type": "string", + "description": "Azure resource name" + }, + "resourceType": { + "type": "string", + "description": "Azure resource type" + }, + "displayName": { + "type": "string", + "description": "Azure resource display name", + "nullable": true + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of the Azure resource", + "nullable": true, + "readOnly": true + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id of the Azure resource", + "nullable": true, + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type", + "nullable": true + } + }, + "additionalProperties": false, + "description": "An Azure resource object (Refer azure generic resource model : https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)" + }, + "AppComponentsMap": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Azure Load Testing resource Id", + "nullable": true, + "readOnly": true + }, + "testId": { + "type": "string", + "description": "[Required, if testRunId is not given] Load test unique name", + "nullable": true + }, + "testRunId": { + "type": "string", + "description": "[Required if testId is not given] Load test run unique name", + "nullable": true + }, + "name": { + "type": "string", + "description": "AppComponent name", + "nullable": true, + "readOnly": true + }, + "value": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/AppComponent" + }, + "description": "AppComponents collection { resource id (fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) : resource object } " + } + }, + "additionalProperties": false, + "description": "App Components model" + }, + "CertificateMetadata20221101": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The value of the certificate for respective type", + "nullable": true + }, + "type": { + "enum": [ + "AKV_CERT_URI" + ], + "type": "string", + "description": "Type of certificate" + }, + "name": { + "type": "string", + "description": "Name of the certificate.", + "nullable": true + } + }, + "additionalProperties": false + }, + "DefaultServerMetricsConfigListModel": { + "type": "object", + "properties": { + "defaultMetrics": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DefaultServerMetricsConfigModel" + }, + "nullable": true + }, + "description": "Default metrics collection {resourceType : list of metrics config} (Refer for metrics structure: https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition)", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Default server metrics config" + }, + "DefaultServerMetricsConfigModel": { + "type": "object", + "properties": { + "metricnamespace": { + "type": "string", + "description": "Metric namespace", + "nullable": true + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation", + "nullable": true + }, + "name": { + "$ref": "#/components/schemas/LocalizableString" + }, + "unit": { + "type": "string", + "description": "Metric unit", + "nullable": true + }, + "displayDescription": { + "type": "string", + "description": "Metric display description", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Metrics config model" + }, + "Error": { + "type": "object", + "properties": { + "code": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "target": { + "type": "string", + "nullable": true + }, + "details": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Error" + }, + "nullable": true + } + }, + "additionalProperties": false + }, + "ErrorDetails20221101": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Error details in case test run was not successfully run.", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false, + "description": "Error details if there is any failure in load test run" + }, + "ErrorResponseBody": { + "type": "object", + "properties": { + "error": { + "$ref": "#/components/schemas/Error" + } + }, + "additionalProperties": false + }, + "FileUrl20221101": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "File URL.", + "nullable": true + }, + "fileId": { + "type": "string", + "description": "File unique identifier.", + "nullable": true + }, + "filename": { + "type": "string", + "description": "Name of the file.", + "nullable": true + }, + "fileType": { + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ], + "type": "string", + "description": "File type" + }, + "expireTime": { + "type": "string", + "description": "Expiry time of the file", + "format": "date-time" + }, + "validationStatus": { + "enum": [ + "NOT_VALIDATED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE", + "VALIDATION_INITIATED" + ], + "type": "string", + "description": "Validation status of the file" + } + }, + "additionalProperties": false, + "description": "FileUrl Model." + }, + "FileUrlList": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "description": "List of file URLs." + }, + "nextLink": { + "type": "string", + "description": "Link for the next list of file URLs, if applicable", + "nullable": true + } + }, + "additionalProperties": false + }, + "InputTestArtifacts": { + "type": "object", + "properties": { + "configUrl": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "testScriptUrl": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "userPropUrl": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "inputArtifactsZipFileurl": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "additionalUrls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "description": "Additional supported files for the test run", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false, + "description": "The input artifacts for the test.", + "readOnly": true + }, + "LoadTestConfig20221101": { + "type": "object", + "properties": { + "engineInstances": { + "type": "integer", + "description": "The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.", + "format": "int32", + "nullable": true + }, + "splitAllCSVs": { + "type": "boolean", + "description": "Whether all the input CSV files should be split evenly across all engines.", + "nullable": true + }, + "quickStartTest": { + "type": "boolean", + "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.", + "nullable": true + }, + "optionalLoadTestConfig": { + "$ref": "#/components/schemas/OptionalLoadTestConfig" + } + }, + "additionalProperties": false, + "description": "The load test configuration." + }, + "LocalizableString": { + "type": "object", + "properties": { + "localizedValue": { + "type": "string", + "description": "The locale specific value.", + "nullable": true + }, + "value": { + "type": "string", + "description": "The invariant value.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "The localizable string class." + }, + "MetadataFilter": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The invariant metadata name", + "nullable": true + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The metadata values. Maximum values can be 20.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "The metadatafilter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of where C is equals to c1 or c2, the metricdatafilter value will be {C, [c1,c2]}" + }, + "MetadataValue": { + "type": "object", + "properties": { + "name": { + "$ref": "#/components/schemas/LocalizableString" + }, + "value": { + "type": "string", + "description": "The value of the metadata.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Represents a metric metadata value." + }, + "Metric": { + "type": "object", + "properties": { + "displayDescription": { + "type": "string", + "description": "Detailed description of this metric.", + "nullable": true + }, + "id": { + "type": "string", + "description": "The Metric Id.", + "nullable": true + }, + "name": { + "$ref": "#/components/schemas/LocalizableString" + }, + "timeseries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TimeSeriesElement" + }, + "description": "The time series returned when a data query is performed.", + "nullable": true + }, + "unit": { + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "description": "The unit of the metric." + } + }, + "additionalProperties": false, + "description": "The result data of a query." + }, + "MetricAvailability": { + "type": "object", + "properties": { + "timeGrain": { + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "type": "string", + "description": "The time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'PT1H', etc." + } + }, + "additionalProperties": false, + "description": "Metric availability specifies the time grain (aggregation interval or frequency)" + }, + "MetricDefinition": { + "type": "object", + "properties": { + "dimentions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LocalizableString" + }, + "description": "The name and the display name of the dimension, i.e. it is a localizable string.", + "nullable": true + }, + "displayDescription": { + "type": "string", + "description": "Detailed description of this metric.", + "nullable": true + }, + "name": { + "type": "string", + "description": "The name and the display name of the metric, i.e. it is a localizable string.", + "nullable": true + }, + "namespace": { + "type": "string", + "description": "The namespace the metric belongs to.", + "nullable": true + }, + "primaryAggregationType": { + "enum": [ + "Average", + "Count", + "Minimum", + "Maximum", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "type": "string", + "description": "the primary aggregation type value defining how to use the values for display." + }, + "supportedAggregationTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the collection of what aggregation types are supported.", + "nullable": true + }, + "unit": { + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string", + "description": "The unit of the metric." + }, + "metricAvailabilities": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricAvailability" + }, + "description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Metric definition class specifies the metadata for a metric." + }, + "MetricDefinitionCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricDefinition" + }, + "description": "the values for the metric definitions.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Represents collection of metric definitions." + }, + "MetricNamespace": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The escaped name of the namespace.", + "nullable": true + }, + "metricNamespaceName": { + "type": "string", + "description": "The fully qualified metric namespace name.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Metric namespace class specifies the metadata for a metric namespace." + }, + "MetricNamespaceCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricNamespace" + }, + "description": "The values for the metric namespaces.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Represents collection of metric namespaces." + }, + "MetricRequestPayload": { + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataFilter" + }, + "nullable": true + } + }, + "additionalProperties": false, + "description": "Metric metadata filter to fetch the set of metric" + }, + "MetricValue": { + "type": "object", + "properties": { + "average": { + "type": "number", + "description": "The average value in the time range.", + "format": "double", + "nullable": true + }, + "count": { + "type": "number", + "description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value.", + "format": "double", + "nullable": true + }, + "maximum": { + "type": "number", + "description": "The greatest value in the time range.", + "format": "double", + "nullable": true + }, + "minimum": { + "type": "number", + "description": "The least value in the time range.", + "format": "double", + "nullable": true + }, + "timeStamp": { + "type": "string", + "description": "The timestamp for the metric value in ISO 8601 format.", + "nullable": true + }, + "total": { + "type": "number", + "description": "The sum of all of the values in the time range.", + "format": "double", + "nullable": true + }, + "percentile90": { + "type": "number", + "description": "90th percentile value in the time range.", + "format": "double", + "nullable": true + }, + "percentile95": { + "type": "number", + "description": "95th percentile value in the time range.", + "format": "double", + "nullable": true + }, + "percentile99": { + "type": "number", + "description": "99th percentile value in the time range.", + "format": "double", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Represents a metric value." + }, + "OptionalLoadTestConfig": { + "type": "object", + "properties": { + "endpointUrl": { + "type": "string", + "description": "Endpoint url", + "nullable": true + }, + "vusers": { + "type": "integer", + "description": "No of virtual users ", + "format": "int32" + }, + "rampUpTime": { + "type": "integer", + "description": "ramp up time", + "format": "int32" + }, + "duration": { + "type": "integer", + "description": "duration", + "format": "int32" + } + }, + "additionalProperties": false, + "description": "Quick start load test config" + }, + "OutputTestArtifacts": { + "type": "object", + "properties": { + "resultUrl": { + "$ref": "#/components/schemas/FileUrl20221101" + }, + "logsUrl": { + "$ref": "#/components/schemas/FileUrl20221101" + } + }, + "additionalProperties": false, + "description": "The output artifacts for the test run." + }, + "PassFailCriteria20221101": { + "type": "object", + "properties": { + "passFailMetrics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PassFailMetric20221101" + }, + "description": "Map of id and pass fail metrics { id : pass fail metrics }.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Pass fail criteria for a test." + }, + "PassFailMetric20221101": { + "type": "object", + "properties": { + "clientmetric": { + "enum": [ + "response_time_ms", + "latency", + "error", + "requests", + "requests_per_sec" + ], + "type": "string", + "description": "The client metric on which the criteria should be applied." + }, + "aggregate": { + "enum": [ + "count", + "percentage", + "avg", + "p50", + "p90", + "p95", + "p99", + "min", + "max" + ], + "type": "string", + "description": "The aggregation function to be applied on the client metric. Allowed functions - ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, ‘count’ - for requests" + }, + "condition": { + "type": "string", + "description": "The comparison operator. Supported types ‘>’, ‘<’ ", + "nullable": true + }, + "requestName": { + "type": "string", + "description": "Request name for which the Pass fail criteria has to be applied ", + "nullable": true + }, + "value": { + "type": "number", + "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 , 100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms.", + "format": "double" + }, + "action": { + "enum": [ + "stop", + "continue" + ], + "type": "string", + "description": "Action taken after the threshold is met. Default is ‘continue’." + }, + "actualValue": { + "type": "number", + "description": "The actual value of the client metric for the test run.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "result": { + "enum": [ + "passed", + "undetermined", + "failed" + ], + "type": "string", + "description": "Outcome of the test run.", + "readOnly": true + } + }, + "additionalProperties": false + }, + "ResourceMetricModel": { + "required": [ + "aggregation", + "metricnamespace", + "name", + "resourceId", + "resourceType" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique name for metric.", + "nullable": true, + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricnamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description.", + "nullable": true + }, + "name": { + "$ref": "#/components/schemas/LocalizableString" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit.", + "nullable": true + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + }, + "additionalProperties": false, + "description": "Associated metric definition for particular metrics of the azure resource ( Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition)." + }, + "Response": { + "type": "object", + "properties": { + "interval": { + "type": "string", + "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made.", + "nullable": true + }, + "namespace": { + "type": "string", + "description": "The namespace of the metrics being queried.", + "nullable": true + }, + "timespan": { + "type": "string", + "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested.", + "nullable": true + }, + "value": { + "$ref": "#/components/schemas/Metric" + } + }, + "additionalProperties": false, + "description": "The response to a metrics query." + }, + "SecretMetadata20221101": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The value of the secret for the respective type", + "nullable": true + }, + "type": { + "enum": [ + "AKV_SECRET_URI", + "SECRET_VALUE" + ], + "type": "string", + "description": "Type of secret" + } + }, + "additionalProperties": false + }, + "ServerMetricsModel": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Server metrics configuration model.", + "nullable": true, + "readOnly": true + }, + "testId": { + "type": "string", + "description": "[Required, if test run Id is not given] Load test unique name.", + "nullable": true + }, + "testRunId": { + "type": "string", + "description": "[Required, if test Id is not given] Load test run unique name.", + "nullable": true + }, + "metrics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/ResourceMetricModel" + }, + "description": "Metrics collection {metric id : metrics object} (Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition for metric id).", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Server metrics configuration model" + }, + "SupportedResourceType": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + } + }, + "additionalProperties": false, + "description": "Supported azure resource types for App Component like Microsoft.LoadTestService/loadtests, Microsoft.ClassicCompute, Microsoft.ClassicStorage etc. (Refer for full list of available resource types in azure : https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types, some of them we are supporting for server side metrics configuration)." + }, + "TestArtifacts": { + "required": [ + "inputArtifacts" + ], + "type": "object", + "properties": { + "inputArtifacts": { + "$ref": "#/components/schemas/InputTestArtifacts" + }, + "outputArtifacts": { + "$ref": "#/components/schemas/OutputTestArtifacts" + } + }, + "additionalProperties": false, + "readOnly": true + }, + "TestModel20221101": { + "type": "object", + "properties": { + "passFailCriteria": { + "$ref": "#/components/schemas/PassFailCriteria20221101" + }, + "secrets": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/SecretMetadata20221101" + }, + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", + "nullable": true + }, + "certificate": { + "$ref": "#/components/schemas/CertificateMetadata20221101" + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "description": "Environment variables which are defined as a set of pairs.", + "nullable": true + }, + "loadTestConfig": { + "$ref": "#/components/schemas/LoadTestConfig20221101" + }, + "inputArtifacts": { + "$ref": "#/components/schemas/InputTestArtifacts" + }, + "testId": { + "maxLength": 50, + "minLength": 2, + "type": "string", + "description": "Unique test name as identifier.", + "nullable": true, + "readOnly": true + }, + "description": { + "maxLength": 100, + "type": "string", + "description": "The test description.", + "nullable": true + }, + "displayName": { + "maxLength": 50, + "minLength": 2, + "type": "string", + "description": "Display name of a test.", + "nullable": true + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run.", + "nullable": true + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault.", + "nullable": true + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault.", + "nullable": true + }, + "resourceId": { + "type": "string", + "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "nullable": true, + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "description": "The created DateTime(ISO 8601 literal format) of the test model.", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created the test model.", + "nullable": true, + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified the test model.", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false, + "description": "Load test model" + }, + "TestModel20221101ResourceList": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TestModel20221101" + }, + "description": "List of Resources" + }, + "nextLink": { + "type": "string", + "description": "Link for the next list of resources in case of paginated results, if applicable", + "nullable": true + } + }, + "additionalProperties": false, + "description": "List of Resources" + }, + "TestRunModel20221101": { + "type": "object", + "properties": { + "passFailCriteria": { + "$ref": "#/components/schemas/PassFailCriteria20221101" + }, + "secrets": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/SecretMetadata20221101" + }, + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", + "nullable": true + }, + "certificate": { + "$ref": "#/components/schemas/CertificateMetadata20221101" + }, + "environmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "description": "Environment variables which are defined as a set of pairs.", + "nullable": true + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ErrorDetails20221101" + }, + "description": "Error details if there is any failure in load test run", + "nullable": true, + "readOnly": true + }, + "testRunStatistics": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/TestRunStatisticsModel" + }, + "description": "Test run statistics.", + "nullable": true, + "readOnly": true + }, + "loadTestConfig": { + "$ref": "#/components/schemas/LoadTestConfig20221101" + }, + "testArtifacts": { + "$ref": "#/components/schemas/TestArtifacts" + }, + "testResult": { + "enum": [ + "PASSED", + "NOT_APPLICABLE", + "FAILED" + ], + "type": "string", + "description": "Test result for pass/Fail criteria used during the test run.", + "readOnly": true + }, + "testRunId": { + "type": "string", + "description": "Unique test run name as identifier", + "nullable": true, + "readOnly": true + }, + "displayName": { + "maxLength": 50, + "minLength": 2, + "type": "string", + "description": "Display name of a testRun.", + "nullable": true + }, + "testId": { + "maxLength": 50, + "minLength": 2, + "type": "string", + "description": "Associated test Id.", + "nullable": true + }, + "description": { + "maxLength": 100, + "type": "string", + "description": "The test run description.", + "nullable": true + }, + "status": { + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "PROVISIONING", + "PROVISIONED", + "CONFIGURING", + "CONFIGURED", + "EXECUTING", + "EXECUTED", + "DEPROVISIONING", + "DEPROVISIONED", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE" + ], + "type": "string", + "description": "The test run status.", + "readOnly": true + }, + "startDateTime": { + "type": "string", + "description": "The test run start DateTime(ISO 8601 literal format).", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "endDateTime": { + "type": "string", + "description": "The test run end DateTime(ISO 8601 literal format).", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "executedDateTime": { + "type": "string", + "description": "Test run initiated time.", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "vusers": { + "type": "integer", + "description": "Number of virtual users, for which test has been run.", + "format": "int32", + "nullable": true, + "readOnly": true + }, + "portalUrl": { + "type": "string", + "description": "Portal url.", + "nullable": true, + "readOnly": true + }, + "duration": { + "type": "integer", + "description": "Test run duration in milliseconds.", + "format": "int64", + "nullable": true, + "readOnly": true + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run.", + "nullable": true, + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "nullable": true, + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "description": "The created DateTime(ISO 8601 literal format) of the test model.", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created the test model.", + "nullable": true, + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", + "format": "date-time", + "nullable": true, + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified the test model.", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false, + "description": "Load test run model" + }, + "TestRunModel20221101ResourceList": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TestRunModel20221101" + }, + "description": "List of Resources" + }, + "nextLink": { + "type": "string", + "description": "Link for the next list of resources in case of paginated results, if applicable", + "nullable": true + } + }, + "additionalProperties": false, + "description": "List of Resources" + }, + "TestRunStatisticsModel": { + "type": "object", + "properties": { + "transaction": { + "type": "string", + "description": "Transaction name.", + "nullable": true, + "readOnly": true + }, + "sampleCount": { + "type": "number", + "description": "Sampler count.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "errorCount": { + "type": "number", + "description": "Error count.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "errorPct": { + "type": "number", + "description": "Error percentage.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "meanResTime": { + "type": "number", + "description": "Mean response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "medianResTime": { + "type": "number", + "description": "Median response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "maxResTime": { + "type": "number", + "description": "Max response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "minResTime": { + "type": "number", + "description": "Minimum response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "pct1ResTime": { + "type": "number", + "description": "90 percentile response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "pct2ResTime": { + "type": "number", + "description": "95 percentile response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "pct3ResTime": { + "type": "number", + "description": "99 percentile response time.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "throughput": { + "type": "number", + "description": "Throughput.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "receivedKBytesPerSec": { + "type": "number", + "description": "Received network bytes.", + "format": "double", + "nullable": true, + "readOnly": true + }, + "sentKBytesPerSec": { + "type": "number", + "description": "Send network bytes.", + "format": "double", + "nullable": true, + "readOnly": true + } + }, + "additionalProperties": false, + "description": "Test run statistics.", + "readOnly": true + }, + "TimeSeriesElement": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetricValue" + }, + "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified.", + "nullable": true + }, + "metadatavalues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetadataValue" + }, + "description": "The metadata values ", + "nullable": true + } + }, + "additionalProperties": false, + "description": "The time series returned when a data query is performed." + } + }, + "parameters": { + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "API version", + "required": true, + "schema": { + "type": "string" + } + }, + "TestIdQueryParameter": { + "name": "testId", + "in": "query", + "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "TestIdPathParameter": { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "schema": { + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "Endpoint": { + "name": "Endpoint", + "in": "path", + "description": "URL to perform data plane API operations on the resource.", + "required": true, + "schema": { + "type": "string" + }, + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securitySchemes": { + "oauth2": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flows": { + "implicit": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "https://loadtest.azure-dev.com/.default": "OAuth2 scope for Azure Load Test Service" + } + } + } + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": true, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ] +} \ No newline at end of file From 8153aa1691d1840f39aff2222231f386ed8ff795 Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Fri, 14 Oct 2022 01:37:57 +0530 Subject: [PATCH 02/16] prettier run --- .../examples/GetTestRunMetrics.json | 187 +++++++++--------- .../GetTestRunMetricsDefinitions.json | 6 +- .../examples/GetTestRunMetricsMetadata.json | 99 +++++----- .../examples/GetTestRunMetricsNamespaces.json | 2 +- .../stable/2022-11-01/loadtestservice.json | 6 +- .../loadtestservice/data-plane/readme.md | 17 +- 6 files changed, 162 insertions(+), 155 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json index e6bea2f89c27..bf712d094e48 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetrics.json @@ -1,100 +1,99 @@ { - "parameters": { - "testRunId": "12316678-1234-1234-1234-122451189012", - "interval": "PT1H", - "aggregation" : "Average", - "metricname" : "ActiveThreads", - "metricnamespace" : "JMeterLoadTestRunMetrics", - "resultType" : "Data", - "timespan" : "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", - "api-version": "2022-11-01", - "body" : { - "filters": [ - { - "name": "SamplerName", - "values": [ - "HTTP Request" - ] - } - ] - } - }, - "responses": { - "200": { - "body": { - "interval": "PT1H", - "namespace": "JMeterLoadTestRunMetrics", - "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", - "value": { - "displayDescription": "Virtual Users", - "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", - "name": { - "localizedValue": "Virtual Users", - "value": "ActiveThreads" - }, - "timeseries": [ - { - "data": [ - { - "average": null, - "count": 12.790277777777778, - "maximum": null, - "minimum": null, - "timeStamp": "9/24/2022 7:00:00 PM", - "total": null, - "percentile90": null, - "percentile95": null, - "percentile99": null - }, - { - "average": null, - "count": 21.7725, - "maximum": null, - "minimum": null, - "timeStamp": "9/24/2022 8:00:00 PM", - "total": null, - "percentile90": null, - "percentile95": null, - "percentile99": null - }, - { - "average": null, - "count": 21.77888888888889, - "maximum": null, - "minimum": null, - "timeStamp": "9/24/2022 9:00:00 PM", - "total": null, - "percentile90": null, - "percentile95": null, - "percentile99": null - }, - { - "average": null, - "count": 19.93777777777778, - "maximum": null, - "minimum": null, - "timeStamp": "9/24/2022 10:00:00 PM", - "total": null, - "percentile90": null, - "percentile95": null, - "percentile99": null - } - ], - "metadatavalues": [ - { - "name": { - "localizedValue": "Sampler Name", - "value": "SamplerName" - }, - "value": "HTTP Request" - } - ] - } + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricnamespace": "JMeterLoadTestRunMetrics", + "resultType": "Data", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "interval": "PT1H", + "namespace": "JMeterLoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "value": { + "displayDescription": "Virtual Users", + "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", + "name": { + "localizedValue": "Virtual Users", + "value": "ActiveThreads" + }, + "timeseries": [ + { + "data": [ + { + "average": null, + "count": 12.790277777777778, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 7:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 21.7725, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 8:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 21.77888888888889, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 9:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + }, + { + "average": null, + "count": 19.93777777777778, + "maximum": null, + "minimum": null, + "timeStamp": "9/24/2022 10:00:00 PM", + "total": null, + "percentile90": null, + "percentile95": null, + "percentile99": null + } ], - "unit": "Count" - } + "metadatavalues": [ + { + "name": { + "localizedValue": "Sampler Name", + "value": "SamplerName" + }, + "value": "HTTP Request" + } + ] + } + ], + "unit": "Count" } } } } - \ No newline at end of file +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json index 250371cbf2b3..2e84465aaeaa 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json @@ -1,13 +1,13 @@ { "parameters": { "testRunId": "12316678-1234-1234-1234-122451189012", - "metricnamespace" : "JMeterLoadTestRunMetrics", + "metricnamespace": "JMeterLoadTestRunMetrics", "api-version": "2022-11-01" }, "responses": { "200": { "body": { - "value": [ + "value": [ { "id": "12316678-1234-1234-1234-122451189012/ActiveThreads", "namespace": "JMeterLoadTestRunMetrics", @@ -46,5 +46,3 @@ } } } - - \ No newline at end of file diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json index 02e155c0670c..ec4f512c805a 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json @@ -1,55 +1,54 @@ { - "parameters": { - "testRunId": "12316678-1234-1234-1234-122451189012", - "interval": "PT1H", - "aggregation" : "Average", - "metricname" : "ActiveThreads", - "metricnamespace" : "JMeterLoadTestRunMetrics", - "resultType" : "Metadata", - "timespan" : "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", - "api-version": "2022-11-01" - }, - "responses": { - "200": { - "body": { - "interval": "PT1H", - "namespace": "JMeterLoadTestRunMetrics", - "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", - "value": { - "displayDescription": "Virtual Users", - "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", - "name": { - "localizedValue": "Virtual Users", - "value": "ActiveThreads" - }, - "timeseries": [ - { - "metadatavalues": [ - { - "name": { - "localizedValue": "Sampler Name", - "value": "SamplerName" - }, - "value": "HTTP Request" - }, - { - "metadatavalues": [ - { - "name": { - "value": "Error", - "localizedValue": "Error code" - }, - "value": "429" - } - ] - } - ] - } - ], - "unit": "Count" - } + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricnamespace": "JMeterLoadTestRunMetrics", + "resultType": "Metadata", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2022-11-01" + }, + "responses": { + "200": { + "body": { + "interval": "PT1H", + "namespace": "JMeterLoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "value": { + "displayDescription": "Virtual Users", + "id": "edf1875a-7af2-4c87-be05-02f64010244d/ActiveThreads", + "name": { + "localizedValue": "Virtual Users", + "value": "ActiveThreads" + }, + "timeseries": [ + { + "metadatavalues": [ + { + "name": { + "localizedValue": "Sampler Name", + "value": "SamplerName" + }, + "value": "HTTP Request" + }, + { + "metadatavalues": [ + { + "name": { + "value": "Error", + "localizedValue": "Error code" + }, + "value": "429" + } + ] + } + ] + } + ], + "unit": "Count" } } } } - \ No newline at end of file +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json index c635a4c004e4..181e6853273d 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsNamespaces.json @@ -15,4 +15,4 @@ } } } -} \ No newline at end of file +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 64167a2241eb..a277889bec41 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2280,7 +2280,7 @@ } }, "additionalProperties": false, - "description": "The metadatafilter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of where C is equals to c1 or c2, the metricdatafilter value will be {C, [c1,c2]}" + "description": "The MetadataFilter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of where C is equals to c1 or c2, the MetadataFilter value will be {C, [c1,c2]}" }, "MetadataValue": { "type": "object", @@ -3358,7 +3358,7 @@ "implicit": { "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { - "https://loadtest.azure-dev.com/.default": "OAuth2 scope for Azure Load Test Service" + "https://cnt-prod.loadtesting.azure.com/.default": "OAuth2 scope for Azure Load Test Service" } } } @@ -3378,4 +3378,4 @@ "schemes": [ "https" ] -} \ No newline at end of file +} diff --git a/specification/loadtestservice/data-plane/readme.md b/specification/loadtestservice/data-plane/readme.md index 78d34581cfef..b0addaca0312 100644 --- a/specification/loadtestservice/data-plane/readme.md +++ b/specification/loadtestservice/data-plane/readme.md @@ -23,7 +23,16 @@ These are the global settings for the loadtestservice. ```yaml openapi-type: data-plane -tag: package-2022-06-01-preview +tag: package-2022-11-01 +``` + +### Tag: package-2021-11-01 + +These settings apply only when `--tag=package-2022-11-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-11-01' +input-file: + - Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json ``` ### Tag: package-2022-06-01-preview @@ -44,6 +53,8 @@ input-file: - Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json ``` + + ### Java These settings apply only when `--java` is specified on the command line. @@ -51,7 +62,7 @@ Please also specify `--azure-sdk-for-java-folder= Date: Fri, 14 Oct 2022 12:24:31 +0530 Subject: [PATCH 03/16] spell check --- .../stable/2022-11-01/loadtestservice.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index a277889bec41..edc0870c70a1 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2360,7 +2360,7 @@ "MetricDefinition": { "type": "object", "properties": { - "dimentions": { + "dimensions": { "type": "array", "items": { "$ref": "#/components/schemas/LocalizableString" @@ -3378,4 +3378,4 @@ "schemes": [ "https" ] -} +} \ No newline at end of file From b7005b09a2fe6ef09bfb61c1af4d6033becc76cc Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Fri, 14 Oct 2022 12:46:47 +0530 Subject: [PATCH 04/16] changing swagger back to 2.0 --- .../stable/2022-11-01/loadtestservice.json | 3864 ++++++++--------- 1 file changed, 1700 insertions(+), 2164 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index edc0870c70a1..ea4f52990782 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -1,5 +1,5 @@ { - "openapi": "3.0.1", + "swagger": "2.0", "info": { "title": "Azure Load Testing", "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", @@ -13,70 +13,58 @@ ], "summary": "Associate an app component (Azure resource) to a test or test run.", "operationId": "AppComponent_CreateOrUpdateAppComponents", + "consumes": [ + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "App Component model.", + "required": true, + "schema": { + "$ref": "#/definitions/AppComponentsMap" + } } ], - "requestBody": { - "description": "App Component model.", - "content": { - "application/merge-patch+json": { - "schema": { - "$ref": "#/components/schemas/AppComponentsMap" - } - } - }, - "required": true - }, "responses": { "200": { "description": "The App Component is updated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppComponentsMap" - } - } + "schema": { + "$ref": "#/definitions/AppComponentsMap" } }, "201": { "description": "The App Component is created.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppComponentsMap" - } - } + "schema": { + "$ref": "#/definitions/AppComponentsMap" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -93,18 +81,19 @@ ], "summary": "Delete an app component.", "operationId": "AppComponent_DeleteAppComponent", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -116,19 +105,13 @@ }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -145,18 +128,19 @@ ], "summary": "Get app Component details by unique name.", "operationId": "AppComponent_GetAppComponentByName", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -165,29 +149,19 @@ "responses": { "200": { "description": "The requested app components", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppComponentsMap" - } - } + "schema": { + "$ref": "#/definitions/AppComponentsMap" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -206,20 +180,21 @@ ], "summary": "Get app component for a test or a test run by unique its name.", "operationId": "AppComponent_GetAppComponent", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdQueryParameter" }, { - "name": "testRunId", "in": "query", + "name": "testRunId", "description": "Required testRunId, if testId field is not provided", - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -228,29 +203,19 @@ "responses": { "200": { "description": "The requested App Components.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppComponentsMap" - } - } + "schema": { + "$ref": "#/definitions/AppComponentsMap" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -269,70 +234,58 @@ ], "summary": "Configure server metrics for a test or test run", "operationId": "ServerMetrics_CreateOrUpdateServerMetricsConfig", + "consumes": [ + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Server metrics configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/ServerMetricsModel" + } } ], - "requestBody": { - "description": "Server metrics configuration model.", - "content": { - "application/merge-patch+json": { - "schema": { - "$ref": "#/components/schemas/ServerMetricsModel" - } - } - }, - "required": true - }, "responses": { "200": { "description": "The server metrics are updated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerMetricsModel" - } - } + "schema": { + "$ref": "#/definitions/ServerMetricsModel" } }, "201": { "description": "The server metrics are created.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerMetricsModel" - } - } + "schema": { + "$ref": "#/definitions/ServerMetricsModel" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -349,18 +302,19 @@ ], "summary": "Get server metrics configuration by its name.", "operationId": "ServerMetrics_GetServerMetricsByName", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -369,29 +323,19 @@ "responses": { "200": { "description": "Requested server metrics", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerMetricsModel" - } - } + "schema": { + "$ref": "#/definitions/ServerMetricsModel" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -408,18 +352,19 @@ ], "summary": "Delete server metrics configuration by its name", "operationId": "ServerMetrics_DeleteServerMetrics", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "name", "in": "path", + "name": "name", "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -431,19 +376,13 @@ }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -462,20 +401,21 @@ ], "summary": "Get server metrics configuration for a test or test run by its name.", "operationId": "ServerMetrics_GetServerMetrics", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdQueryParameter" }, { - "name": "testRunId", "in": "query", + "name": "testRunId", "description": "Required testRunId, if testId field is not provided", - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -484,29 +424,19 @@ "responses": { "200": { "description": "Requested server metrics", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerMetricsModel" - } - } + "schema": { + "$ref": "#/definitions/ServerMetricsModel" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -525,6 +455,9 @@ ], "summary": "Get all default server metrics configuration for supported resource types.", "operationId": "ServerMetrics_GetServerDefaultMetrics", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -533,29 +466,19 @@ "responses": { "200": { "description": "The requested default server metrics", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DefaultServerMetricsConfigListModel" - } - } + "schema": { + "$ref": "#/definitions/DefaultServerMetricsConfigListModel" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -574,6 +497,9 @@ ], "summary": "Get all supported resource types for adding an app component(Azure resource types).", "operationId": "ServerMetrics_ListSupportedResourceType", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -582,29 +508,19 @@ "responses": { "200": { "description": "The supported resource types and metrics for server side metrics", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SupportedResourceType" - } - } + "schema": { + "$ref": "#/definitions/SupportedResourceType" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -623,61 +539,51 @@ ], "summary": "Create a new test or update an existing test.", "operationId": "Test_CreateOrUpdateTest", + "consumes": [ + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" }, { "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Load test model", + "required": true, + "schema": { + "$ref": "#/definitions/TestModel20221101" + } } ], - "requestBody": { - "description": "Load test model", - "content": { - "application/merge-patch+json": { - "schema": { - "$ref": "#/components/schemas/TestModel20221101" - } - } - }, - "required": true - }, "responses": { "200": { "description": "The test was updated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestModel20221101" } }, "201": { "description": "The test was created.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestModel20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -694,6 +600,9 @@ ], "summary": "Delete a test by its name.", "operationId": "Test_DeleteLoadTest", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" @@ -708,19 +617,13 @@ }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -737,6 +640,9 @@ ], "summary": "Get load test details by test name", "operationId": "Test_GetLoadTest", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" @@ -748,29 +654,19 @@ "responses": { "200": { "description": "The requested test.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestModel20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -789,58 +685,49 @@ ], "summary": "Get all load tests by the fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", "operationId": "Test_ListLoadTestSearch", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "orderBy", "in": "query", + "name": "orderBy", "description": "Sort on one of the field - lastModifiedDateTime, displayName, createdBy in (field asc/desc) format. eg: displayName asc.", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "search", "in": "query", + "name": "search", "description": "Filter search based on searchable fields - testId, createdBy.", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "lastUpdatedStartTime", "in": "query", + "name": "lastUpdatedStartTime", "description": "Start DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", - "schema": { - "type": "string", - "format": "date-time" - } + "type": "string", + "format": "date-time" }, { - "name": "lastUpdatedEndTime", "in": "query", + "name": "lastUpdatedEndTime", "description": "End DateTime(ISO 8601 literal format) of the last updated time range to filter tests.", - "schema": { - "type": "string", - "format": "date-time" - } + "type": "string", + "format": "date-time" }, { - "name": "continuationToken", "in": "query", + "name": "continuationToken", "description": "Continuation token to get the next page of response", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "maxPageSize", "in": "query", + "name": "maxPageSize", "description": "Number of results in response.", - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } + "type": "integer", + "format": "int32", + "default": 50 }, { "$ref": "#/parameters/ApiVersion" @@ -849,29 +736,19 @@ "responses": { "200": { "description": "The requested tests.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestModel20221101ResourceList" - } - } + "schema": { + "$ref": "#/definitions/TestModel20221101ResourceList" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -893,87 +770,62 @@ ], "summary": "Upload input file for a given test name. File size can't be more than 50 MB. Existing file with same name for the given test will be overwritten. File should be provided in the request body as multipart/form-data.", "operationId": "Test_UploadTestFile", + "consumes": [ + "multipart/form-data" + ], + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" }, { - "name": "fileId", "in": "path", + "name": "fileId", "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { - "name": "fileType", "in": "query", - "schema": { - "enum": [ - "JMX_FILE", - "USER_PROPERTIES", - "ADDITIONAL_ARTIFACTS" - ], - "type": "string" - } + "name": "fileType", + "type": "string", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ] }, { "$ref": "#/parameters/ApiVersion" + }, + { + "in": "formData", + "name": "file", + "required": true, + "type": "file" } ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "required": [ - "file" - ], - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - } - } - }, - "encoding": { - "file": { - "style": "form" - } - } - } - } - }, "responses": { "201": { "description": "The test artifact is uploaded.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FileUrl20221101" - } - } + "schema": { + "$ref": "#/definitions/FileUrl20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -990,21 +842,22 @@ ], "summary": "Get test file by the file name.", "operationId": "Test_GetTestFile", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" }, { - "name": "fileId", "in": "path", + "name": "fileId", "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1013,29 +866,19 @@ "responses": { "200": { "description": "The requested test file url.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FileUrl20221101" - } - } + "schema": { + "$ref": "#/definitions/FileUrl20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1052,21 +895,22 @@ ], "summary": "Delete file by the file name for a test", "operationId": "Test_DeleteTestFile", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" }, { - "name": "fileId", "in": "path", + "name": "fileId", "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1078,19 +922,13 @@ }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1109,17 +947,18 @@ ], "summary": "Get all test files.", "operationId": "Test_GetAllTestFiles", + "produces": [ + "application/json" + ], "parameters": [ { "$ref": "#/parameters/TestIdPathParameter" }, { - "name": "continuationToken", "in": "query", + "name": "continuationToken", "description": "Continuation token to get the next page of response", - "schema": { - "type": "string" - } + "type": "string" }, { "$ref": "#/parameters/ApiVersion" @@ -1128,29 +967,19 @@ "responses": { "200": { "description": "The URLs for the requested test files.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FileUrlList" - } - } + "schema": { + "$ref": "#/definitions/FileUrlList" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1172,18 +1001,19 @@ ], "summary": "Delete a test run by its name.", "operationId": "TestRun_DeleteTestRun", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1195,19 +1025,13 @@ }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1224,68 +1048,58 @@ ], "summary": "Create and start a new test run with the given name.", "operationId": "TestRun_CreateAndUpdateTestRun", + "consumes": [ + "application/merge-patch+json" + ], + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { - "name": "oldTestRunId", "in": "query", + "name": "oldTestRunId", "description": "Existing test run Id that should be rerun.", - "schema": { - "type": "string" - } + "type": "string" }, { "$ref": "#/parameters/ApiVersion" + }, + { + "in": "body", + "name": "body", + "description": "Load test run model", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunModel20221101" + } } ], - "requestBody": { - "description": "Load test run model", - "content": { - "application/merge-patch+json": { - "schema": { - "$ref": "#/components/schemas/TestRunModel20221101" - } - } - }, - "required": true - }, "responses": { "200": { "description": "The test run is updated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestRunModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestRunModel20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1302,18 +1116,19 @@ ], "summary": "Get test run details by name.", "operationId": "TestRun_GetTestRun", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1322,29 +1137,19 @@ "responses": { "200": { "description": "The requested test run details", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestRunModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestRunModel20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1363,30 +1168,29 @@ ], "summary": "Get test run file by file name.", "operationId": "TestRun_GetTestRunFile", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { - "name": "fileId", "in": "path", + "name": "fileId", "description": "Unique name for test run file, must be a valid URL character ^[a-z0-9_-]*$", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1395,29 +1199,19 @@ "responses": { "200": { "description": "The URL for the requested test run file", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FileUrl20221101" - } - } + "schema": { + "$ref": "#/definitions/FileUrl20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1436,69 +1230,58 @@ ], "summary": "Get all test runs with given filters", "operationId": "TestRun_ListTestRunsSearch", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "orderBy", "in": "query", + "name": "orderBy", "description": "Sort on one of the field - status, displayName, executedDateTime in (field asc/desc) format. eg: displayName asc.", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "continuationToken", "in": "query", + "name": "continuationToken", "description": "Continuation token to get the next page of response", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "search", "in": "query", + "name": "search", "description": "Filter search based on searchable fields - description, executedUser.", - "schema": { - "type": "string" - } + "type": "string" }, { "$ref": "#/parameters/TestIdQueryParameter" }, { - "name": "executionFrom", "in": "query", + "name": "executionFrom", "description": "End DateTime(ISO 8601 literal format) of test-run execution time filter range.", - "schema": { - "type": "string", - "format": "date-time" - } + "type": "string", + "format": "date-time" }, { - "name": "executionTo", "in": "query", + "name": "executionTo", "description": "Start DateTime(ISO 8601 literal format) of test-run execution time filter range.", - "schema": { - "type": "string", - "format": "date-time" - } + "type": "string", + "format": "date-time" }, { - "name": "status", "in": "query", + "name": "status", "description": "Comma separated list of test run status.", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "maxPageSize", "in": "query", + "name": "maxPageSize", "description": "Number of results in response.", - "schema": { - "type": "integer", - "format": "int32", - "default": 50 - } + "type": "integer", + "format": "int32", + "default": 50 }, { "$ref": "#/parameters/ApiVersion" @@ -1507,29 +1290,19 @@ "responses": { "200": { "description": "The requested test runs", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestRunModel20221101ResourceList" - } - } + "schema": { + "$ref": "#/definitions/TestRunModel20221101ResourceList" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1551,18 +1324,19 @@ ], "summary": "Stop test run by name.", "operationId": "TestRun_StopTestRun", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1571,29 +1345,19 @@ "responses": { "200": { "description": "The requested test run is stopped. Call GET /testruns/{testRunId} to check the status.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TestRunModel20221101" - } - } + "schema": { + "$ref": "#/definitions/TestRunModel20221101" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1612,18 +1376,19 @@ ], "summary": "Lists the metric namespaces for a load test run.", "operationId": "TestRun_MetricNamespaces", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/ApiVersion" @@ -1632,29 +1397,19 @@ "responses": { "200": { "description": "Successful request to get the list of metric namespaces", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricNamespaceCollection" - } - } + "schema": { + "$ref": "#/definitions/MetricNamespaceCollection" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1673,27 +1428,26 @@ ], "summary": "Lists the metric definitions for a load test run.", "operationId": "TestRun_MetricDefinitions", + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { - "name": "metricnamespace", "in": "query", + "name": "metricnamespace", "description": "Metric namespace to query metric definitions for.", "required": true, - "schema": { - "type": "string" - } + "type": "string" }, { "$ref": "#/parameters/ApiVersion" @@ -1702,29 +1456,19 @@ "responses": { "200": { "description": "The requested load test metrics definition", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricDefinitionCollection" - } - } + "schema": { + "$ref": "#/definitions/MetricDefinitionCollection" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1743,165 +1487,136 @@ ], "summary": "Lists the metric values for a load test run.", "operationId": "TestRun_Metrics", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], "parameters": [ { - "name": "testRunId", "in": "path", + "name": "testRunId", "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", "required": true, - "schema": { - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "type": "string" - } + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$" }, { - "name": "aggregation", "in": "query", + "name": "aggregation", "description": "The list of aggregation types (comma separated) to retrieve.", - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "interval", "in": "query", + "name": "interval", "description": "The interval (i.e. timegrain) of the query.", - "schema": { - "enum": [ - "PT5S", - "PT10S", - "PT1M", - "PT5M", - "PT1H" - ], - "type": "string" - } + "type": "string", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ] }, { - "name": "metricname", "in": "query", + "name": "metricname", "description": "Metric name", "required": true, - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "metricnamespace", "in": "query", + "name": "metricnamespace", "description": "Metric namespace to query metric definitions for.", "required": true, - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "resultType", "in": "query", + "name": "resultType", "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details.", "required": true, - "schema": { - "enum": [ - "Data", - "Metadata" - ], - "type": "string", - "description": "Reduces the set of data collected. The syntax allowed depends on the operation. See the operation's description for details." - } + "type": "string", + "enum": [ + "Data", + "Metadata" + ] }, { - "name": "timespan", "in": "query", + "name": "timespan", "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", "required": true, - "schema": { - "type": "string" - } + "type": "string" }, { - "name": "metricTimespan.startTime", "in": "query", - "schema": { - "type": "string" - } + "name": "metricTimespan.startTime", + "type": "string" }, { - "name": "metricTimespan.endTime", "in": "query", - "schema": { - "type": "string" - } + "name": "metricTimespan.endTime", + "type": "string" }, { - "name": "aggregations", "in": "query", - "schema": { - "type": "array", - "items": { - "enum": [ - "Average", - "Count", - "Minimum", - "Maximum", - "None", - "Total", - "Percentile90", - "Percentile95", - "Percentile99" - ], - "type": "string", - "description": "The aggregation type of the metric." - } + "name": "aggregations", + "type": "array", + "items": { + "description": "The aggregation type of the metric.", + "enum": [ + "Average", + "Count", + "Minimum", + "Maximum", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "type": "string" } }, { - "name": "application", "in": "query", - "schema": { - "type": "string" - } + "name": "application", + "type": "string" }, { "$ref": "#/parameters/ApiVersion" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricRequestPayload" - } + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MetricRequestPayload" } } - }, + ], "responses": { "200": { "description": "The requested load test run metrics", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Response" - } - } + "schema": { + "$ref": "#/definitions/Response" } }, "default": { "description": "Load Testing service error response.", + "schema": { + "$ref": "#/definitions/ErrorResponseBody" + }, "headers": { "x-ms-error-code": { "description": "The error code for specific error that occurred.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponseBody" - } + "type": "string" } } } @@ -1917,1454 +1632,1275 @@ } } }, - "components": { - "schemas": { - "AppComponent": { - "required": [ - "resourceId", - "resourceName", - "resourceType" - ], - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}" - }, - "resourceName": { - "type": "string", - "description": "Azure resource name" - }, - "resourceType": { - "type": "string", - "description": "Azure resource type" - }, - "displayName": { - "type": "string", - "description": "Azure resource display name", - "nullable": true - }, - "resourceGroup": { - "type": "string", - "description": "Resource group name of the Azure resource", - "nullable": true, - "readOnly": true - }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the Azure resource", - "nullable": true, - "readOnly": true - }, - "kind": { - "type": "string", - "description": "Kind of Azure resource type", - "nullable": true - } + "definitions": { + "AppComponent": { + "description": "An Azure resource object (Refer azure generic resource model : https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", + "required": [ + "resourceId", + "resourceName", + "resourceType" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + "type": "string" }, - "additionalProperties": false, - "description": "An Azure resource object (Refer azure generic resource model : https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)" - }, - "AppComponentsMap": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "resourceId": { - "type": "string", - "description": "Azure Load Testing resource Id", - "nullable": true, - "readOnly": true - }, - "testId": { - "type": "string", - "description": "[Required, if testRunId is not given] Load test unique name", - "nullable": true - }, - "testRunId": { - "type": "string", - "description": "[Required if testId is not given] Load test run unique name", - "nullable": true - }, - "name": { - "type": "string", - "description": "AppComponent name", - "nullable": true, - "readOnly": true - }, - "value": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/AppComponent" - }, - "description": "AppComponents collection { resource id (fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) : resource object } " - } + "resourceName": { + "description": "Azure resource name", + "type": "string" }, - "additionalProperties": false, - "description": "App Components model" - }, - "CertificateMetadata20221101": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The value of the certificate for respective type", - "nullable": true - }, - "type": { - "enum": [ - "AKV_CERT_URI" - ], - "type": "string", - "description": "Type of certificate" - }, - "name": { - "type": "string", - "description": "Name of the certificate.", - "nullable": true - } + "resourceType": { + "description": "Azure resource type", + "type": "string" }, - "additionalProperties": false - }, - "DefaultServerMetricsConfigListModel": { - "type": "object", - "properties": { - "defaultMetrics": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DefaultServerMetricsConfigModel" - }, - "nullable": true - }, - "description": "Default metrics collection {resourceType : list of metrics config} (Refer for metrics structure: https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition)", - "nullable": true - } + "displayName": { + "description": "Azure resource display name", + "type": "string" }, - "additionalProperties": false, - "description": "Default server metrics config" - }, - "DefaultServerMetricsConfigModel": { - "type": "object", - "properties": { - "metricnamespace": { - "type": "string", - "description": "Metric namespace", - "nullable": true - }, - "aggregation": { - "type": "string", - "description": "Metric aggregation", - "nullable": true - }, - "name": { - "$ref": "#/components/schemas/LocalizableString" - }, - "unit": { - "type": "string", - "description": "Metric unit", - "nullable": true - }, - "displayDescription": { - "type": "string", - "description": "Metric display description", - "nullable": true - } + "resourceGroup": { + "description": "Resource group name of the Azure resource", + "type": "string", + "readOnly": true }, - "additionalProperties": false, - "description": "Metrics config model" - }, - "Error": { - "type": "object", - "properties": { - "code": { - "type": "string", - "nullable": true - }, - "message": { - "type": "string", - "nullable": true - }, - "target": { - "type": "string", - "nullable": true - }, - "details": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Error" - }, - "nullable": true - } + "subscriptionId": { + "description": "Subscription Id of the Azure resource", + "type": "string", + "readOnly": true }, - "additionalProperties": false - }, - "ErrorDetails20221101": { - "type": "object", - "properties": { - "message": { - "type": "string", - "description": "Error details in case test run was not successfully run.", - "nullable": true, - "readOnly": true - } + "kind": { + "description": "Kind of Azure resource type", + "type": "string" + } + } + }, + "AppComponentsMap": { + "description": "App Components model", + "required": [ + "value" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "Azure Load Testing resource Id", + "type": "string", + "readOnly": true }, - "additionalProperties": false, - "description": "Error details if there is any failure in load test run" - }, - "ErrorResponseBody": { - "type": "object", - "properties": { - "error": { - "$ref": "#/components/schemas/Error" - } + "testId": { + "description": "[Required, if testRunId is not given] Load test unique name", + "type": "string" }, - "additionalProperties": false - }, - "FileUrl20221101": { - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "File URL.", - "nullable": true - }, - "fileId": { - "type": "string", - "description": "File unique identifier.", - "nullable": true - }, - "filename": { - "type": "string", - "description": "Name of the file.", - "nullable": true - }, - "fileType": { - "enum": [ - "JMX_FILE", - "USER_PROPERTIES", - "ADDITIONAL_ARTIFACTS" - ], - "type": "string", - "description": "File type" - }, - "expireTime": { - "type": "string", - "description": "Expiry time of the file", - "format": "date-time" - }, - "validationStatus": { - "enum": [ - "NOT_VALIDATED", - "VALIDATION_SUCCESS", - "VALIDATION_FAILURE", - "VALIDATION_INITIATED" - ], - "type": "string", - "description": "Validation status of the file" - } + "testRunId": { + "description": "[Required if testId is not given] Load test run unique name", + "type": "string" }, - "additionalProperties": false, - "description": "FileUrl Model." - }, - "FileUrlList": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "description": "List of file URLs." - }, - "nextLink": { - "type": "string", - "description": "Link for the next list of file URLs, if applicable", - "nullable": true + "name": { + "description": "AppComponent name", + "type": "string", + "readOnly": true + }, + "value": { + "description": "AppComponents collection { resource id (fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) : resource object } ", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" } + } + } + }, + "CertificateMetadata20221101": { + "type": "object", + "properties": { + "value": { + "description": "The value of the certificate for respective type", + "type": "string" }, - "additionalProperties": false - }, - "InputTestArtifacts": { - "type": "object", - "properties": { - "configUrl": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "testScriptUrl": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "userPropUrl": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "inputArtifactsZipFileurl": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "additionalUrls": { + "type": { + "description": "Type of certificate", + "enum": [ + "AKV_CERT_URI" + ], + "type": "string" + }, + "name": { + "description": "Name of the certificate.", + "type": "string" + } + } + }, + "DefaultServerMetricsConfigListModel": { + "description": "Default server metrics config", + "type": "object", + "properties": { + "defaultMetrics": { + "description": "Default metrics collection {resourceType : list of metrics config} (Refer for metrics structure: https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition)", + "type": "object", + "additionalProperties": { "type": "array", "items": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "description": "Additional supported files for the test run", - "nullable": true, - "readOnly": true + "$ref": "#/definitions/DefaultServerMetricsConfigModel" + } } + } + } + }, + "DefaultServerMetricsConfigModel": { + "description": "Metrics config model", + "type": "object", + "properties": { + "metricnamespace": { + "description": "Metric namespace", + "type": "string" }, - "additionalProperties": false, - "description": "The input artifacts for the test.", - "readOnly": true - }, - "LoadTestConfig20221101": { - "type": "object", - "properties": { - "engineInstances": { - "type": "integer", - "description": "The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.", - "format": "int32", - "nullable": true - }, - "splitAllCSVs": { - "type": "boolean", - "description": "Whether all the input CSV files should be split evenly across all engines.", - "nullable": true - }, - "quickStartTest": { - "type": "boolean", - "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.", - "nullable": true - }, - "optionalLoadTestConfig": { - "$ref": "#/components/schemas/OptionalLoadTestConfig" - } + "aggregation": { + "description": "Metric aggregation", + "type": "string" }, - "additionalProperties": false, - "description": "The load test configuration." - }, - "LocalizableString": { - "type": "object", - "properties": { - "localizedValue": { - "type": "string", - "description": "The locale specific value.", - "nullable": true - }, - "value": { - "type": "string", - "description": "The invariant value.", - "nullable": true - } + "name": { + "$ref": "#/definitions/LocalizableString" }, - "additionalProperties": false, - "description": "The localizable string class." - }, - "MetadataFilter": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The invariant metadata name", - "nullable": true - }, - "values": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The metadata values. Maximum values can be 20.", - "nullable": true - } + "unit": { + "description": "Metric unit", + "type": "string" }, - "additionalProperties": false, - "description": "The MetadataFilter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of where C is equals to c1 or c2, the MetadataFilter value will be {C, [c1,c2]}" - }, - "MetadataValue": { - "type": "object", - "properties": { - "name": { - "$ref": "#/components/schemas/LocalizableString" - }, - "value": { - "type": "string", - "description": "The value of the metadata.", - "nullable": true - } + "displayDescription": { + "description": "Metric display description", + "type": "string" + } + } + }, + "Error": { + "type": "object", + "properties": { + "code": { + "type": "string" }, - "additionalProperties": false, - "description": "Represents a metric metadata value." - }, - "Metric": { - "type": "object", - "properties": { - "displayDescription": { - "type": "string", - "description": "Detailed description of this metric.", - "nullable": true - }, - "id": { - "type": "string", - "description": "The Metric Id.", - "nullable": true - }, - "name": { - "$ref": "#/components/schemas/LocalizableString" - }, - "timeseries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TimeSeriesElement" - }, - "description": "The time series returned when a data query is performed.", - "nullable": true - }, - "unit": { - "enum": [ - "NotSpecified", - "Percent", - "Count", - "Seconds", - "Milliseconds", - "Bytes", - "BytesPerSecond", - "CountPerSecond" - ], - "type": "string", - "description": "The unit of the metric." - } + "message": { + "type": "string" }, - "additionalProperties": false, - "description": "The result data of a query." - }, - "MetricAvailability": { - "type": "object", - "properties": { - "timeGrain": { - "enum": [ - "PT5S", - "PT10S", - "PT1M", - "PT5M", - "PT1H" - ], - "type": "string", - "description": "The time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'PT1H', etc." + "target": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Error" } + } + } + }, + "ErrorDetails20221101": { + "description": "Error details if there is any failure in load test run", + "type": "object", + "properties": { + "message": { + "description": "Error details in case test run was not successfully run.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponseBody": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "FileUrl20221101": { + "description": "FileUrl Model.", + "type": "object", + "properties": { + "url": { + "description": "File URL.", + "type": "string" }, - "additionalProperties": false, - "description": "Metric availability specifies the time grain (aggregation interval or frequency)" - }, - "MetricDefinition": { - "type": "object", - "properties": { - "dimensions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LocalizableString" - }, - "description": "The name and the display name of the dimension, i.e. it is a localizable string.", - "nullable": true - }, - "displayDescription": { - "type": "string", - "description": "Detailed description of this metric.", - "nullable": true - }, - "name": { - "type": "string", - "description": "The name and the display name of the metric, i.e. it is a localizable string.", - "nullable": true - }, - "namespace": { - "type": "string", - "description": "The namespace the metric belongs to.", - "nullable": true - }, - "primaryAggregationType": { - "enum": [ - "Average", - "Count", - "Minimum", - "Maximum", - "None", - "Total", - "Percentile90", - "Percentile95", - "Percentile99" - ], - "type": "string", - "description": "the primary aggregation type value defining how to use the values for display." - }, - "supportedAggregationTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "the collection of what aggregation types are supported.", - "nullable": true - }, - "unit": { - "enum": [ - "NotSpecified", - "Percent", - "Count", - "Seconds", - "Milliseconds", - "Bytes", - "BytesPerSecond", - "CountPerSecond" - ], - "type": "string", - "description": "The unit of the metric." - }, - "metricAvailabilities": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetricAvailability" - }, - "description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain.", - "nullable": true - } + "fileId": { + "description": "File unique identifier.", + "type": "string" }, - "additionalProperties": false, - "description": "Metric definition class specifies the metadata for a metric." - }, - "MetricDefinitionCollection": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetricDefinition" - }, - "description": "the values for the metric definitions.", - "nullable": true - } + "filename": { + "description": "Name of the file.", + "type": "string" }, - "additionalProperties": false, - "description": "Represents collection of metric definitions." - }, - "MetricNamespace": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The escaped name of the namespace.", - "nullable": true - }, - "metricNamespaceName": { - "type": "string", - "description": "The fully qualified metric namespace name.", - "nullable": true - } + "fileType": { + "description": "File type", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS" + ], + "type": "string" }, - "additionalProperties": false, - "description": "Metric namespace class specifies the metadata for a metric namespace." - }, - "MetricNamespaceCollection": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetricNamespace" - }, - "description": "The values for the metric namespaces.", - "nullable": true - } + "expireTime": { + "format": "date-time", + "description": "Expiry time of the file", + "type": "string" }, - "additionalProperties": false, - "description": "Represents collection of metric namespaces." - }, - "MetricRequestPayload": { - "type": "object", - "properties": { - "filters": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetadataFilter" - }, - "nullable": true - } + "validationStatus": { + "description": "Validation status of the file", + "enum": [ + "NOT_VALIDATED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE", + "VALIDATION_INITIATED" + ], + "type": "string" + } + } + }, + "FileUrlList": { + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "List of file URLs.", + "type": "array", + "items": { + "$ref": "#/definitions/FileUrl20221101" + } + }, + "nextLink": { + "description": "Link for the next list of file URLs, if applicable", + "type": "string" + } + } + }, + "InputTestArtifacts20221101": { + "description": "The input artifacts for the test.", + "type": "object", + "properties": { + "configUrl": { + "$ref": "#/definitions/FileUrl20221101" }, - "additionalProperties": false, - "description": "Metric metadata filter to fetch the set of metric" - }, - "MetricValue": { - "type": "object", - "properties": { - "average": { - "type": "number", - "description": "The average value in the time range.", - "format": "double", - "nullable": true - }, - "count": { - "type": "number", - "description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value.", - "format": "double", - "nullable": true - }, - "maximum": { - "type": "number", - "description": "The greatest value in the time range.", - "format": "double", - "nullable": true - }, - "minimum": { - "type": "number", - "description": "The least value in the time range.", - "format": "double", - "nullable": true - }, - "timeStamp": { - "type": "string", - "description": "The timestamp for the metric value in ISO 8601 format.", - "nullable": true - }, - "total": { - "type": "number", - "description": "The sum of all of the values in the time range.", - "format": "double", - "nullable": true - }, - "percentile90": { - "type": "number", - "description": "90th percentile value in the time range.", - "format": "double", - "nullable": true - }, - "percentile95": { - "type": "number", - "description": "95th percentile value in the time range.", - "format": "double", - "nullable": true - }, - "percentile99": { - "type": "number", - "description": "99th percentile value in the time range.", - "format": "double", - "nullable": true - } - }, - "additionalProperties": false, - "description": "Represents a metric value." - }, - "OptionalLoadTestConfig": { - "type": "object", - "properties": { - "endpointUrl": { - "type": "string", - "description": "Endpoint url", - "nullable": true - }, - "vusers": { - "type": "integer", - "description": "No of virtual users ", - "format": "int32" - }, - "rampUpTime": { - "type": "integer", - "description": "ramp up time", - "format": "int32" - }, - "duration": { - "type": "integer", - "description": "duration", - "format": "int32" - } + "testScriptUrl": { + "$ref": "#/definitions/FileUrl20221101" }, - "additionalProperties": false, - "description": "Quick start load test config" - }, - "OutputTestArtifacts": { - "type": "object", - "properties": { - "resultUrl": { - "$ref": "#/components/schemas/FileUrl20221101" - }, - "logsUrl": { - "$ref": "#/components/schemas/FileUrl20221101" - } + "userPropUrl": { + "$ref": "#/definitions/FileUrl20221101" }, - "additionalProperties": false, - "description": "The output artifacts for the test run." - }, - "PassFailCriteria20221101": { - "type": "object", - "properties": { - "passFailMetrics": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/PassFailMetric20221101" - }, - "description": "Map of id and pass fail metrics { id : pass fail metrics }.", - "nullable": true - } + "inputArtifactsZipFileurl": { + "$ref": "#/definitions/FileUrl20221101" }, - "additionalProperties": false, - "description": "Pass fail criteria for a test." - }, - "PassFailMetric20221101": { - "type": "object", - "properties": { - "clientmetric": { - "enum": [ - "response_time_ms", - "latency", - "error", - "requests", - "requests_per_sec" - ], - "type": "string", - "description": "The client metric on which the criteria should be applied." - }, - "aggregate": { - "enum": [ - "count", - "percentage", - "avg", - "p50", - "p90", - "p95", - "p99", - "min", - "max" - ], - "type": "string", - "description": "The aggregation function to be applied on the client metric. Allowed functions - ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, ‘count’ - for requests" - }, - "condition": { - "type": "string", - "description": "The comparison operator. Supported types ‘>’, ‘<’ ", - "nullable": true + "additionalUrls": { + "description": "Additional supported files for the test run", + "type": "array", + "items": { + "$ref": "#/definitions/FileUrl20221101" }, - "requestName": { - "type": "string", - "description": "Request name for which the Pass fail criteria has to be applied ", - "nullable": true - }, - "value": { - "type": "number", - "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 , 100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms.", - "format": "double" - }, - "action": { - "enum": [ - "stop", - "continue" - ], - "type": "string", - "description": "Action taken after the threshold is met. Default is ‘continue’." - }, - "actualValue": { - "type": "number", - "description": "The actual value of the client metric for the test run.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "result": { - "enum": [ - "passed", - "undetermined", - "failed" - ], - "type": "string", - "description": "Outcome of the test run.", - "readOnly": true - } - }, - "additionalProperties": false + "readOnly": true + } }, - "ResourceMetricModel": { - "required": [ - "aggregation", - "metricnamespace", - "name", - "resourceId", - "resourceType" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique name for metric.", - "nullable": true, - "readOnly": true - }, - "resourceId": { - "type": "string", - "description": "Azure resource id." - }, - "metricnamespace": { - "type": "string", - "description": "Metric name space." - }, - "displayDescription": { - "type": "string", - "description": "Metric description.", - "nullable": true - }, - "name": { - "$ref": "#/components/schemas/LocalizableString" - }, - "aggregation": { - "type": "string", - "description": "Metric aggregation." - }, - "unit": { - "type": "string", - "description": "Metric unit.", - "nullable": true - }, - "resourceType": { - "type": "string", - "description": "Azure resource type." - } + "readOnly": true + }, + "LoadTestConfig20221101": { + "description": "The load test configuration.", + "type": "object", + "properties": { + "engineInstances": { + "format": "int32", + "description": "The number of engine instances to execute load test. Supported values are in range of 1-45. Required for creating a new test.", + "type": "integer" + }, + "splitAllCSVs": { + "description": "Whether all the input CSV files should be split evenly across all engines.", + "type": "boolean" + }, + "quickStartTest": { + "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is not required to upload.", + "type": "boolean" + }, + "optionalLoadTestConfig": { + "$ref": "#/definitions/OptionalLoadTestConfig" + } + } + }, + "LocalizableString": { + "description": "The localizable string class.", + "type": "object", + "properties": { + "localizedValue": { + "description": "The locale specific value.", + "type": "string" }, - "additionalProperties": false, - "description": "Associated metric definition for particular metrics of the azure resource ( Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition)." - }, - "Response": { - "type": "object", - "properties": { - "interval": { - "type": "string", - "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made.", - "nullable": true - }, - "namespace": { - "type": "string", - "description": "The namespace of the metrics being queried.", - "nullable": true - }, - "timespan": { - "type": "string", - "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested.", - "nullable": true - }, - "value": { - "$ref": "#/components/schemas/Metric" - } + "value": { + "description": "The invariant value.", + "type": "string" + } + } + }, + "MetadataFilter": { + "description": "The MetadataFilter is used to reduce the set of metric data returned. Example: Metric contains metadata A, B and C. - Return all time series of where C is equals to c1 or c2, the MetadataFilter value will be {C, [c1,c2]}", + "type": "object", + "properties": { + "name": { + "description": "The invariant metadata name", + "type": "string" }, - "additionalProperties": false, - "description": "The response to a metrics query." - }, - "SecretMetadata20221101": { - "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The value of the secret for the respective type", - "nullable": true - }, - "type": { - "enum": [ - "AKV_SECRET_URI", - "SECRET_VALUE" - ], - "type": "string", - "description": "Type of secret" + "values": { + "description": "The metadata values. Maximum values can be 20.", + "type": "array", + "items": { + "type": "string" } + } + } + }, + "MetadataValue": { + "description": "Represents a metric metadata value.", + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/LocalizableString" + }, + "value": { + "description": "The value of the metadata.", + "type": "string" + } + } + }, + "Metric": { + "description": "The result data of a query.", + "type": "object", + "properties": { + "displayDescription": { + "description": "Detailed description of this metric.", + "type": "string" }, - "additionalProperties": false - }, - "ServerMetricsModel": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Server metrics configuration model.", - "nullable": true, - "readOnly": true - }, - "testId": { - "type": "string", - "description": "[Required, if test run Id is not given] Load test unique name.", - "nullable": true - }, - "testRunId": { - "type": "string", - "description": "[Required, if test Id is not given] Load test run unique name.", - "nullable": true - }, - "metrics": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/ResourceMetricModel" - }, - "description": "Metrics collection {metric id : metrics object} (Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition for metric id).", - "nullable": true - } + "id": { + "description": "The Metric Id.", + "type": "string" }, - "additionalProperties": false, - "description": "Server metrics configuration model" - }, - "SupportedResourceType": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - } + "name": { + "$ref": "#/definitions/LocalizableString" + }, + "timeseries": { + "description": "The time series returned when a data query is performed.", + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesElement" + } + }, + "unit": { + "description": "The unit of the metric.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string" + } + } + }, + "MetricAvailability": { + "description": "Metric availability specifies the time grain (aggregation interval or frequency)", + "type": "object", + "properties": { + "timeGrain": { + "description": "The time grain specifies the aggregation interval for the metric. Expressed as a duration 'PT1M', 'PT1H', etc.", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "type": "string" + } + } + }, + "MetricDefinition": { + "description": "Metric definition class specifies the metadata for a metric.", + "type": "object", + "properties": { + "dimensions": { + "description": "The name and the display name of the dimension, i.e. it is a localizable string.", + "type": "array", + "items": { + "$ref": "#/definitions/LocalizableString" + } + }, + "displayDescription": { + "description": "Detailed description of this metric.", + "type": "string" }, - "additionalProperties": false, - "description": "Supported azure resource types for App Component like Microsoft.LoadTestService/loadtests, Microsoft.ClassicCompute, Microsoft.ClassicStorage etc. (Refer for full list of available resource types in azure : https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types, some of them we are supporting for server side metrics configuration)." - }, - "TestArtifacts": { - "required": [ - "inputArtifacts" - ], - "type": "object", - "properties": { - "inputArtifacts": { - "$ref": "#/components/schemas/InputTestArtifacts" - }, - "outputArtifacts": { - "$ref": "#/components/schemas/OutputTestArtifacts" - } + "name": { + "description": "The name and the display name of the metric, i.e. it is a localizable string.", + "type": "string" }, - "additionalProperties": false, - "readOnly": true - }, - "TestModel20221101": { - "type": "object", - "properties": { - "passFailCriteria": { - "$ref": "#/components/schemas/PassFailCriteria20221101" - }, - "secrets": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/SecretMetadata20221101" - }, - "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", - "nullable": true - }, - "certificate": { - "$ref": "#/components/schemas/CertificateMetadata20221101" - }, - "environmentVariables": { - "type": "object", - "additionalProperties": { - "type": "string", - "nullable": true - }, - "description": "Environment variables which are defined as a set of pairs.", - "nullable": true - }, - "loadTestConfig": { - "$ref": "#/components/schemas/LoadTestConfig20221101" - }, - "inputArtifacts": { - "$ref": "#/components/schemas/InputTestArtifacts" - }, - "testId": { - "maxLength": 50, - "minLength": 2, - "type": "string", - "description": "Unique test name as identifier.", - "nullable": true, - "readOnly": true - }, - "description": { - "maxLength": 100, - "type": "string", - "description": "The test description.", - "nullable": true - }, - "displayName": { - "maxLength": 50, - "minLength": 2, - "type": "string", - "description": "Display name of a test.", - "nullable": true - }, - "subnetId": { - "type": "string", - "description": "Subnet ID on which the load test instances should run.", - "nullable": true - }, - "keyvaultReferenceIdentityType": { - "type": "string", - "description": "Type of the managed identity referencing the Key vault.", - "nullable": true - }, - "keyvaultReferenceIdentityId": { - "type": "string", - "description": "Resource Id of the managed identity referencing the Key vault.", - "nullable": true - }, - "resourceId": { - "type": "string", - "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", - "nullable": true, - "readOnly": true - }, - "createdDateTime": { - "type": "string", - "description": "The created DateTime(ISO 8601 literal format) of the test model.", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "createdBy": { - "type": "string", - "description": "The user that created the test model.", - "nullable": true, - "readOnly": true - }, - "lastModifiedDateTime": { - "type": "string", - "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "lastModifiedBy": { - "type": "string", - "description": "The user that last modified the test model.", - "nullable": true, - "readOnly": true - } + "namespace": { + "description": "The namespace the metric belongs to.", + "type": "string" }, - "additionalProperties": false, - "description": "Load test model" - }, - "TestModel20221101ResourceList": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TestModel20221101" - }, - "description": "List of Resources" - }, - "nextLink": { - "type": "string", - "description": "Link for the next list of resources in case of paginated results, if applicable", - "nullable": true - } + "primaryAggregationType": { + "description": "the primary aggregation type value defining how to use the values for display.", + "enum": [ + "Average", + "Count", + "Minimum", + "Maximum", + "None", + "Total", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "type": "string" }, - "additionalProperties": false, - "description": "List of Resources" - }, - "TestRunModel20221101": { - "type": "object", - "properties": { - "passFailCriteria": { - "$ref": "#/components/schemas/PassFailCriteria20221101" - }, - "secrets": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/SecretMetadata20221101" - }, - "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", - "nullable": true - }, - "certificate": { - "$ref": "#/components/schemas/CertificateMetadata20221101" - }, - "environmentVariables": { - "type": "object", - "additionalProperties": { - "type": "string", - "nullable": true - }, - "description": "Environment variables which are defined as a set of pairs.", - "nullable": true - }, - "errorDetails": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ErrorDetails20221101" - }, - "description": "Error details if there is any failure in load test run", - "nullable": true, - "readOnly": true - }, - "testRunStatistics": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/TestRunStatisticsModel" - }, - "description": "Test run statistics.", - "nullable": true, - "readOnly": true - }, - "loadTestConfig": { - "$ref": "#/components/schemas/LoadTestConfig20221101" - }, - "testArtifacts": { - "$ref": "#/components/schemas/TestArtifacts" - }, - "testResult": { - "enum": [ - "PASSED", - "NOT_APPLICABLE", - "FAILED" - ], - "type": "string", - "description": "Test result for pass/Fail criteria used during the test run.", - "readOnly": true - }, - "testRunId": { - "type": "string", - "description": "Unique test run name as identifier", - "nullable": true, - "readOnly": true - }, - "displayName": { - "maxLength": 50, - "minLength": 2, - "type": "string", - "description": "Display name of a testRun.", - "nullable": true - }, - "testId": { - "maxLength": 50, - "minLength": 2, - "type": "string", - "description": "Associated test Id.", - "nullable": true - }, - "description": { - "maxLength": 100, - "type": "string", - "description": "The test run description.", - "nullable": true - }, - "status": { - "enum": [ - "ACCEPTED", - "NOTSTARTED", - "PROVISIONING", - "PROVISIONED", - "CONFIGURING", - "CONFIGURED", - "EXECUTING", - "EXECUTED", - "DEPROVISIONING", - "DEPROVISIONED", - "DONE", - "CANCELLING", - "CANCELLED", - "FAILED", - "VALIDATION_SUCCESS", - "VALIDATION_FAILURE" - ], - "type": "string", - "description": "The test run status.", - "readOnly": true - }, - "startDateTime": { - "type": "string", - "description": "The test run start DateTime(ISO 8601 literal format).", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "endDateTime": { - "type": "string", - "description": "The test run end DateTime(ISO 8601 literal format).", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "executedDateTime": { - "type": "string", - "description": "Test run initiated time.", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "vusers": { - "type": "integer", - "description": "Number of virtual users, for which test has been run.", - "format": "int32", - "nullable": true, - "readOnly": true - }, - "portalUrl": { - "type": "string", - "description": "Portal url.", - "nullable": true, - "readOnly": true - }, - "duration": { - "type": "integer", - "description": "Test run duration in milliseconds.", - "format": "int64", - "nullable": true, - "readOnly": true - }, - "subnetId": { - "type": "string", - "description": "Subnet ID on which the load test instances should run.", - "nullable": true, - "readOnly": true - }, - "resourceId": { - "type": "string", - "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", - "nullable": true, - "readOnly": true - }, - "createdDateTime": { - "type": "string", - "description": "The created DateTime(ISO 8601 literal format) of the test model.", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "createdBy": { - "type": "string", - "description": "The user that created the test model.", - "nullable": true, - "readOnly": true - }, - "lastModifiedDateTime": { - "type": "string", - "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", - "format": "date-time", - "nullable": true, - "readOnly": true - }, - "lastModifiedBy": { - "type": "string", - "description": "The user that last modified the test model.", - "nullable": true, - "readOnly": true + "supportedAggregationTypes": { + "description": "the collection of what aggregation types are supported.", + "type": "array", + "items": { + "type": "string" + } + }, + "unit": { + "description": "The unit of the metric.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "type": "string" + }, + "metricAvailabilities": { + "description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + } + } + } + }, + "MetricDefinitionCollection": { + "description": "Represents collection of metric definitions.", + "type": "object", + "properties": { + "value": { + "description": "the values for the metric definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricDefinition" } + } + } + }, + "MetricNamespace": { + "description": "Metric namespace class specifies the metadata for a metric namespace.", + "type": "object", + "properties": { + "name": { + "description": "The escaped name of the namespace.", + "type": "string" }, - "additionalProperties": false, - "description": "Load test run model" - }, - "TestRunModel20221101ResourceList": { - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TestRunModel20221101" - }, - "description": "List of Resources" - }, - "nextLink": { - "type": "string", - "description": "Link for the next list of resources in case of paginated results, if applicable", - "nullable": true + "metricNamespaceName": { + "description": "The fully qualified metric namespace name.", + "type": "string" + } + } + }, + "MetricNamespaceCollection": { + "description": "Represents collection of metric namespaces.", + "type": "object", + "properties": { + "value": { + "description": "The values for the metric namespaces.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricNamespace" + } + } + } + }, + "MetricRequestPayload": { + "description": "Metric metadata filter to fetch the set of metric", + "type": "object", + "properties": { + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataFilter" } + } + } + }, + "MetricValue": { + "description": "Represents a metric value.", + "type": "object", + "properties": { + "average": { + "format": "double", + "description": "The average value in the time range.", + "type": "number" + }, + "count": { + "format": "double", + "description": "The number of samples in the time range. Can be used to determine the number of values that contributed to the average value.", + "type": "number" + }, + "maximum": { + "format": "double", + "description": "The greatest value in the time range.", + "type": "number" + }, + "minimum": { + "format": "double", + "description": "The least value in the time range.", + "type": "number" + }, + "timeStamp": { + "description": "The timestamp for the metric value in ISO 8601 format.", + "type": "string" }, - "additionalProperties": false, - "description": "List of Resources" - }, - "TestRunStatisticsModel": { - "type": "object", - "properties": { - "transaction": { - "type": "string", - "description": "Transaction name.", - "nullable": true, - "readOnly": true - }, - "sampleCount": { - "type": "number", - "description": "Sampler count.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "errorCount": { - "type": "number", - "description": "Error count.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "errorPct": { - "type": "number", - "description": "Error percentage.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "meanResTime": { - "type": "number", - "description": "Mean response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "medianResTime": { - "type": "number", - "description": "Median response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "maxResTime": { - "type": "number", - "description": "Max response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "minResTime": { - "type": "number", - "description": "Minimum response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "pct1ResTime": { - "type": "number", - "description": "90 percentile response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "pct2ResTime": { - "type": "number", - "description": "95 percentile response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "pct3ResTime": { - "type": "number", - "description": "99 percentile response time.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "throughput": { - "type": "number", - "description": "Throughput.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "receivedKBytesPerSec": { - "type": "number", - "description": "Received network bytes.", - "format": "double", - "nullable": true, - "readOnly": true - }, - "sentKBytesPerSec": { - "type": "number", - "description": "Send network bytes.", - "format": "double", - "nullable": true, - "readOnly": true - } - }, - "additionalProperties": false, - "description": "Test run statistics.", - "readOnly": true - }, - "TimeSeriesElement": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetricValue" - }, - "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified.", - "nullable": true - }, - "metadatavalues": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MetadataValue" - }, - "description": "The metadata values ", - "nullable": true + "total": { + "format": "double", + "description": "The sum of all of the values in the time range.", + "type": "number" + }, + "percentile90": { + "format": "double", + "description": "90th percentile value in the time range.", + "type": "number" + }, + "percentile95": { + "format": "double", + "description": "95th percentile value in the time range.", + "type": "number" + }, + "percentile99": { + "format": "double", + "description": "99th percentile value in the time range.", + "type": "number" + } + } + }, + "OptionalLoadTestConfig": { + "description": "Quick start load test config", + "type": "object", + "properties": { + "endpointUrl": { + "description": "Endpoint url", + "type": "string" + }, + "vusers": { + "format": "int32", + "description": "No of virtual users ", + "type": "integer" + }, + "rampUpTime": { + "format": "int32", + "description": "ramp up time", + "type": "integer" + }, + "duration": { + "format": "int32", + "description": "duration", + "type": "integer" + } + } + }, + "OutputTestArtifacts20221101": { + "description": "The output artifacts for the test run.", + "type": "object", + "properties": { + "resultUrl": { + "$ref": "#/definitions/FileUrl20221101" + }, + "logsUrl": { + "$ref": "#/definitions/FileUrl20221101" + } + } + }, + "PassFailCriteria20221101": { + "description": "Pass fail criteria for a test.", + "type": "object", + "properties": { + "passFailMetrics": { + "description": "Map of id and pass fail metrics { id : pass fail metrics }.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PassFailMetric20221101" } + } + } + }, + "PassFailMetric20221101": { + "type": "object", + "properties": { + "clientmetric": { + "description": "The client metric on which the criteria should be applied.", + "enum": [ + "response_time_ms", + "latency", + "error", + "requests", + "requests_per_sec" + ], + "type": "string" + }, + "aggregate": { + "description": "The aggregation function to be applied on the client metric. Allowed functions - ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, ‘count’ - for requests", + "enum": [ + "count", + "percentage", + "avg", + "p50", + "p90", + "p95", + "p99", + "min", + "max" + ], + "type": "string" }, - "additionalProperties": false, - "description": "The time series returned when a data query is performed." + "condition": { + "description": "The comparison operator. Supported types ‘>’, ‘<’ ", + "type": "string" + }, + "requestName": { + "description": "Request name for which the Pass fail criteria has to be applied ", + "type": "string" + }, + "value": { + "format": "double", + "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 , 100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms.", + "type": "number" + }, + "action": { + "description": "Action taken after the threshold is met. Default is ‘continue’.", + "enum": [ + "stop", + "continue" + ], + "type": "string" + }, + "actualValue": { + "format": "double", + "description": "The actual value of the client metric for the test run.", + "type": "number", + "readOnly": true + }, + "result": { + "description": "Outcome of the test run.", + "enum": [ + "passed", + "undetermined", + "failed" + ], + "type": "string", + "readOnly": true + } } }, - "parameters": { - "ApiVersion": { - "name": "api-version", - "in": "query", - "description": "API version", - "required": true, - "schema": { + "ResourceMetricModel": { + "description": "Associated metric definition for particular metrics of the azure resource ( Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "required": [ + "aggregation", + "metricnamespace", + "name", + "resourceId", + "resourceType" + ], + "type": "object", + "properties": { + "id": { + "description": "Unique name for metric.", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "Azure resource id.", + "type": "string" + }, + "metricnamespace": { + "description": "Metric name space.", + "type": "string" + }, + "displayDescription": { + "description": "Metric description.", + "type": "string" + }, + "name": { + "$ref": "#/definitions/LocalizableString" + }, + "aggregation": { + "description": "Metric aggregation.", + "type": "string" + }, + "unit": { + "description": "Metric unit.", + "type": "string" + }, + "resourceType": { + "description": "Azure resource type.", "type": "string" } + } + }, + "Response": { + "description": "The response to a metrics query.", + "type": "object", + "properties": { + "interval": { + "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made.", + "type": "string" + }, + "namespace": { + "description": "The namespace of the metrics being queried.", + "type": "string" + }, + "timespan": { + "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested.", + "type": "string" + }, + "value": { + "$ref": "#/definitions/Metric" + } + } + }, + "SecretMetadata20221101": { + "type": "object", + "properties": { + "value": { + "description": "The value of the secret for the respective type", + "type": "string" + }, + "type": { + "description": "Type of secret", + "enum": [ + "AKV_SECRET_URI", + "SECRET_VALUE" + ], + "type": "string" + } + } + }, + "ServerMetricsModel": { + "description": "Server metrics configuration model", + "type": "object", + "properties": { + "name": { + "description": "Server metrics configuration model.", + "type": "string", + "readOnly": true + }, + "testId": { + "description": "[Required, if test run Id is not given] Load test unique name.", + "type": "string" + }, + "testRunId": { + "description": "[Required, if test Id is not given] Load test run unique name.", + "type": "string" + }, + "metrics": { + "description": "Metrics collection {metric id : metrics object} (Refer : https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition for metric id).", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetricModel" + } + } + } + }, + "SupportedResourceType": { + "description": "Supported azure resource types for App Component like Microsoft.LoadTestService/loadtests, Microsoft.ClassicCompute, Microsoft.ClassicStorage etc. (Refer for full list of available resource types in azure : https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types, some of them we are supporting for server side metrics configuration).", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TestArtifacts20221101": { + "required": [ + "inputArtifacts" + ], + "type": "object", + "properties": { + "inputArtifacts": { + "$ref": "#/definitions/InputTestArtifacts20221101" + }, + "outputArtifacts": { + "$ref": "#/definitions/OutputTestArtifacts20221101" + } }, - "TestIdQueryParameter": { - "name": "testId", - "in": "query", - "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", - "schema": { + "readOnly": true + }, + "TestModel20221101": { + "description": "Load test model", + "type": "object", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria20221101" + }, + "secrets": { + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/SecretMetadata20221101" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata20221101" + }, + "environmentVariables": { + "description": "Environment variables which are defined as a set of pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfig": { + "$ref": "#/definitions/LoadTestConfig20221101" + }, + "inputArtifacts": { + "$ref": "#/definitions/InputTestArtifacts20221101" + }, + "testId": { + "description": "Unique test name as identifier.", "maxLength": 50, "minLength": 2, - "pattern": "^[a-z0-9_-]*$", "type": "string", - "x-ms-parameter-location": "method" - } - }, - "TestIdPathParameter": { - "name": "testId", - "in": "path", - "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", - "required": true, - "schema": { + "readOnly": true + }, + "description": { + "description": "The test description.", + "maxLength": 100, + "type": "string" + }, + "displayName": { + "description": "Display name of a test.", "maxLength": 50, "minLength": 2, - "pattern": "^[a-z0-9_-]*$", + "type": "string" + }, + "subnetId": { + "description": "Subnet ID on which the load test instances should run.", + "type": "string" + }, + "keyvaultReferenceIdentityType": { + "description": "Type of the managed identity referencing the Key vault.", + "type": "string" + }, + "keyvaultReferenceIdentityId": { + "description": "Resource Id of the managed identity referencing the Key vault.", + "type": "string" + }, + "resourceId": { + "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "type": "string", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The created DateTime(ISO 8601 literal format) of the test model.", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "The user that created the test model.", "type": "string", - "x-ms-parameter-location": "method" + "readOnly": true + }, + "lastModifiedDateTime": { + "format": "date-time", + "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "The user that last modified the test model.", + "type": "string", + "readOnly": true } - }, - "Endpoint": { - "name": "Endpoint", - "in": "path", - "description": "URL to perform data plane API operations on the resource.", - "required": true, - "schema": { + } + }, + "TestModel20221101ResourceList": { + "description": "List of Resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "List of Resources", + "type": "array", + "items": { + "$ref": "#/definitions/TestModel20221101" + } + }, + "nextLink": { + "description": "Link for the next list of resources in case of paginated results, if applicable", "type": "string" + } + } + }, + "TestRunModel20221101": { + "description": "Load test run model", + "type": "object", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria20221101" + }, + "secrets": { + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the secret is stored in an Azure Key Vault, the value should be the secret identifier and the type should be AKV_SECRET_URI. If the secret is stored elsewhere, the secret value should be provided directly and the type should be SECRET_VALUE.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/SecretMetadata20221101" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata20221101" + }, + "environmentVariables": { + "description": "Environment variables which are defined as a set of pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "errorDetails": { + "description": "Error details if there is any failure in load test run", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetails20221101" + }, + "readOnly": true + }, + "testRunStatistics": { + "description": "Test run statistics.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TestRunStatisticsModel" + }, + "readOnly": true + }, + "loadTestConfig": { + "$ref": "#/definitions/LoadTestConfig20221101" + }, + "testArtifacts": { + "$ref": "#/definitions/TestArtifacts20221101" + }, + "testResult": { + "description": "Test result for pass/Fail criteria used during the test run.", + "enum": [ + "PASSED", + "NOT_APPLICABLE", + "FAILED" + ], + "type": "string", + "readOnly": true }, - "x-ms-parameter-location": "client", - "x-ms-skip-url-encoding": true + "testRunId": { + "description": "Unique test run name as identifier", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display name of a testRun.", + "maxLength": 50, + "minLength": 2, + "type": "string" + }, + "testId": { + "description": "Associated test Id.", + "maxLength": 50, + "minLength": 2, + "type": "string" + }, + "description": { + "description": "The test run description.", + "maxLength": 100, + "type": "string" + }, + "status": { + "description": "The test run status.", + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "PROVISIONING", + "PROVISIONED", + "CONFIGURING", + "CONFIGURED", + "EXECUTING", + "EXECUTED", + "DEPROVISIONING", + "DEPROVISIONED", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE" + ], + "type": "string", + "readOnly": true + }, + "startDateTime": { + "format": "date-time", + "description": "The test run start DateTime(ISO 8601 literal format).", + "type": "string", + "readOnly": true + }, + "endDateTime": { + "format": "date-time", + "description": "The test run end DateTime(ISO 8601 literal format).", + "type": "string", + "readOnly": true + }, + "executedDateTime": { + "format": "date-time", + "description": "Test run initiated time.", + "type": "string", + "readOnly": true + }, + "vusers": { + "format": "int32", + "description": "Number of virtual users, for which test has been run.", + "type": "integer", + "readOnly": true + }, + "portalUrl": { + "description": "Portal url.", + "type": "string", + "readOnly": true + }, + "duration": { + "format": "int64", + "description": "Test run duration in milliseconds.", + "type": "integer", + "readOnly": true + }, + "subnetId": { + "description": "Subnet ID on which the load test instances should run.", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "Fully qualified resource Id e.g /subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "type": "string", + "readOnly": true + }, + "createdDateTime": { + "format": "date-time", + "description": "The created DateTime(ISO 8601 literal format) of the test model.", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "The user that created the test model.", + "type": "string", + "readOnly": true + }, + "lastModifiedDateTime": { + "format": "date-time", + "description": "The last Modified DateTime(ISO 8601 literal format) of the test model.", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "The user that last modified the test model.", + "type": "string", + "readOnly": true + } } }, - "securitySchemes": { - "oauth2": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", - "flows": { - "implicit": { - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "https://cnt-prod.loadtesting.azure.com/.default": "OAuth2 scope for Azure Load Test Service" - } + "TestRunModel20221101ResourceList": { + "description": "List of Resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "List of Resources", + "type": "array", + "items": { + "$ref": "#/definitions/TestRunModel20221101" + } + }, + "nextLink": { + "description": "Link for the next list of resources in case of paginated results, if applicable", + "type": "string" + } + } + }, + "TestRunStatisticsModel": { + "description": "Test run statistics.", + "type": "object", + "properties": { + "transaction": { + "description": "Transaction name.", + "type": "string", + "readOnly": true + }, + "sampleCount": { + "format": "double", + "description": "Sampler count.", + "type": "number", + "readOnly": true + }, + "errorCount": { + "format": "double", + "description": "Error count.", + "type": "number", + "readOnly": true + }, + "errorPct": { + "format": "double", + "description": "Error percentage.", + "type": "number", + "readOnly": true + }, + "meanResTime": { + "format": "double", + "description": "Mean response time.", + "type": "number", + "readOnly": true + }, + "medianResTime": { + "format": "double", + "description": "Median response time.", + "type": "number", + "readOnly": true + }, + "maxResTime": { + "format": "double", + "description": "Max response time.", + "type": "number", + "readOnly": true + }, + "minResTime": { + "format": "double", + "description": "Minimum response time.", + "type": "number", + "readOnly": true + }, + "pct1ResTime": { + "format": "double", + "description": "90 percentile response time.", + "type": "number", + "readOnly": true + }, + "pct2ResTime": { + "format": "double", + "description": "95 percentile response time.", + "type": "number", + "readOnly": true + }, + "pct3ResTime": { + "format": "double", + "description": "99 percentile response time.", + "type": "number", + "readOnly": true + }, + "throughput": { + "format": "double", + "description": "Throughput.", + "type": "number", + "readOnly": true + }, + "receivedKBytesPerSec": { + "format": "double", + "description": "Received network bytes.", + "type": "number", + "readOnly": true + }, + "sentKBytesPerSec": { + "format": "double", + "description": "Send network bytes.", + "type": "number", + "readOnly": true + } + }, + "readOnly": true + }, + "TimeSeriesElement": { + "description": "The time series returned when a data query is performed.", + "type": "object", + "properties": { + "data": { + "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricValue" + } + }, + "metadatavalues": { + "description": "The metadata values ", + "type": "array", + "items": { + "$ref": "#/definitions/MetadataValue" } } } } }, + "parameters": { + "ApiVersion": { + "in": "query", + "name": "api-version", + "description": "API version", + "required": true, + "type": "string" + }, + "TestIdQueryParameter": { + "in": "query", + "name": "testId", + "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "x-ms-parameter-location": "method" + }, + "TestIdPathParameter": { + "in": "path", + "name": "testId", + "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", + "required": true, + "type": "string", + "maxLength": 50, + "minLength": 2, + "pattern": "^[a-z0-9_-]*$", + "x-ms-parameter-location": "method" + }, + "Endpoint": { + "in": "path", + "name": "Endpoint", + "description": "URL to perform data plane API operations on the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "oauth2": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "https://cnt-prod.loadtesting.azure.com/.default": "OAuth2 scope for Azure Load Test Service" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, "x-ms-parameterized-host": { "hostTemplate": "{Endpoint}", "useSchemePrefix": true, From fc98996a951f4215bb1f256fc300644f3e42ceb9 Mon Sep 17 00:00:00 2001 From: krishna1s <50358529+krishna1s@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:49:01 +0530 Subject: [PATCH 05/16] adding description --- .../stable/2022-11-01/loadtestservice.json | 41 +++---------------- 1 file changed, 6 insertions(+), 35 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index ea4f52990782..97ec2a940f24 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -1555,41 +1555,6 @@ "required": true, "type": "string" }, - { - "in": "query", - "name": "metricTimespan.startTime", - "type": "string" - }, - { - "in": "query", - "name": "metricTimespan.endTime", - "type": "string" - }, - { - "in": "query", - "name": "aggregations", - "type": "array", - "items": { - "description": "The aggregation type of the metric.", - "enum": [ - "Average", - "Count", - "Minimum", - "Maximum", - "None", - "Total", - "Percentile90", - "Percentile95", - "Percentile99" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "application", - "type": "string" - }, { "$ref": "#/parameters/ApiVersion" }, @@ -1770,18 +1735,23 @@ } }, "Error": { + "description": "Error from a REST request.", "type": "object", "properties": { "code": { + "description": "The error code.", "type": "string" }, "message": { + "description": "The error message.", "type": "string" }, "target": { + "description": "The error target.", "type": "string" }, "details": { + "description": "Additional details and inner errors.", "type": "array", "items": { "$ref": "#/definitions/Error" @@ -1801,6 +1771,7 @@ } }, "ErrorResponseBody": { + "description": "The definition of an error object.", "type": "object", "properties": { "error": { From ba39907d1efc85add4ce780e5b3433a970cbe07e Mon Sep 17 00:00:00 2001 From: krishna1s <50358529+krishna1s@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:51:27 +0530 Subject: [PATCH 06/16] prettier changes --- .../stable/2022-11-01/loadtestservice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 97ec2a940f24..80b67de13f74 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2885,4 +2885,4 @@ "schemes": [ "https" ] -} \ No newline at end of file +} From 9a14c717e660b2afc55a1c0d71e596c3a6188df8 Mon Sep 17 00:00:00 2001 From: krishna1s <50358529+krishna1s@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:55:57 +0530 Subject: [PATCH 07/16] renaming opertation id --- .../stable/2022-11-01/loadtestservice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 80b67de13f74..a3dd8474c78c 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -1047,7 +1047,7 @@ "TestRun" ], "summary": "Create and start a new test run with the given name.", - "operationId": "TestRun_CreateAndUpdateTestRun", + "operationId": "TestRun_CreateOrUpdateTestRun", "consumes": [ "application/merge-patch+json" ], From e9c61e9755bca24537dbb92d5334781dd528d95d Mon Sep 17 00:00:00 2001 From: krishna1s <50358529+krishna1s@users.noreply.github.com> Date: Fri, 14 Oct 2022 15:45:29 +0530 Subject: [PATCH 08/16] adding x-ms-enum extension --- .../stable/2022-11-01/loadtestservice.json | 108 ++++++++++++++---- 1 file changed, 84 insertions(+), 24 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index a3dd8474c78c..dcdf688ea411 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -756,10 +756,10 @@ "x-ms-examples": { "Search test with filters": { "$ref": "./examples/ListLoadTestSearch.json" - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -987,10 +987,10 @@ "x-ms-examples": { "Get all uploaded files to a test": { "$ref": "./examples/GetAllTestFiles.json" - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -1310,10 +1310,10 @@ "x-ms-examples": { "Search test runs with filters": { "$ref": "./examples/ListTestRunsSearch.json" - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -1546,7 +1546,11 @@ "enum": [ "Data", "Metadata" - ] + ], + "x-ms-enum": { + "name": "ResultType", + "modelAsString": true + } }, { "in": "query", @@ -1685,7 +1689,11 @@ "enum": [ "AKV_CERT_URI" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true + } }, "name": { "description": "Name of the certificate.", @@ -1802,7 +1810,11 @@ "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "FileType", + "modelAsString": true + } }, "expireTime": { "format": "date-time", @@ -1817,7 +1829,11 @@ "VALIDATION_FAILURE", "VALIDATION_INITIATED" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "FileStatus", + "modelAsString": true + } } } }, @@ -1967,7 +1983,11 @@ "BytesPerSecond", "CountPerSecond" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } } } }, @@ -1984,7 +2004,11 @@ "PT5M", "PT1H" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true + } } } }, @@ -2024,7 +2048,11 @@ "Percentile95", "Percentile99" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "AggregationType", + "modelAsString": true + } }, "supportedAggregationTypes": { "description": "the collection of what aggregation types are supported.", @@ -2045,7 +2073,11 @@ "BytesPerSecond", "CountPerSecond" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true + } }, "metricAvailabilities": { "description": "Metric availability specifies the time grain (aggregation interval or frequency) and the retention period for that time grain.", @@ -2220,7 +2252,11 @@ "requests", "requests_per_sec" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "PFMetrics", + "modelAsString": true + } }, "aggregate": { "description": "The aggregation function to be applied on the client metric. Allowed functions - ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, ‘count’ - for requests", @@ -2235,7 +2271,11 @@ "min", "max" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "PFAgFunc", + "modelAsString": true + } }, "condition": { "description": "The comparison operator. Supported types ‘>’, ‘<’ ", @@ -2256,7 +2296,11 @@ "stop", "continue" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "PFAction", + "modelAsString": true + } }, "actualValue": { "format": "double", @@ -2272,7 +2316,11 @@ "failed" ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "PFResult", + "modelAsString": true + } } } }, @@ -2355,7 +2403,11 @@ "AKV_SECRET_URI", "SECRET_VALUE" ], - "type": "string" + "type": "string", + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true + } } } }, @@ -2575,7 +2627,11 @@ "FAILED" ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "PFTestResult", + "modelAsString": true + } }, "testRunId": { "description": "Unique test run name as identifier", @@ -2620,7 +2676,11 @@ "VALIDATION_FAILURE" ], "type": "string", - "readOnly": true + "readOnly": true, + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } }, "startDateTime": { "format": "date-time", From db08152db18dbff1aa45d0c9bcfecf8bac0ddc10 Mon Sep 17 00:00:00 2001 From: krishna1s <50358529+krishna1s@users.noreply.github.com> Date: Fri, 14 Oct 2022 16:46:21 +0530 Subject: [PATCH 09/16] validation fixes --- .../2022-11-01/examples/GetTestRun.json | 2 +- .../GetTestRunMetricsDefinitions.json | 1 - .../examples/GetTestRunMetricsMetadata.json | 14 ++-- .../examples/ListTestRunsSearch.json | 2 +- .../stable/2022-11-01/loadtestservice.json | 78 +++++++++++-------- 5 files changed, 53 insertions(+), 44 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json index 9318d7cf536b..d052b14be65e 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRun.json @@ -18,7 +18,7 @@ "engineInstances": 6, "splitAllCSVs": true }, - "testResult": "Passed", + "testResult": "PASSED", "passFailCriteria": { "passFailMetrics": { "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json index 2e84465aaeaa..2b02956605f7 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsDefinitions.json @@ -9,7 +9,6 @@ "body": { "value": [ { - "id": "12316678-1234-1234-1234-122451189012/ActiveThreads", "namespace": "JMeterLoadTestRunMetrics", "name": { "value": "ActiveThreds", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json index ec4f512c805a..65235a915ec1 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetTestRunMetricsMetadata.json @@ -33,15 +33,11 @@ "value": "HTTP Request" }, { - "metadatavalues": [ - { - "name": { - "value": "Error", - "localizedValue": "Error code" - }, - "value": "429" - } - ] + "name": { + "value": "Error", + "localizedValue": "Error code" + }, + "value": "429" } ] } diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json index 5de675f2f47b..5a340d2025ac 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/ListTestRunsSearch.json @@ -27,7 +27,7 @@ "engineInstances": 6, "splitAllCSVs": true }, - "testResult": "Passed", + "testResult": "PASSED", "passFailCriteria": { "passFailMetrics": { "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index dcdf688ea411..42e1e4390556 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -12,7 +12,7 @@ "AppComponent" ], "summary": "Associate an app component (Azure resource) to a test or test run.", - "operationId": "AppComponent_CreateOrUpdateAppComponents", + "operationId": "AppComponent_CreateOrUpdate", "consumes": [ "application/merge-patch+json" ], @@ -80,7 +80,7 @@ "AppComponent" ], "summary": "Delete an app component.", - "operationId": "AppComponent_DeleteAppComponent", + "operationId": "AppComponent_Delete", "produces": [ "application/json" ], @@ -127,7 +127,7 @@ "AppComponent" ], "summary": "Get app Component details by unique name.", - "operationId": "AppComponent_GetAppComponentByName", + "operationId": "AppComponent_GetByTestOrTestRun", "produces": [ "application/json" ], @@ -179,7 +179,7 @@ "AppComponent" ], "summary": "Get app component for a test or a test run by unique its name.", - "operationId": "AppComponent_GetAppComponent", + "operationId": "AppComponent_Get", "produces": [ "application/json" ], @@ -233,7 +233,7 @@ "ServerMetrics" ], "summary": "Configure server metrics for a test or test run", - "operationId": "ServerMetrics_CreateOrUpdateServerMetricsConfig", + "operationId": "ServerMetrics_CreateOrUpdate", "consumes": [ "application/merge-patch+json" ], @@ -301,7 +301,7 @@ "ServerMetrics" ], "summary": "Get server metrics configuration by its name.", - "operationId": "ServerMetrics_GetServerMetricsByName", + "operationId": "ServerMetrics_Get", "produces": [ "application/json" ], @@ -341,8 +341,8 @@ } }, "x-ms-examples": { - "Get server metrics configuration by an unique name": { - "$ref": "./examples/GetServerMetricsByName.json" + "Get server metrics by a test or test run": { + "$ref": "./examples/GetServerMetrics.json" } } }, @@ -351,7 +351,7 @@ "ServerMetrics" ], "summary": "Delete server metrics configuration by its name", - "operationId": "ServerMetrics_DeleteServerMetrics", + "operationId": "ServerMetrics_Delete", "produces": [ "application/json" ], @@ -400,7 +400,7 @@ "ServerMetrics" ], "summary": "Get server metrics configuration for a test or test run by its name.", - "operationId": "ServerMetrics_GetServerMetrics", + "operationId": "ServerMetrics_GetByTestOrTestRun", "produces": [ "application/json" ], @@ -442,8 +442,8 @@ } }, "x-ms-examples": { - "Get server metrics by a test or test run": { - "$ref": "./examples/GetServerMetrics.json" + "Get server metrics configuration by an unique name": { + "$ref": "./examples/GetServerMetricsByName.json" } } } @@ -454,7 +454,7 @@ "ServerMetrics" ], "summary": "Get all default server metrics configuration for supported resource types.", - "operationId": "ServerMetrics_GetServerDefaultMetrics", + "operationId": "ServerMetrics_GetDefaultMetrics", "produces": [ "application/json" ], @@ -538,7 +538,7 @@ "Test" ], "summary": "Create a new test or update an existing test.", - "operationId": "Test_CreateOrUpdateTest", + "operationId": "Test_CreateOrUpdate", "consumes": [ "application/merge-patch+json" ], @@ -599,7 +599,7 @@ "Test" ], "summary": "Delete a test by its name.", - "operationId": "Test_DeleteLoadTest", + "operationId": "Test_Delete", "produces": [ "application/json" ], @@ -639,7 +639,7 @@ "Test" ], "summary": "Get load test details by test name", - "operationId": "Test_GetLoadTest", + "operationId": "Test_Get", "produces": [ "application/json" ], @@ -684,7 +684,7 @@ "Test" ], "summary": "Get all load tests by the fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", - "operationId": "Test_ListLoadTestSearch", + "operationId": "Test_List", "produces": [ "application/json" ], @@ -769,7 +769,7 @@ "Test" ], "summary": "Upload input file for a given test name. File size can't be more than 50 MB. Existing file with same name for the given test will be overwritten. File should be provided in the request body as multipart/form-data.", - "operationId": "Test_UploadTestFile", + "operationId": "Test_UploadFile", "consumes": [ "multipart/form-data" ], @@ -798,7 +798,11 @@ "JMX_FILE", "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS" - ] + ], + "x-ms-enum": { + "name": "fileType", + "modelAsString": true + } }, { "$ref": "#/parameters/ApiVersion" @@ -841,7 +845,7 @@ "Test" ], "summary": "Get test file by the file name.", - "operationId": "Test_GetTestFile", + "operationId": "Test_GetFile", "produces": [ "application/json" ], @@ -894,7 +898,7 @@ "Test" ], "summary": "Delete file by the file name for a test", - "operationId": "Test_DeleteTestFile", + "operationId": "Test_DeleteFile", "produces": [ "application/json" ], @@ -946,7 +950,7 @@ "Test" ], "summary": "Get all test files.", - "operationId": "Test_GetAllTestFiles", + "operationId": "Test_GetAllFiles", "produces": [ "application/json" ], @@ -1000,7 +1004,7 @@ "TestRun" ], "summary": "Delete a test run by its name.", - "operationId": "TestRun_DeleteTestRun", + "operationId": "TestRun_Delete", "produces": [ "application/json" ], @@ -1047,7 +1051,7 @@ "TestRun" ], "summary": "Create and start a new test run with the given name.", - "operationId": "TestRun_CreateOrUpdateTestRun", + "operationId": "TestRun_CreateOrUpdate", "consumes": [ "application/merge-patch+json" ], @@ -1115,7 +1119,7 @@ "TestRun" ], "summary": "Get test run details by name.", - "operationId": "TestRun_GetTestRun", + "operationId": "TestRun_Get", "produces": [ "application/json" ], @@ -1167,7 +1171,7 @@ "TestRun" ], "summary": "Get test run file by file name.", - "operationId": "TestRun_GetTestRunFile", + "operationId": "TestRun_GetFile", "produces": [ "application/json" ], @@ -1229,7 +1233,7 @@ "TestRun" ], "summary": "Get all test runs with given filters", - "operationId": "TestRun_ListTestRunsSearch", + "operationId": "TestRun_List", "produces": [ "application/json" ], @@ -1323,7 +1327,7 @@ "TestRun" ], "summary": "Stop test run by name.", - "operationId": "TestRun_StopTestRun", + "operationId": "TestRun_Stop", "produces": [ "application/json" ], @@ -1521,7 +1525,11 @@ "PT1M", "PT5M", "PT1H" - ] + ], + "x-ms-enum": { + "name": "interval", + "modelAsString": true + } }, { "in": "query", @@ -1548,7 +1556,7 @@ "Metadata" ], "x-ms-enum": { - "name": "ResultType", + "name": "resultType", "modelAsString": true } }, @@ -1744,6 +1752,10 @@ }, "Error": { "description": "Error from a REST request.", + "required": [ + "code", + "message" + ], "type": "object", "properties": { "code": { @@ -1780,6 +1792,9 @@ }, "ErrorResponseBody": { "description": "The definition of an error object.", + "required": [ + "error" + ], "type": "object", "properties": { "error": { @@ -2028,8 +2043,7 @@ "type": "string" }, "name": { - "description": "The name and the display name of the metric, i.e. it is a localizable string.", - "type": "string" + "$ref": "#/definitions/LocalizableString" }, "namespace": { "description": "The namespace the metric belongs to.", From d98fbada65c5ea1a848d8c56847b4ff0a1acba09 Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Fri, 14 Oct 2022 18:54:28 +0530 Subject: [PATCH 10/16] renaming examples --- .../stable/2022-11-01/examples/GetAppComponent.json | 2 +- ...Name.json => GetAppComponentByTestOrTestRun.json} | 2 +- .../stable/2022-11-01/examples/GetServerMetrics.json | 2 +- ...ame.json => GetServerMetricsByTestOrTestRun.json} | 2 +- .../stable/2022-11-01/loadtestservice.json | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) rename specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/{GetAppComponentByName.json => GetAppComponentByTestOrTestRun.json} (95%) rename specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/{GetServerMetricsByName.json => GetServerMetricsByTestOrTestRun.json} (96%) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json index bddd6468e91f..ca5901d22698 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponent.json @@ -1,6 +1,6 @@ { "parameters": { - "testRunId": "12316678-1234-1234-1234-122451189012", + "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", "api-version": "2022-11-01" }, "responses": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByTestOrTestRun.json similarity index 95% rename from specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json rename to specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByTestOrTestRun.json index ca5901d22698..bddd6468e91f 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByName.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetAppComponentByTestOrTestRun.json @@ -1,6 +1,6 @@ { "parameters": { - "name": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "testRunId": "12316678-1234-1234-1234-122451189012", "api-version": "2022-11-01" }, "responses": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json index 58ac800c3fe8..b2917feed2cf 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetrics.json @@ -1,6 +1,6 @@ { "parameters": { - "testId": "12345678-1234-1234-1234-123456789012", + "name": "edc6e529-d009-4b99-b763-ca492e3a2823", "api-version": "2022-11-01" }, "responses": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByTestOrTestRun.json similarity index 96% rename from specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json rename to specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByTestOrTestRun.json index b2917feed2cf..58ac800c3fe8 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByName.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/examples/GetServerMetricsByTestOrTestRun.json @@ -1,6 +1,6 @@ { "parameters": { - "name": "edc6e529-d009-4b99-b763-ca492e3a2823", + "testId": "12345678-1234-1234-1234-123456789012", "api-version": "2022-11-01" }, "responses": { diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 42e1e4390556..58438da89fca 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -167,8 +167,8 @@ } }, "x-ms-examples": { - "Get an app component by an unique name": { - "$ref": "./examples/GetAppComponentByName.json" + "Get an app component by a test or test run": { + "$ref": "./examples/GetAppComponentByTestOrTestRun.json" } } } @@ -221,7 +221,7 @@ } }, "x-ms-examples": { - "Get an app component by a test or test run": { + "Get an app component by an unique name": { "$ref": "./examples/GetAppComponent.json" } } @@ -341,7 +341,7 @@ } }, "x-ms-examples": { - "Get server metrics by a test or test run": { + "Get server metrics by an unique namea": { "$ref": "./examples/GetServerMetrics.json" } } @@ -442,8 +442,8 @@ } }, "x-ms-examples": { - "Get server metrics configuration by an unique name": { - "$ref": "./examples/GetServerMetricsByName.json" + "Get server metrics configuration by test or test run": { + "$ref": "./examples/GetServerMetricsByTestOrTestRun.json" } } } From c0a06f3be4d92ceb0b2787c81a5ed72c7c0761c1 Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Sat, 15 Oct 2022 00:18:54 +0530 Subject: [PATCH 11/16] review changes --- .../stable/2022-11-01/loadtestservice.json | 75 +++++++++---------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 58438da89fca..448d4af7abba 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -6,7 +6,7 @@ "version": "2022-11-01" }, "paths": { - "/appcomponents/{name}": { + "/app-components/{name}": { "patch": { "tags": [ "AppComponent" @@ -23,7 +23,7 @@ { "in": "path", "name": "name", - "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name of the app component, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -88,7 +88,7 @@ { "in": "path", "name": "name", - "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name of the app component, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -127,7 +127,7 @@ "AppComponent" ], "summary": "Get app Component details by unique name.", - "operationId": "AppComponent_GetByTestOrTestRun", + "operationId": "AppComponent_Get", "produces": [ "application/json" ], @@ -135,7 +135,7 @@ { "in": "path", "name": "name", - "description": "Unique name of the app component, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name of the app component, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -167,19 +167,19 @@ } }, "x-ms-examples": { - "Get an app component by a test or test run": { - "$ref": "./examples/GetAppComponentByTestOrTestRun.json" + "Get an app component by an unique name": { + "$ref": "./examples/GetAppComponent.json" } } } }, - "/appcomponents": { + "/app-components": { "get": { "tags": [ "AppComponent" ], - "summary": "Get app component for a test or a test run by unique its name.", - "operationId": "AppComponent_Get", + "summary": "Get an app component for a test or a test run by its name.", + "operationId": "AppComponent_GetByTestOrTestRun", "produces": [ "application/json" ], @@ -221,8 +221,8 @@ } }, "x-ms-examples": { - "Get an app component by an unique name": { - "$ref": "./examples/GetAppComponent.json" + "Get an app component by a test or test run": { + "$ref": "./examples/GetAppComponentByTestOrTestRun.json" } } } @@ -244,7 +244,7 @@ { "in": "path", "name": "name", - "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for server metrics, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -309,7 +309,7 @@ { "in": "path", "name": "name", - "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for server metrics, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -341,7 +341,7 @@ } }, "x-ms-examples": { - "Get server metrics by an unique namea": { + "Get server metrics by an unique name": { "$ref": "./examples/GetServerMetrics.json" } } @@ -359,7 +359,7 @@ { "in": "path", "name": "name", - "description": "Unique name for server metrics, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for server metrics, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -442,7 +442,7 @@ } }, "x-ms-examples": { - "Get server metrics configuration by test or test run": { + "Get server metrics configuration by a test or test run": { "$ref": "./examples/GetServerMetricsByTestOrTestRun.json" } } @@ -783,7 +783,7 @@ { "in": "path", "name": "fileId", - "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for test file, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -856,7 +856,7 @@ { "in": "path", "name": "fileId", - "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for test file, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -909,7 +909,7 @@ { "in": "path", "name": "fileId", - "description": "Unique name for test file, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for test file, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1012,7 +1012,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1062,7 +1062,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1127,7 +1127,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1179,7 +1179,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1189,7 +1189,7 @@ { "in": "path", "name": "fileId", - "description": "Unique name for test run file, must be a valid URL character ^[a-z0-9_-]*$", + "description": "Unique name for test run file, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1335,7 +1335,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1387,7 +1387,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1439,7 +1439,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1501,7 +1501,7 @@ { "in": "path", "name": "testRunId", - "description": "Unique name for the load test run, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, @@ -1614,8 +1614,7 @@ "description": "An Azure resource object (Refer azure generic resource model : https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "required": [ "resourceId", - "resourceName", - "resourceType" + "resourceName" ], "type": "object", "properties": { @@ -1624,11 +1623,11 @@ "type": "string" }, "resourceName": { - "description": "Azure resource name", + "description": "Azure resource name, required while creating the app component.", "type": "string" }, "resourceType": { - "description": "Azure resource type", + "description": "Azure resource type, required while creating the app component.", "type": "string" }, "displayName": { @@ -2907,17 +2906,13 @@ "TestIdQueryParameter": { "in": "query", "name": "testId", - "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", - "type": "string", - "maxLength": 50, - "minLength": 2, - "pattern": "^[a-z0-9_-]*$", - "x-ms-parameter-location": "method" + "description": "Unique name of an existing load test.", + "type": "string" }, "TestIdPathParameter": { "in": "path", "name": "testId", - "description": "Unique name for the load test, must be a valid URL character ^[a-z0-9_-]*$.", + "description": "Unique name for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "maxLength": 50, From 9059ccbeafbabe96f0aca1b95cbdea38216cd7b0 Mon Sep 17 00:00:00 2001 From: Krishna Chandak Date: Sat, 15 Oct 2022 00:46:58 +0530 Subject: [PATCH 12/16] adding x-ms-parameter-location --- .../stable/2022-11-01/loadtestservice.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 448d4af7abba..b03f6ba2ea2a 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2907,7 +2907,8 @@ "in": "query", "name": "testId", "description": "Unique name of an existing load test.", - "type": "string" + "type": "string", + "x-ms-parameter-location": "client" }, "TestIdPathParameter": { "in": "path", From 2faa9031d902450ac4717d9bb9da28554e366584 Mon Sep 17 00:00:00 2001 From: Wei Dong <40835867+dw511214992@users.noreply.github.com> Date: Wed, 19 Oct 2022 11:42:35 +0800 Subject: [PATCH 13/16] Update readme.md --- .../loadtestservice/data-plane/readme.md | 54 +++++-------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/specification/loadtestservice/data-plane/readme.md b/specification/loadtestservice/data-plane/readme.md index b0addaca0312..3ab9f4c982b6 100644 --- a/specification/loadtestservice/data-plane/readme.md +++ b/specification/loadtestservice/data-plane/readme.md @@ -24,6 +24,9 @@ These are the global settings for the loadtestservice. ```yaml openapi-type: data-plane tag: package-2022-11-01 +security: AADToken +security-scopes: https://loadtest.azure-dev.com/.default +title: LoadTestingClient ``` ### Tag: package-2021-11-01 @@ -53,46 +56,17 @@ input-file: - Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json ``` +# Code Generation +## Swagger to SDK -### Java +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. -These settings apply only when `--java` is specified on the command line. -Please also specify `--azure-sdk-for-java-folder=`. - -```yaml $(java) -input-file: - - Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json -java: true -regenerate-pom: false -title: LoadTestingClient -security: AADToken -security-scopes: https://loadtest.azure-dev.com/.default -data-plane: true -generate-models: false -generate-samples: false -generate-tests: false -artifact-id: azure-developer-loadtesting -namespace: com.azure.developer.loadtesting -partial-update: true -output-folder: $(azure-sdk-for-java-folder)/sdk/loadtestservice/azure-developer-loadtesting -service-versions: -- 2022-11-01 -directive: -- from: swagger-document - where: '$.paths["/testruns/{testRunId}"].patch' - transform: > - $["operationId"] = "TestRun_CreateAndUpdateTestRun"; -- from: swagger-document - where: '$.paths.*[?(@.tags=="AppComponent")]' - transform: > - $["operationId"] = $["operationId"].replace("AppComponent_", "LoadTestAdministration_"); -- from: swagger-document - where: '$.paths.*[?(@.tags=="ServerMetrics")]' - transform: > - $["operationId"] = $["operationId"].replace("ServerMetrics_", "LoadTestAdministration_"); -- from: swagger-document - where: '$.paths.*[?(@.tags=="Test")]' - transform: > - $["operationId"] = $["operationId"].replace("Test_", "LoadTestAdministration_"); -``` \ No newline at end of file +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-js + - repo: azure-sdk-for-python + - repo: azure-sdk-for-java + - repo: azure-sdk-for-net-track2 +``` From 2b00e78f62e783e6b66c2587cde4b20a57f5e909 Mon Sep 17 00:00:00 2001 From: Wei Dong <40835867+dw511214992@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:30:07 +0800 Subject: [PATCH 14/16] Update loadtestservice.json --- .../stable/2022-11-01/loadtestservice.json | 1 + 1 file changed, 1 insertion(+) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index b03f6ba2ea2a..da302c2b5399 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2463,6 +2463,7 @@ } }, "TestArtifacts20221101": { + "description": "test artifact 20221101 "required": [ "inputArtifacts" ], From 333f11faf719824cce0dd3a17bbd5817f1abb3fe Mon Sep 17 00:00:00 2001 From: Wei Dong <40835867+dw511214992@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:36:30 +0800 Subject: [PATCH 15/16] Update loadtestservice.json --- .../stable/2022-11-01/loadtestservice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index da302c2b5399..96b6b293a02a 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2463,7 +2463,7 @@ } }, "TestArtifacts20221101": { - "description": "test artifact 20221101 + "description": "test artifact 20221101", "required": [ "inputArtifacts" ], From 6a2bca651b1259d3de2fbd0564e03a2f9f74008e Mon Sep 17 00:00:00 2001 From: Wei Dong <40835867+dw511214992@users.noreply.github.com> Date: Wed, 19 Oct 2022 16:47:35 +0800 Subject: [PATCH 16/16] Update loadtestservice.json --- .../stable/2022-11-01/loadtestservice.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 96b6b293a02a..06269a45de0d 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -793,6 +793,7 @@ { "in": "query", "name": "fileType", + "description": "fileType.", "type": "string", "enum": [ "JMX_FILE", @@ -810,6 +811,7 @@ { "in": "formData", "name": "file", + "description": "file.", "required": true, "type": "file" }