{ "swagger": "2.0", "info": { "title": "Azure Load Testing", "version": "2022-11-01", "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "x-ms-parameterized-host": { "hostTemplate": "https://{endpoint}", "useSchemePrefix": false, "parameters": [ { "name": "endpoint", "in": "path", "required": true, "type": "string", "format": "uri", "x-ms-skip-url-encoding": true } ] }, "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "Oauth2": [ "https://cnt-prod.loadtesting.azure.com/.default" ] } ], "securityDefinitions": { "Oauth2": { "type": "oauth2", "description": "OAuth 2.0 Flow with Microsoft Entra ID.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", "scopes": { "https://cnt-prod.loadtesting.azure.com/.default": "" } } }, "tags": [ { "name": "Test" }, { "name": "TestRun" } ], "paths": { "/test-runs": { "get": { "operationId": "LoadTestRun_ListTestRuns", "tags": [ "TestRun" ], "summary": "Get all test runs for the given filters.", "description": "Get all test runs for the given filters.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/ListTestRunQueryParams.orderby" }, { "$ref": "#/parameters/ListTestRunQueryParams.search" }, { "$ref": "#/parameters/ListTestRunQueryParams.testId" }, { "$ref": "#/parameters/ListTestRunQueryParams.executionFrom" }, { "$ref": "#/parameters/ListTestRunQueryParams.executionTo" }, { "$ref": "#/parameters/ListTestRunQueryParams.status" }, { "$ref": "#/parameters/ListTestRunQueryParams.maxpagesize" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PagedTestRun" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List test runs.": { "$ref": "./examples/ListTestRuns.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/test-runs/{testRunId}": { "get": { "operationId": "LoadTestRun_GetTestRun", "tags": [ "TestRun" ], "summary": "Get test run details by test run Id.", "description": "Get test run details by test run Id.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testRunId", "in": "path", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRun" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get a load test run.": { "$ref": "./examples/GetTestRun.json" } } }, "patch": { "operationId": "LoadTestRun_CreateOrUpdateTestRun", "tags": [ "TestRun" ], "summary": "Create and start a new test run with the given test run Id.", "description": "Create and start a new test run with the given test run Id.", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testRunId", "in": "path", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "$ref": "#/parameters/OldTestRunIdQueryParam" }, { "name": "body", "in": "body", "description": "The resource instance.", "required": true, "schema": { "$ref": "#/definitions/TestRunCreateOrUpdate" }, "x-ms-client-name": "resource" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRun" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestRun" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Create/update and start a load test run": { "$ref": "./examples/CreateOrUpdateTestRun.json" } } }, "delete": { "operationId": "LoadTestRun_DeleteTestRun", "tags": [ "TestRun" ], "summary": "Delete an existing load test run.", "description": "Delete an existing load test run by providing the testRunId.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testRunId", "in": "path", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "204": { "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Delete a load test run": { "$ref": "./examples/DeleteTestRun.json" } } } }, "/test-runs/{testRunId}:stop": { "post": { "operationId": "LoadTestRun_StopTestRun", "tags": [ "TestRun" ], "summary": "Stop test run by test run Id.", "description": "Stop test run by test run Id.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testRunId", "in": "path", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRun" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Stop test run by name.": { "$ref": "./examples/StopTestRun.json" } } } }, "/test-runs/{testRunId}/app-components": { "get": { "operationId": "LoadTestRun_GetAppComponents", "tags": [ "TestRun" ], "summary": "Get associated app component (collection of azure resources) for the given test\nrun.", "description": "Get associated app component (collection of azure resources) for the given test\nrun.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRunAppComponents" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get associated app component for the given test run.": { "$ref": "./examples/ListTestRunAppComponents.json" } } }, "patch": { "operationId": "LoadTestRun_CreateOrUpdateAppComponents", "tags": [ "TestRun" ], "summary": "Add an app component to a test run.", "description": "Add an app component to a test run by providing the resource Id, name and type.", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" }, { "name": "body", "in": "body", "description": "App Component model.", "required": true, "schema": { "$ref": "#/definitions/TestRunAppComponentsUpdate" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRunAppComponents" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestRunAppComponents" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Add or update app components to a load test run": { "$ref": "./examples/CreateOrUpdateTestRunAppComponents.json" } } } }, "/test-runs/{testRunId}/files/{fileName}": { "get": { "operationId": "LoadTestRun_GetTestRunFile", "tags": [ "TestRun" ], "summary": "Get test run file by file name.", "description": "Get test run file by file name.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testRunId", "in": "path", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "fileName", "in": "path", "description": "Name of the file.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRunFileInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get a file associated to a load test run.": { "$ref": "./examples/GetTestRunFile.json" } } } }, "/test-runs/{testRunId}/metric-definitions": { "get": { "operationId": "LoadTestRun_ListMetricDefinitions", "tags": [ "TestRun" ], "summary": "List the metric definitions for a load test run.", "description": "List the metric definitions for a load test run.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" }, { "name": "metricNamespace", "in": "query", "description": "Metric namespace to query metric definitions for.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/MetricDefinitionCollection" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List the metric definitions for a load test run.": { "$ref": "./examples/ListTestRunMetricsDefinitions.json" } } } }, "/test-runs/{testRunId}/metric-dimensions/{name}/values": { "get": { "operationId": "LoadTestRun_ListMetricDimensionValues", "tags": [ "TestRun" ], "summary": "List the dimension values for the given metric dimension name.", "description": "List the dimension values for the given metric dimension name.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" }, { "name": "name", "in": "path", "description": "Dimension name", "required": true, "type": "string" }, { "$ref": "#/parameters/MetricDimensionsRequest.metricname" }, { "$ref": "#/parameters/MetricDimensionsRequest.interval" }, { "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" }, { "$ref": "#/parameters/MetricDimensionsRequest.timespan" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/DimensionValueList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List the dimension values for the given metric dimension name.": { "$ref": "./examples/ListMetricDimensionValues.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/test-runs/{testRunId}/metric-namespaces": { "get": { "operationId": "LoadTestRun_ListMetricNamespaces", "tags": [ "TestRun" ], "summary": "List the metric namespaces for a load test run.", "description": "List the metric namespaces for a load test run.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/MetricNamespaceCollection" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List the metric namespaces for a load test run.": { "$ref": "./examples/ListTestRunMetricsNamespaces.json" } } } }, "/test-runs/{testRunId}/metrics": { "post": { "operationId": "LoadTestRun_ListMetrics", "tags": [ "TestRun" ], "summary": "List the metric values for a load test run.", "description": "List the metric values for a load test run.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" }, { "name": "aggregation", "in": "query", "description": "The aggregation", "required": false, "type": "string" }, { "$ref": "#/parameters/MetricDimensionsRequest.metricname" }, { "$ref": "#/parameters/MetricDimensionsRequest.interval" }, { "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" }, { "$ref": "#/parameters/MetricDimensionsRequest.timespan" }, { "name": "body", "in": "body", "description": "Metric dimension filter ", "required": false, "schema": { "$ref": "#/definitions/MetricRequestPayload" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/Metrics" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List the metric values for a load test run.": { "$ref": "./examples/ListTestRunMetrics.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/test-runs/{testRunId}/server-metrics-config": { "get": { "operationId": "LoadTestRun_GetServerMetricsConfig", "tags": [ "TestRun" ], "summary": "Get associated server metrics configuration for the given test run.", "description": "Get associated server metrics configuration for the given test run.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRunServerMetricsConfiguration" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List server metrics configuration for the given test run.": { "$ref": "./examples/ListTestRunServerMetricsConfig.json" } } }, "patch": { "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", "tags": [ "TestRun" ], "summary": "Configure server metrics for a test run", "description": "Configure server metrics for a test run", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/TestRunIdParam" }, { "name": "body", "in": "body", "description": "Server metric configuration model.", "required": true, "schema": { "$ref": "#/definitions/TestRunServerMetricsConfiguration" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestRunServerMetricsConfiguration" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestRunServerMetricsConfiguration" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Add or update server metrics configuration for a load test run": { "$ref": "./examples/CreateOrUpdateTestRunServerMetricsConfig.json" } } } }, "/tests": { "get": { "operationId": "LoadTestAdministration_ListTests", "tags": [ "Test" ], "summary": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", "description": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "$ref": "#/parameters/ListTestQueryParams.orderby" }, { "$ref": "#/parameters/ListTestQueryParams.search" }, { "$ref": "#/parameters/ListTestQueryParams.lastModifiedStartTime" }, { "$ref": "#/parameters/ListTestQueryParams.lastModifiedEndTime" }, { "$ref": "#/parameters/ListTestQueryParams.maxpagesize" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PagedTest" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get all load tests.": { "$ref": "./examples/ListTests.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/tests/{testId}": { "get": { "operationId": "LoadTestAdministration_GetTest", "tags": [ "Test" ], "summary": "Get load test details by test Id", "description": "Get load test details by test Id", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/Test" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get a load test.": { "$ref": "./examples/GetTest.json" } } }, "patch": { "operationId": "LoadTestAdministration_CreateOrUpdateTest", "tags": [ "Test" ], "summary": "Create a new test or update an existing test by providing the test Id.", "description": "Create a new test or update an existing test by providing the test Id.", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "body", "in": "body", "description": "The resource instance.", "required": true, "schema": { "$ref": "#/definitions/TestCreateOrUpdate" }, "x-ms-client-name": "resource" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/Test" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/Test" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Create or update a load test": { "$ref": "./examples/CreateOrUpdateTest.json" } } }, "delete": { "operationId": "LoadTestAdministration_DeleteTest", "tags": [ "Test" ], "summary": "Delete a test by its test Id.", "description": "Delete a test by its test Id.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "204": { "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Delete a load test": { "$ref": "./examples/DeleteTest.json" } } } }, "/tests/{testId}/app-components": { "get": { "operationId": "LoadTestAdministration_GetAppComponents", "tags": [ "Test" ], "summary": "Get associated app component (collection of azure resources) for the given test.", "description": "Get associated app component (collection of azure resources) for the given test.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestAppComponents" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get associated app component for the given test.": { "$ref": "./examples/ListTestAppComponents.json" } } }, "patch": { "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", "tags": [ "Test" ], "summary": "Add an app component to a test.", "description": "Add an app component to a test by providing the resource Id, name and type.", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "body", "in": "body", "description": "App Component model.", "required": true, "schema": { "$ref": "#/definitions/TestAppComponentsUpdate" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestAppComponents" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestAppComponents" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Add or update app components to a load test": { "$ref": "./examples/CreateOrUpdateTestAppComponents.json" } } } }, "/tests/{testId}/files": { "get": { "operationId": "LoadTestAdministration_ListTestFiles", "tags": [ "Test" ], "summary": "Get all test files.", "description": "Get all test files.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/PagedTestFileInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get all test files.": { "$ref": "./examples/ListTestFiles.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/tests/{testId}/files/{fileName}": { "get": { "operationId": "LoadTestAdministration_GetTestFile", "tags": [ "Test" ], "summary": "Get all the files that are associated with a test.", "description": "Get all the files that are associated with a test.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "fileName", "in": "path", "description": "Name of the file.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestFileInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Get a file from a load test": { "$ref": "./examples/GetTestFile.json" } } }, "put": { "operationId": "LoadTestAdministration_UploadTestFile", "tags": [ "Test" ], "summary": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", "description": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", "consumes": [ "application/octet-stream" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "fileName", "in": "path", "description": "Unique name for test file with file extension like : App.jmx", "required": true, "type": "string" }, { "name": "fileType", "in": "query", "description": "File type", "required": false, "type": "string", "enum": [ "JMX_FILE", "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS" ], "x-ms-enum": { "name": "FileType", "modelAsString": true, "values": [ { "name": "JmxFile", "value": "JMX_FILE", "description": "If the file is a JMX script." }, { "name": "UserProperties", "value": "USER_PROPERTIES", "description": "If the file is a user properties file." }, { "name": "AdditionalArtifacts", "value": "ADDITIONAL_ARTIFACTS", "description": "If the file is not among any of the other supported file types." } ] } }, { "name": "body", "in": "body", "description": "The file content as application/octet-stream.", "required": true, "schema": { "type": "string", "format": "binary" } } ], "responses": { "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestFileInfo" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Upload input file for a given test name.": { "$ref": "./examples/UploadTestFile.json" } } }, "delete": { "operationId": "LoadTestAdministration_DeleteTestFile", "tags": [ "Test" ], "summary": "Delete file by the file name for a test", "description": "Delete file by the file name for a test", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "fileName", "in": "path", "description": "Name of the file.", "required": true, "type": "string" } ], "responses": { "204": { "description": "There is no content to send for this request, but the headers may be useful. " }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Delete a file from a load test": { "$ref": "./examples/DeleteTestFile.json" } } } }, "/tests/{testId}/server-metrics-config": { "get": { "operationId": "LoadTestAdministration_GetServerMetricsConfig", "tags": [ "Test" ], "summary": "List server metrics configuration for the given test.", "description": "List server metrics configuration for the given test.", "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestServerMetricsConfiguration" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "List server metrics configuration for the given test.": { "$ref": "./examples/ListTestServerMetricsConfig.json" } } }, "patch": { "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", "tags": [ "Test" ], "summary": "Configure server metrics for a test", "description": "Configure server metrics for a test", "consumes": [ "application/merge-patch+json" ], "parameters": [ { "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" }, { "name": "testId", "in": "path", "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$" }, { "name": "body", "in": "body", "description": "Server metric configuration model.", "required": true, "schema": { "$ref": "#/definitions/TestServerMetricsConfigurationUpdate" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/TestServerMetricsConfiguration" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/TestServerMetricsConfiguration" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" }, "headers": { "x-ms-error-code": { "type": "string", "description": "String error code indicating what went wrong." } } } }, "x-ms-examples": { "Add or update server metrics configuration for a load test.": { "$ref": "./examples/CreateOrUpdateTestServerMetricsConfig.json" } } } } }, "definitions": { "Aggregation": { "type": "string", "description": "Aggregation type.", "enum": [ "Average", "Count", "None", "Total", "Percentile90", "Percentile95", "Percentile99" ], "x-ms-enum": { "name": "Aggregation", "modelAsString": true, "values": [ { "name": "Average", "value": "Average", "description": "Average value." }, { "name": "Count", "value": "Count", "description": "Total count." }, { "name": "None", "value": "None", "description": "Aggregation will be average in this case." }, { "name": "Total", "value": "Total", "description": "Total sum." }, { "name": "Percentile90", "value": "Percentile90", "description": "90th percentile." }, { "name": "Percentile95", "value": "Percentile95", "description": "95th percentile." }, { "name": "Percentile99", "value": "Percentile99", "description": "99th percentile." } ] } }, "AppComponent": { "type": "object", "description": "An Azure resource object (Refer azure generic resource model :https://learn.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "properties": { "resourceId": { "type": "string", "format": "arm-id", "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", "readOnly": true }, "resourceName": { "type": "string", "description": "Azure resource name, required while creating the app component." }, "resourceType": { "type": "string", "description": "Azure resource type, required while creating the app component." }, "displayName": { "type": "string", "description": "Azure resource display name" }, "resourceGroup": { "type": "string", "description": "Resource group name of the Azure resource", "readOnly": true }, "subscriptionId": { "type": "string", "description": "Subscription Id of the Azure resource", "readOnly": true }, "kind": { "type": "string", "description": "Kind of Azure resource type" } }, "required": [ "resourceId", "resourceName", "resourceType" ] }, "AppComponentUpdate": { "type": "object", "description": "An Azure resource object (Refer azure generic resource model :https://learn.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", "properties": { "resourceName": { "type": "string", "description": "Azure resource name, required while creating the app component." }, "resourceType": { "type": "string", "description": "Azure resource type, required while creating the app component." }, "displayName": { "type": "string", "description": "Azure resource display name" }, "kind": { "type": "string", "description": "Kind of Azure resource type" } } }, "Azure.Core.Foundations.Error": { "type": "object", "description": "The error object.", "properties": { "code": { "type": "string", "description": "One of a server-defined set of error codes." }, "message": { "type": "string", "description": "A human-readable representation of the error." }, "target": { "type": "string", "description": "The target of the error." }, "details": { "type": "array", "description": "An array of details about specific errors that led to this reported error.", "items": { "$ref": "#/definitions/Azure.Core.Foundations.Error" } }, "innererror": { "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "An object containing more specific information than the current object about the error." } }, "required": [ "code", "message" ] }, "Azure.Core.Foundations.ErrorResponse": { "type": "object", "description": "A response containing error details.", "properties": { "error": { "$ref": "#/definitions/Azure.Core.Foundations.Error", "description": "The error object." } }, "required": [ "error" ] }, "Azure.Core.Foundations.InnerError": { "type": "object", "description": "An object containing more specific information about the error. As per Azure REST API guidelines - https://aka.ms/AzureRestApiGuidelines#handling-errors.", "properties": { "code": { "type": "string", "description": "One of a server-defined set of error codes." }, "innererror": { "$ref": "#/definitions/Azure.Core.Foundations.InnerError", "description": "Inner error." } } }, "CertificateMetadata": { "type": "object", "description": "Certificates metadata", "properties": { "value": { "type": "string", "description": "The value of the certificate for respective type" }, "type": { "$ref": "#/definitions/CertificateType", "description": "Type of certificate" }, "name": { "type": "string", "description": "Name of the certificate." } } }, "CertificateType": { "type": "string", "description": "Types of certificates supported.", "enum": [ "AKV_CERT_URI" ], "x-ms-enum": { "name": "CertificateType", "modelAsString": true, "values": [ { "name": "KeyVaultCertificateUri", "value": "AKV_CERT_URI", "description": "If the certificate is stored in an Azure Key Vault." } ] } }, "DimensionFilter": { "type": "object", "description": "Dimension name and values to filter", "properties": { "name": { "type": "string", "description": "The dimension name" }, "values": { "type": "array", "description": "The dimension values. Maximum values can be 20.", "items": { "type": "string" } } } }, "DimensionValue": { "type": "object", "description": "Represents a metric dimension value.", "properties": { "name": { "type": "string", "description": "The name of the dimension." }, "value": { "type": "string", "description": "The value of the dimension." } } }, "DimensionValueList": { "type": "object", "description": "Metrics dimension values.", "properties": { "value": { "type": "array", "description": "The dimension value", "items": { "type": "string" } }, "nextLink": { "type": "string", "format": "uri", "description": "Link for the next set of values in case of paginated results, if applicable." } } }, "ErrorDetails": { "type": "object", "description": "Error details if there is any failure in load test run", "properties": { "message": { "type": "string", "description": "Error details in case test run was not successfully run.", "readOnly": true } } }, "FileType": { "type": "string", "description": "Types of file supported.", "enum": [ "JMX_FILE", "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS" ], "x-ms-enum": { "name": "FileType", "modelAsString": true, "values": [ { "name": "JmxFile", "value": "JMX_FILE", "description": "If the file is a JMX script." }, { "name": "UserProperties", "value": "USER_PROPERTIES", "description": "If the file is a user properties file." }, { "name": "AdditionalArtifacts", "value": "ADDITIONAL_ARTIFACTS", "description": "If the file is not among any of the other supported file types." } ] } }, "FileValidationStatus": { "type": "string", "description": "File status.", "enum": [ "NOT_VALIDATED", "VALIDATION_SUCCESS", "VALIDATION_FAILURE", "VALIDATION_INITIATED", "VALIDATION_NOT_REQUIRED" ], "x-ms-enum": { "name": "FileValidationStatus", "modelAsString": true, "values": [ { "name": "NotValidated", "value": "NOT_VALIDATED", "description": "File is not validated." }, { "name": "ValidationSuccess", "value": "VALIDATION_SUCCESS", "description": "File is validated." }, { "name": "ValidationFailure", "value": "VALIDATION_FAILURE", "description": "File validation is failed." }, { "name": "ValidationInitiated", "value": "VALIDATION_INITIATED", "description": "File validation is in progress." }, { "name": "ValidationNotRequired", "value": "VALIDATION_NOT_REQUIRED", "description": "Validation is not required." } ] } }, "LoadTestConfiguration": { "type": "object", "description": "Configurations for the load test.", "properties": { "engineInstances": { "type": "integer", "format": "int32", "description": "The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test." }, "splitAllCSVs": { "type": "boolean", "description": "If false, Azure Load Testing copies and processes your input files unmodified\nacross all test engine instances. If true, Azure Load Testing splits the CSV\ninput data evenly across all engine instances. If you provide multiple CSV\nfiles, each file will be split evenly.", "default": false }, "quickStartTest": { "type": "boolean", "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is\nnot required to upload.", "default": false }, "optionalLoadTestConfig": { "$ref": "#/definitions/OptionalLoadTestConfiguration", "description": "Configuration for quick load test" } } }, "MetricAvailability": { "type": "object", "description": "Metric availability specifies the time grain (aggregation interval or frequency)", "properties": { "timeGrain": { "$ref": "#/definitions/TimeGrain", "description": "The time grain specifies the aggregation interval for the metric. Expressed as\na duration 'PT1M', 'PT1H', etc." } } }, "MetricDefinition": { "type": "object", "description": "Metric definition", "properties": { "dimensions": { "type": "array", "description": "List of dimensions", "items": { "$ref": "#/definitions/NameAndDescription" } }, "description": { "type": "string", "description": "The metric description" }, "name": { "type": "string", "description": "The metric name" }, "namespace": { "type": "string", "description": "The namespace the metric belongs to." }, "primaryAggregationType": { "$ref": "#/definitions/Aggregation", "description": "The primary aggregation type value defining how to use the values for display." }, "supportedAggregationTypes": { "type": "array", "description": "The collection of what all aggregation types are supported.", "items": { "type": "string" } }, "unit": { "$ref": "#/definitions/MetricUnit", "description": "The unit of the metric." }, "metricAvailabilities": { "type": "array", "description": "Metric availability specifies the time grain (aggregation interval or\nfrequency).", "items": { "$ref": "#/definitions/MetricAvailability" } } } }, "MetricDefinitionCollection": { "type": "object", "description": "Represents collection of metric definitions.", "properties": { "value": { "type": "array", "description": "the values for the metric definitions.", "items": { "$ref": "#/definitions/MetricDefinition" } } }, "required": [ "value" ] }, "MetricNamespace": { "type": "object", "description": "Metric namespace class specifies the metadata for a metric namespace.", "properties": { "description": { "type": "string", "description": "The namespace description." }, "name": { "type": "string", "description": "The metric namespace name." } } }, "MetricNamespaceCollection": { "type": "object", "description": "Represents collection of metric namespaces.", "properties": { "value": { "type": "array", "description": "The values for the metric namespaces.", "items": { "$ref": "#/definitions/MetricNamespace" } } }, "required": [ "value" ] }, "MetricRequestPayload": { "type": "object", "description": "Filters to fetch the set of metric.", "properties": { "filters": { "type": "array", "description": "Get metrics for specific dimension values. Example: Metric contains dimension\nlike SamplerName, Error. To retrieve all the time series data where SamplerName\nis equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be\n{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"}", "items": { "$ref": "#/definitions/DimensionFilter" } } } }, "MetricUnit": { "type": "string", "description": "Metric unit.", "enum": [ "NotSpecified", "Percent", "Count", "Seconds", "Milliseconds", "Bytes", "BytesPerSecond", "CountPerSecond" ], "x-ms-enum": { "name": "MetricUnit", "modelAsString": true, "values": [ { "name": "NotSpecified", "value": "NotSpecified", "description": "No unit specified." }, { "name": "Percent", "value": "Percent", "description": "Percentage." }, { "name": "Count", "value": "Count", "description": "Value count." }, { "name": "Seconds", "value": "Seconds", "description": "Seconds." }, { "name": "Milliseconds", "value": "Milliseconds", "description": "Milliseconds" }, { "name": "Bytes", "value": "Bytes", "description": "Bytes" }, { "name": "BytesPerSecond", "value": "BytesPerSecond", "description": "Bytes per second" }, { "name": "CountPerSecond", "value": "CountPerSecond", "description": "Count per second" } ] } }, "MetricValue": { "type": "object", "description": "Represents a metric value.", "properties": { "timestamp": { "type": "string", "format": "date-time", "description": "The timestamp for the metric value in RFC 3339 format." }, "value": { "type": "number", "format": "double", "description": "The metric value." } } }, "Metrics": { "type": "object", "description": "The response to a metrics query.", "properties": { "value": { "type": "array", "description": "The TimeSeriesElement items on this page", "items": { "$ref": "#/definitions/TimeSeriesElement" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "NameAndDescription": { "type": "object", "description": "The name and description", "properties": { "description": { "type": "string", "description": "The description" }, "name": { "type": "string", "description": "The name" } } }, "OptionalLoadTestConfiguration": { "type": "object", "description": "Configuration for quick load test", "properties": { "endpointUrl": { "type": "string", "description": "Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login" }, "virtualUsers": { "type": "integer", "format": "int32", "description": "No of concurrent virtual users." }, "rampUpTime": { "type": "integer", "format": "int32", "description": "Ramp up time in seconds." }, "duration": { "type": "integer", "format": "int32", "description": "Test run duration in seconds." } } }, "PFMetrics": { "type": "string", "description": "Metrics for pass/fail criteria.", "enum": [ "response_time_ms", "latency", "error", "requests", "requests_per_sec" ], "x-ms-enum": { "name": "PFMetrics", "modelAsString": true, "values": [ { "name": "ResponseTimeInMilliseconds", "value": "response_time_ms", "description": "Pass fail criteria for response time metric in milliseconds." }, { "name": "Latency", "value": "latency", "description": "Pass fail criteria for latency metric in milliseconds." }, { "name": "Error", "value": "error", "description": "Pass fail criteria for error metric." }, { "name": "Requests", "value": "requests", "description": "Pass fail criteria for total requests." }, { "name": "RequestsPerSecond", "value": "requests_per_sec", "description": "Pass fail criteria for request per second." } ] } }, "PagedTest": { "type": "object", "description": "Paged collection of Test items", "properties": { "value": { "type": "array", "description": "The Test items on this page", "items": { "$ref": "#/definitions/Test" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "PagedTestFileInfo": { "type": "object", "description": "Paged collection of TestFileInfo items", "properties": { "value": { "type": "array", "description": "The TestFileInfo items on this page", "items": { "$ref": "#/definitions/TestFileInfo" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "PagedTestRun": { "type": "object", "description": "Paged collection of TestRun items", "properties": { "value": { "type": "array", "description": "The TestRun items on this page", "items": { "$ref": "#/definitions/TestRun" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "PassFailAggregationFunction": { "type": "string", "description": "Aggregation functions for pass/fail criteria.", "enum": [ "count", "percentage", "avg", "p50", "p90", "p95", "p99", "min", "max" ], "x-ms-enum": { "name": "PassFailAggregationFunction", "modelAsString": true, "values": [ { "name": "Count", "value": "count", "description": "Criteria applies for count value." }, { "name": "Percentage", "value": "percentage", "description": "Criteria applies for given percentage value." }, { "name": "Average", "value": "avg", "description": "Criteria applies for avg value." }, { "name": "Percentile50", "value": "p50", "description": "Criteria applies for 50th percentile value." }, { "name": "Percentile90", "value": "p90", "description": "Criteria applies for 90th percentile value." }, { "name": "Percentile95", "value": "p95", "description": "Criteria applies for 95th percentile value." }, { "name": "Percentile99", "value": "p99", "description": "Criteria applies for 99th percentile value." }, { "name": "Minimum", "value": "min", "description": "Criteria applies for minimum value." }, { "name": "Maximum", "value": "max", "description": "Criteria applies for maximum value." } ] } }, "PassFailCriteria": { "type": "object", "description": "Pass fail criteria for a test.", "properties": { "passFailMetrics": { "type": "object", "description": "Map of id and pass fail metrics { id : pass fail metrics }.", "additionalProperties": { "$ref": "#/definitions/PassFailMetric" } } } }, "PassFailMetric": { "type": "object", "description": "Pass fail metric", "properties": { "clientMetric": { "$ref": "#/definitions/PFMetrics", "description": "The client metric on which the criteria should be applied." }, "aggregate": { "$ref": "#/definitions/PassFailAggregationFunction", "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" }, "condition": { "type": "string", "description": "The comparison operator. Supported types ‘>’, ‘<’ " }, "requestName": { "type": "string", "description": "Request name for which the Pass fail criteria has to be applied " }, "value": { "type": "number", "format": "double", "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 ,\n100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms." }, "action": { "type": "string", "description": "Action taken after the threshold is met. Default is ‘continue’.", "default": "continue", "enum": [ "continue", "stop" ], "x-ms-enum": { "name": "PassFailAction", "modelAsString": true, "values": [ { "name": "continue", "value": "continue", "description": "Test will continue to run even if pass fail metric criteria metric gets failed." }, { "name": "stop", "value": "stop", "description": "Test run will stop if pass fail criteria metric is not passed." } ] } }, "actualValue": { "type": "number", "format": "double", "description": "The actual value of the client metric for the test run.", "readOnly": true }, "result": { "$ref": "#/definitions/PassFailResult", "description": "Outcome of the test run.", "readOnly": true } } }, "PassFailResult": { "type": "string", "description": "Pass/fail criteria result.", "enum": [ "passed", "undetermined", "failed" ], "x-ms-enum": { "name": "PassFailResult", "modelAsString": true, "values": [ { "name": "passed", "value": "passed", "description": "Given pass fail criteria metric has passed." }, { "name": "undetermined", "value": "undetermined", "description": "Given pass fail criteria metric couldn't determine." }, { "name": "failed", "value": "failed", "description": "Given pass fail criteria metric has failed." } ] } }, "PassFailTestResult": { "type": "string", "description": "Test result based on pass/fail criteria.", "enum": [ "PASSED", "NOT_APPLICABLE", "FAILED" ], "x-ms-enum": { "name": "PassFailTestResult", "modelAsString": true, "values": [ { "name": "PASSED", "value": "PASSED", "description": "Pass/fail criteria has passed." }, { "name": "NOT_APPLICABLE", "value": "NOT_APPLICABLE", "description": "Pass/fail criteria is not applicable." }, { "name": "FAILED", "value": "FAILED", "description": "Pass/fail criteria has failed." } ] } }, "ResourceMetric": { "type": "object", "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://learn.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", "properties": { "id": { "type": "string", "description": "Unique name for metric.", "readOnly": true }, "resourceId": { "type": "string", "format": "arm-id", "description": "Azure resource id." }, "metricNamespace": { "type": "string", "description": "Metric name space." }, "displayDescription": { "type": "string", "description": "Metric description." }, "name": { "type": "string", "description": "The invariant value of metric name" }, "aggregation": { "type": "string", "description": "Metric aggregation." }, "unit": { "type": "string", "description": "Metric unit." }, "resourceType": { "type": "string", "description": "Azure resource type." } }, "required": [ "resourceId", "metricNamespace", "name", "aggregation", "resourceType" ] }, "ResourceMetricUpdate": { "type": "object", "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://learn.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", "properties": { "resourceId": { "type": "string", "format": "arm-id", "description": "Azure resource id." }, "metricNamespace": { "type": "string", "description": "Metric name space." }, "displayDescription": { "type": "string", "description": "Metric description." }, "name": { "type": "string", "description": "The invariant value of metric name" }, "aggregation": { "type": "string", "description": "Metric aggregation." }, "unit": { "type": "string", "description": "Metric unit." }, "resourceType": { "type": "string", "description": "Azure resource type." } } }, "Secret": { "type": "object", "description": "Secret", "properties": { "value": { "type": "string", "description": "The value of the secret for the respective type" }, "type": { "$ref": "#/definitions/SecretType", "description": "Type of secret" } } }, "SecretType": { "type": "string", "description": "Types of secrets supported.", "enum": [ "AKV_SECRET_URI", "SECRET_VALUE" ], "x-ms-enum": { "name": "SecretType", "modelAsString": true, "values": [ { "name": "KeyVaultSecretUri", "value": "AKV_SECRET_URI", "description": "If the secret is stored in an Azure Key Vault." }, { "name": "SecretValue", "value": "SECRET_VALUE", "description": "If the secret value provided as plain text." } ] } }, "Test": { "type": "object", "description": "Load test model.", "properties": { "passFailCriteria": { "$ref": "#/definitions/PassFailCriteria", "description": "Pass fail criteria for a test." }, "secrets": { "type": "object", "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { "$ref": "#/definitions/CertificateMetadata", "description": "Certificates metadata." }, "environmentVariables": { "type": "object", "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "loadTestConfiguration": { "$ref": "#/definitions/LoadTestConfiguration", "description": "The load test configuration." }, "inputArtifacts": { "$ref": "#/definitions/TestInputArtifacts", "description": "The input artifacts for the test.", "readOnly": true }, "testId": { "type": "string", "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$", "readOnly": true }, "description": { "type": "string", "description": "The test description.", "maxLength": 100 }, "displayName": { "type": "string", "description": "Display name of a test.", "minLength": 2, "maxLength": 50 }, "subnetId": { "type": "string", "description": "Subnet ID on which the load test instances should run." }, "keyvaultReferenceIdentityType": { "type": "string", "description": "Type of the managed identity referencing the Key vault." }, "keyvaultReferenceIdentityId": { "type": "string", "description": "Resource Id of the managed identity referencing the Key vault." }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } }, "required": [ "testId" ] }, "TestAppComponents": { "type": "object", "description": "Test app components", "properties": { "components": { "type": "object", "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", "additionalProperties": { "$ref": "#/definitions/AppComponent" } }, "testId": { "type": "string", "description": "Test identifier", "readOnly": true }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } }, "required": [ "components" ] }, "TestAppComponentsUpdate": { "type": "object", "description": "Test app components", "properties": { "components": { "type": "object", "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", "additionalProperties": { "$ref": "#/definitions/AppComponentUpdate" } } } }, "TestCreateOrUpdate": { "type": "object", "description": "Load test model.", "properties": { "passFailCriteria": { "$ref": "#/definitions/PassFailCriteria", "description": "Pass fail criteria for a test." }, "secrets": { "type": "object", "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { "$ref": "#/definitions/CertificateMetadata", "description": "Certificates metadata." }, "environmentVariables": { "type": "object", "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "loadTestConfiguration": { "$ref": "#/definitions/LoadTestConfiguration", "description": "The load test configuration." }, "description": { "type": "string", "description": "The test description.", "maxLength": 100 }, "displayName": { "type": "string", "description": "Display name of a test.", "minLength": 2, "maxLength": 50 }, "subnetId": { "type": "string", "description": "Subnet ID on which the load test instances should run." }, "keyvaultReferenceIdentityType": { "type": "string", "description": "Type of the managed identity referencing the Key vault." }, "keyvaultReferenceIdentityId": { "type": "string", "description": "Resource Id of the managed identity referencing the Key vault." } } }, "TestFileInfo": { "type": "object", "description": "Test file info.", "properties": { "fileName": { "type": "string", "description": "Name of the file." }, "url": { "type": "string", "format": "uri", "description": "File URL.", "readOnly": true }, "fileType": { "$ref": "#/definitions/FileType", "description": "File type", "readOnly": true }, "expireDateTime": { "type": "string", "format": "date-time", "description": "Expiry time of the file (RFC 3339 literal format)", "readOnly": true }, "validationStatus": { "$ref": "#/definitions/FileValidationStatus", "description": "Validation status of the file", "readOnly": true }, "validationFailureDetails": { "type": "string", "description": "Validation failure error details", "readOnly": true } }, "required": [ "fileName" ] }, "TestInputArtifacts": { "type": "object", "description": "The input artifacts for the test.", "properties": { "configFileInfo": { "$ref": "#/definitions/TestFileInfo", "description": "The load test YAML file that contains the the test configuration" }, "testScriptFileInfo": { "$ref": "#/definitions/TestFileInfo", "description": "The test script file for the test run" }, "userPropFileInfo": { "$ref": "#/definitions/TestFileInfo", "description": "The user properties file" }, "inputArtifactsZipFileInfo": { "$ref": "#/definitions/TestFileInfo", "description": "The zip file with all input artifacts" }, "additionalFileInfo": { "type": "array", "description": "Additional supported files for the test run", "items": { "$ref": "#/definitions/TestFileInfo" }, "readOnly": true } } }, "TestRun": { "type": "object", "description": "Load test run model", "properties": { "testRunId": { "type": "string", "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$", "readOnly": true }, "passFailCriteria": { "$ref": "#/definitions/PassFailCriteria", "description": "Pass fail criteria for a test." }, "secrets": { "type": "object", "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { "$ref": "#/definitions/CertificateMetadata", "description": "Certificates metadata" }, "environmentVariables": { "type": "object", "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "errorDetails": { "type": "array", "description": "Error details if there is any failure in load test run", "items": { "$ref": "#/definitions/ErrorDetails" }, "readOnly": true }, "testRunStatistics": { "type": "object", "description": "Test run statistics. Key is the sampler name and value is the set of statistics for performance metrics like response time, throughput, etc. from the load test run.\nThe sampler name is the same as the name mentioned in the test script.\nSampler name \"Total\" represents the aggregated statistics of all the samplers.", "additionalProperties": { "$ref": "#/definitions/TestRunStatistics" }, "readOnly": true }, "loadTestConfiguration": { "$ref": "#/definitions/LoadTestConfiguration", "description": "The load test configuration.", "readOnly": true }, "testArtifacts": { "$ref": "#/definitions/TestRunArtifacts", "description": "Collection of test run artifacts", "readOnly": true }, "testResult": { "$ref": "#/definitions/PassFailTestResult", "description": "Test result for pass/Fail criteria used during the test run.", "readOnly": true }, "virtualUsers": { "type": "integer", "format": "int32", "description": "Number of virtual users, for which test has been run.", "readOnly": true }, "displayName": { "type": "string", "description": "Display name of a testRun.", "minLength": 2, "maxLength": 50 }, "testId": { "type": "string", "description": "Associated test Id.", "minLength": 2, "maxLength": 50 }, "description": { "type": "string", "description": "The test run description.", "maxLength": 100 }, "status": { "$ref": "#/definitions/TestRunStatus", "description": "The test run status.", "readOnly": true }, "startDateTime": { "type": "string", "format": "date-time", "description": "The test run start DateTime(RFC 3339 literal format).", "readOnly": true }, "endDateTime": { "type": "string", "format": "date-time", "description": "The test run end DateTime(RFC 3339 literal format).", "readOnly": true }, "executedDateTime": { "type": "string", "format": "date-time", "description": "Test run initiated time. This is legacy, new developments should use createdDateTime.", "readOnly": true }, "portalUrl": { "type": "string", "description": "Portal url.", "readOnly": true }, "duration": { "type": "integer", "format": "int64", "description": "Test run duration in milliseconds.", "readOnly": true }, "subnetId": { "type": "string", "description": "Subnet ID on which the load test instances should run.", "readOnly": true }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } }, "required": [ "testRunId" ] }, "TestRunAppComponents": { "type": "object", "description": "Test run app component", "properties": { "components": { "type": "object", "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", "additionalProperties": { "$ref": "#/definitions/AppComponent" } }, "testRunId": { "type": "string", "description": "Test run identifier", "readOnly": true }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } }, "required": [ "components" ] }, "TestRunAppComponentsUpdate": { "type": "object", "description": "Test run app component", "properties": { "components": { "type": "object", "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", "additionalProperties": { "$ref": "#/definitions/AppComponentUpdate" } } } }, "TestRunArtifacts": { "type": "object", "description": "Collection of test run artifacts", "properties": { "inputArtifacts": { "$ref": "#/definitions/TestRunInputArtifacts", "description": "The input artifacts for the test run.", "readOnly": true }, "outputArtifacts": { "$ref": "#/definitions/TestRunOutputArtifacts", "description": "The output artifacts for the test run." } } }, "TestRunCreateOrUpdate": { "type": "object", "description": "Load test run model", "properties": { "passFailCriteria": { "$ref": "#/definitions/PassFailCriteria", "description": "Pass fail criteria for a test." }, "secrets": { "type": "object", "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", "additionalProperties": { "$ref": "#/definitions/Secret" } }, "certificate": { "$ref": "#/definitions/CertificateMetadata", "description": "Certificates metadata" }, "environmentVariables": { "type": "object", "description": "Environment variables which are defined as a set of pairs.", "additionalProperties": { "type": "string" } }, "displayName": { "type": "string", "description": "Display name of a testRun.", "minLength": 2, "maxLength": 50 }, "testId": { "type": "string", "description": "Associated test Id.", "minLength": 2, "maxLength": 50 }, "description": { "type": "string", "description": "The test run description.", "maxLength": 100 } } }, "TestRunFileInfo": { "type": "object", "description": "Test run file info.", "properties": { "fileName": { "type": "string", "description": "Name of the file." }, "url": { "type": "string", "format": "uri", "description": "File URL.", "readOnly": true }, "fileType": { "$ref": "#/definitions/FileType", "description": "File type", "readOnly": true }, "expireDateTime": { "type": "string", "format": "date-time", "description": "Expiry time of the file (RFC 3339 literal format)", "readOnly": true }, "validationStatus": { "$ref": "#/definitions/FileValidationStatus", "description": "Validation status of the file", "readOnly": true }, "validationFailureDetails": { "type": "string", "description": "Validation failure error details", "readOnly": true } }, "required": [ "fileName" ] }, "TestRunInputArtifacts": { "type": "object", "description": "The input artifacts for the test run.", "properties": { "configFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The load test YAML file that contains the the test configuration" }, "testScriptFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The test script file for the test run" }, "userPropFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The user properties file" }, "inputArtifactsZipFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The zip file for all input artifacts" }, "additionalFileInfo": { "type": "array", "description": "Additional supported files for the test run", "items": { "$ref": "#/definitions/TestRunFileInfo" }, "readOnly": true } } }, "TestRunOutputArtifacts": { "type": "object", "description": "The output artifacts for the test run.", "properties": { "resultFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The test run results file" }, "logsFileInfo": { "$ref": "#/definitions/TestRunFileInfo", "description": "The test run report with metrics" } } }, "TestRunServerMetricsConfiguration": { "type": "object", "description": "Test run server metrics configuration", "properties": { "testRunId": { "type": "string", "description": "Test run identifier", "readOnly": true }, "metrics": { "type": "object", "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://learn.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", "additionalProperties": { "$ref": "#/definitions/ResourceMetric" } }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } } }, "TestRunStatistics": { "type": "object", "description": "Test run statistics.", "properties": { "transaction": { "type": "string", "description": "Transaction name.", "readOnly": true }, "sampleCount": { "type": "number", "format": "double", "description": "Sampler count.", "readOnly": true }, "errorCount": { "type": "number", "format": "double", "description": "Error count.", "readOnly": true }, "errorPct": { "type": "number", "format": "double", "description": "Error percentage.", "readOnly": true }, "meanResTime": { "type": "number", "format": "double", "description": "Mean response time.", "readOnly": true }, "medianResTime": { "type": "number", "format": "double", "description": "Median response time.", "readOnly": true }, "maxResTime": { "type": "number", "format": "double", "description": "Max response time.", "readOnly": true }, "minResTime": { "type": "number", "format": "double", "description": "Minimum response time.", "readOnly": true }, "pct1ResTime": { "type": "number", "format": "double", "description": "90 percentile response time.", "readOnly": true }, "pct2ResTime": { "type": "number", "format": "double", "description": "95 percentile response time.", "readOnly": true }, "pct3ResTime": { "type": "number", "format": "double", "description": "99 percentile response time.", "readOnly": true }, "throughput": { "type": "number", "format": "double", "description": "Throughput.", "readOnly": true }, "receivedKBytesPerSec": { "type": "number", "format": "double", "description": "Received network bytes.", "readOnly": true }, "sentKBytesPerSec": { "type": "number", "format": "double", "description": "Send network bytes.", "readOnly": true } } }, "TestRunStatus": { "type": "string", "description": "Test run status.", "enum": [ "ACCEPTED", "NOTSTARTED", "PROVISIONING", "PROVISIONED", "CONFIGURING", "CONFIGURED", "EXECUTING", "EXECUTED", "DEPROVISIONING", "DEPROVISIONED", "DONE", "CANCELLING", "CANCELLED", "FAILED", "VALIDATION_SUCCESS", "VALIDATION_FAILURE" ], "x-ms-enum": { "name": "TestRunStatus", "modelAsString": true, "values": [ { "name": "Accepted", "value": "ACCEPTED", "description": "Test run request is accepted." }, { "name": "NotStarted", "value": "NOTSTARTED", "description": "Test run is not yet started." }, { "name": "Provisioning", "value": "PROVISIONING", "description": "Test run is provisioning." }, { "name": "Provisioned", "value": "PROVISIONED", "description": "Test run is provisioned." }, { "name": "Configuring", "value": "CONFIGURING", "description": "Test run is getting configured." }, { "name": "Configured", "value": "CONFIGURED", "description": "Test run configuration is done." }, { "name": "Executing", "value": "EXECUTING", "description": "Test run has started executing." }, { "name": "Executed", "value": "EXECUTED", "description": "Test run execution is completed." }, { "name": "Deprovisioning", "value": "DEPROVISIONING", "description": "Test run is getting deprovisioned." }, { "name": "Deprovisioned", "value": "DEPROVISIONED", "description": "Test run is deprovisioned." }, { "name": "Done", "value": "DONE", "description": "Test run is completed." }, { "name": "Cancelling", "value": "CANCELLING", "description": "Test run is being cancelled." }, { "name": "Cancelled", "value": "CANCELLED", "description": "Test run request is cancelled." }, { "name": "Failed", "value": "FAILED", "description": "Test run request is failed." }, { "name": "ValidationSuccess", "value": "VALIDATION_SUCCESS", "description": "Test run JMX file is validated." }, { "name": "ValidationFailure", "value": "VALIDATION_FAILURE", "description": "Test run JMX file validation is failed." } ] } }, "TestServerMetricsConfiguration": { "type": "object", "description": "Test server metrics configuration", "properties": { "testId": { "type": "string", "description": "Test identifier", "readOnly": true }, "metrics": { "type": "object", "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://learn.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", "additionalProperties": { "$ref": "#/definitions/ResourceMetric" } }, "createdDateTime": { "type": "string", "format": "date-time", "description": "The creation datetime(RFC 3339 literal format).", "readOnly": true }, "createdBy": { "type": "string", "description": "The user that created.", "readOnly": true }, "lastModifiedDateTime": { "type": "string", "format": "date-time", "description": "The last Modified datetime(RFC 3339 literal format).", "readOnly": true }, "lastModifiedBy": { "type": "string", "description": "The user that last modified.", "readOnly": true } }, "required": [ "metrics" ] }, "TestServerMetricsConfigurationUpdate": { "type": "object", "description": "Test server metrics configuration", "properties": { "metrics": { "type": "object", "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://learn.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", "additionalProperties": { "$ref": "#/definitions/ResourceMetricUpdate" } } } }, "TimeGrain": { "type": "string", "description": "Time Grain", "enum": [ "PT5S", "PT10S", "PT1M", "PT5M", "PT1H" ], "x-ms-enum": { "name": "TimeGrain", "modelAsString": true, "values": [ { "name": "PT5S", "value": "PT5S", "description": "5 seconds, available only if test run duration is less than 10 minutes." }, { "name": "PT10S", "value": "PT10S", "description": "10 seconds, available only if test run duration is less than 10 minutes." }, { "name": "PT1M", "value": "PT1M", "description": "1 minute" }, { "name": "PT5M", "value": "PT5M", "description": "5 minutes, available only if test run duration is greater than 1 minute." }, { "name": "PT1H", "value": "PT1H", "description": "1 hour, available only if test run duration is greater than 1 minute." } ] } }, "TimeSeriesElement": { "type": "object", "description": "The time series returned when a data query is performed.", "properties": { "data": { "type": "array", "description": "An array of data points representing the metric values.", "items": { "$ref": "#/definitions/MetricValue" } }, "dimensionValues": { "type": "array", "description": "The dimension values ", "items": { "$ref": "#/definitions/DimensionValue" } } } } }, "parameters": { "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", "description": "The API version to use for this operation.", "required": true, "type": "string", "minLength": 1, "x-ms-parameter-location": "method", "x-ms-client-name": "apiVersion" }, "ListTestQueryParams.lastModifiedEndTime": { "name": "lastModifiedEndTime", "in": "query", "description": "End DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", "required": false, "type": "string", "format": "date-time", "x-ms-parameter-location": "method" }, "ListTestQueryParams.lastModifiedStartTime": { "name": "lastModifiedStartTime", "in": "query", "description": "Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", "required": false, "type": "string", "format": "date-time", "x-ms-parameter-location": "method" }, "ListTestQueryParams.maxpagesize": { "name": "maxpagesize", "in": "query", "description": "Number of results in response.", "required": false, "type": "integer", "format": "int32", "default": 50, "x-ms-parameter-location": "method" }, "ListTestQueryParams.orderby": { "name": "orderby", "in": "query", "description": "Sort on the supported fields in (field asc/desc) format. eg:\nlastModifiedDateTime asc. Supported fields - lastModifiedDateTime", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "ListTestQueryParams.search": { "name": "search", "in": "query", "description": "Prefix based, case sensitive search on searchable fields - displayName,\ncreatedBy. For example, to search for a test, with display name is Login Test,\nthe search parameter can be Login.", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.executionFrom": { "name": "executionFrom", "in": "query", "description": "Start DateTime(RFC 3339 literal format) of test-run execution time filter range.", "required": false, "type": "string", "format": "date-time", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.executionTo": { "name": "executionTo", "in": "query", "description": "End DateTime(RFC 3339 literal format) of test-run execution time filter range.", "required": false, "type": "string", "format": "date-time", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.maxpagesize": { "name": "maxpagesize", "in": "query", "description": "Number of results in response.", "required": false, "type": "integer", "format": "int32", "default": 50, "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.orderby": { "name": "orderby", "in": "query", "description": "Sort on the supported fields in (field asc/desc) format. eg: createdDateTime asc.\nSupported fields - createdDateTime, executedDateTime (legacy)", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.search": { "name": "search", "in": "query", "description": "Prefix based, case sensitive search on searchable fields - description,\nexecutedUser. For example, to search for a test run, with description 500 VUs,\nthe search parameter can be 500.", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.status": { "name": "status", "in": "query", "description": "Comma separated list of test run status.", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "ListTestRunQueryParams.testId": { "name": "testId", "in": "query", "description": "Unique name of an existing load test.", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "MetricDimensionsRequest.interval": { "name": "interval", "in": "query", "description": "The interval (i.e. timegrain) of the query.", "required": false, "type": "string", "default": "PT1M", "enum": [ "PT5S", "PT10S", "PT1M", "PT5M", "PT1H" ], "x-ms-enum": { "name": "TimeGrain", "modelAsString": true, "values": [ { "name": "PT5S", "value": "PT5S", "description": "5 seconds, available only if test run duration is less than 10 minutes." }, { "name": "PT10S", "value": "PT10S", "description": "10 seconds, available only if test run duration is less than 10 minutes." }, { "name": "PT1M", "value": "PT1M", "description": "1 minute" }, { "name": "PT5M", "value": "PT5M", "description": "5 minutes, available only if test run duration is greater than 1 minute." }, { "name": "PT1H", "value": "PT1H", "description": "1 hour, available only if test run duration is greater than 1 minute." } ] }, "x-ms-parameter-location": "method" }, "MetricDimensionsRequest.metricNamespace": { "name": "metricNamespace", "in": "query", "description": "Metric namespace to query metric definitions for.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "MetricDimensionsRequest.metricname": { "name": "metricname", "in": "query", "description": "Metric name", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "MetricDimensionsRequest.timespan": { "name": "timespan", "in": "query", "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, "OldTestRunIdQueryParam": { "name": "oldTestRunId", "in": "query", "description": "Existing test run identifier that should be rerun, if this is provided, the\ntest will run with the JMX file, configuration and app components from the\nexisting test run. You can override the configuration values for new test run\nin the request body.", "required": false, "type": "string", "x-ms-parameter-location": "method" }, "TestRunIdParam": { "name": "testRunId", "in": "path", "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", "required": true, "type": "string", "minLength": 2, "maxLength": 50, "pattern": "^[a-z0-9_-]*$", "x-ms-parameter-location": "method" } } }